No description
First pass at the signature macOS Dock effect — the icon under the pointer grows, adjacent icons stay at base size. Full fisheye (smooth bell-curve scaling on neighbors) can be a later iteration. Changes in cosmic-app-list/src/app.rs: - CosmicAppList gains a hovered_dock_item: Option<DockItemId> auto-initialized to None via #[derive(Default)]. - New Message::DockItemHover(Option<DockItemId>) handled in update() by just writing the field; view() then reads it to decide scale. - DockItem::as_icon gains an icon_scale: f32 parameter. Inside it the cosmic_icon width/height = (base_icon_size * icon_scale) clamped to u16; indicator dot and other surrounding layout stay at base size so only the icon visually bulges. - New App::icon_scale_for(id) helper: 1.3 if Some(id) == hovered, 1.0 otherwise. Single place to tune the magnification factor. - The two main dock rows (favorites + filtered_active_list) wrap their rendered applet_tooltip in widget::mouse_area with on_enter(DockItemHover(Some(id))) / on_exit(DockItemHover(None)) and call icon_scale_for before rendering. - The three remaining as_icon call sites (DnD preview, favorites overflow popup, active overflow popup) pass icon_scale = 1.0 — hover magnification on those surfaces would look jittery and isn't needed anyway. Build: cargo build --release -p cosmic-app-list (≈ 7s). Binary installed at /usr/local/bin/cosmic-app-list, backup kept as .pre-magnification. |
||
|---|---|---|
| .github | ||
| .zed | ||
| cosmic-app-list | ||
| cosmic-applet-a11y | ||
| cosmic-applet-audio | ||
| cosmic-applet-battery | ||
| cosmic-applet-bluetooth | ||
| cosmic-applet-input-sources | ||
| cosmic-applet-minimize | ||
| cosmic-applet-network | ||
| cosmic-applet-notifications | ||
| cosmic-applet-power | ||
| cosmic-applet-status-area | ||
| cosmic-applet-tiling | ||
| cosmic-applet-time | ||
| cosmic-applet-workspaces | ||
| cosmic-applets | ||
| cosmic-applets-config | ||
| cosmic-panel-app-button/data | ||
| cosmic-panel-button | ||
| cosmic-panel-launcher-button/data | ||
| cosmic-panel-workspaces-button/data | ||
| data | ||
| debian | ||
| i18n | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| flake.lock | ||
| flake.nix | ||
| justfile | ||
| LICENSE | ||
| rust-toolchain.toml | ||