Skip to content

Feature: Dock icon magnification and spacing setting - #3189

Open
Y-Akamirsky wants to merge 4 commits into
AvengeMedia:masterfrom
Y-Akamirsky:master
Open

Feature: Dock icon magnification and spacing setting#3189
Y-Akamirsky wants to merge 4 commits into
AvengeMedia:masterfrom
Y-Akamirsky:master

Conversation

@Y-Akamirsky

Copy link
Copy Markdown

Description

I wouldn't exactly say I want to merge my PR - think of this code more as just an idea. If you do want to pull it in, make sure to double-check everything and fix the bugs, as I'm pretty doubtful about its quality.

Changes:

  • Magnification effect (Modules/Dock/DockApps.qml): Icons under the cursor smoothly scale up, with the dock itself expanding to follow the pointer. Implemented via a HoverHandler-driven globalMagFactor, a cosine-based falloff (magFactor/magSpread), and a visualWrapper that scales each icon from the dock edge. Maintains the existing 1.2× layout metrics and spring-based drag shifting.
  • Settings (Common/SettingsData.qml, Common/settings/SettingsSpec.js, Modules/Settings/DockTab.qml):
  • New "Magnification" card: enable toggle, Magnification Amount (capped at 170%), and Effect Spread.
  • New App Spacing control (capped at 10px) replacing the previously hardcoded inter-icon gap (layoutFlow.spacing).
  • New keys registered in the settings schema so they persist correctly.
  • Tooltip fix (Modules/Dock/DockBody.qml):
  • Tooltips now position above the fully magnified icon using the configured Magnification Amount, so they never overlap icons — including on first hover before the scale animation completes.
    Defaults: All new behavior is off by default (Magnification disabled, Amount 160%, Spread 3.8× icon size, App Spacing 4px).

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that changes existing behavior)
  • Refactor / internal cleanup
  • Documentation
  • Other

Related issues

Screenshots / video

dock-magnification-pr

Checklist

  • My code follows the conventions in CONTRIBUTING.md
  • I have tested my changes locally
  • New user-facing strings are wrapped in I18n.tr() with translator context, reusing existing terms where possible
  • Go changes: ran make fmt, added/updated tests, make test passes, and go mod tidy is clean
  • QML changes: ran make lint-qml with no new warnings
  • I have opened a corresponding pull request in dlx-docs to document any new behaviors: https://github.com/AvengeMedia/DankLinux-Docs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant