Commit graph

14 commits

Author SHA1 Message Date
e72165ec98 Unify convergence dock geometry and add invariant test
Introduce shared dock height/reveal constants and use them in folio and taskpanel to keep overlay and exclusion zone aligned. Keep dock backing stationary while only content slides, and add a CTest invariant script to prevent regressions.
2026-05-04 11:43:41 +02:00
84a6fa8054 Show context menu on desktop right-click in convergence mode
Right-clicking the desktop or dock background opened the mobile
settings overlay, which is a long-press gesture for touchscreens.
In convergence mode show a popup menu instead with three items:
Desktop and Wallpaper, Add Widgets, and Configure Desktop.

Long-press still opens the settings overlay on all form factors.
2026-05-04 11:43:41 +02:00
7fa2c20ab4 Open app drawer over windows in convergence mode
Drawer is inside the homescreen, which sits behind windows.
Home button minimized everything to reach it. Render it in
a LayerTop window instead and skip the blanket minimizeAll
in the D-Bus handler.
2026-04-15 10:24:12 +02:00
8c56409f1c Add pin-to-dock for running apps in convergence mode
Right-click a running task icon to pin the app to the dock
favourites bar. Pinned apps show a "Remove from Dock" action.

The dock overlay renders as a LayerTop window so context menus
and the dock itself stay above application windows. Menus use
popupType Window to avoid clipping inside the narrow dock
surface.
2026-04-11 09:42:21 +02:00
55b985bc89 Exclude dock area from drawer dismiss overlay
The click-to-dismiss overlay for the app drawer popup
covered the dock, intercepting taps on dock icons. Add a
bottom margin equal to the dock height in convergence mode
so dock icons remain interactive.
2026-04-10 13:04:10 +02:00
7af389b358 Show app drawer as popup in convergence mode
In convergence mode the app drawer appears as a sized popup
anchored above the dock near the Overview button, instead of
taking over the full screen.

- Popup has rounded background, shadow, and clipped content
- Desktop stays visible behind the popup (no scale/fade/blur)
- Click outside the popup dismisses it
- Wallpaper scrim suppressed in convergence mode
- Mobile behavior is unchanged
2026-04-09 12:35:52 +02:00
db18022a9b Hide task panel strut in convergence mode
The task panel window reserved bottom-edge screen space even
with zero thickness and invisible content. Set its visibility
mode to auto-hide in convergence and force the dock bottom
margin to zero so the favourites bar sits flush at the screen
edge.
2026-04-09 11:09:25 +02:00
5770a4981f Reduce dock height and hide redundant controls in convergence
Halve the favourites bar from gridUnit*6 to gridUnit*3 to avoid
oversized dock on desktop screens. Hide the arrow-up icon and
disable the page-indicator tap handler since the app drawer is
now opened via the dedicated Overview button.
2026-04-09 10:14:55 +02:00
Devin Lin
a8b858dc3e Remove kirigami version in imports
This fixes potential issues stemming from pinning versions on Kirigami
qml api imports
2026-03-06 22:08:07 -05:00
Devin Lin
4c76f55b5c folio: Refactor and implement support for proper drag & drop
This refactors the homescreen state object to isolate drag & drop from
swipe states, allowing for using proper system-level drag & drop for delegate
movement. This then ports the new applet list to use it.
2025-12-13 21:24:05 -05:00
Devin Lin
e5cb775830 folio: Fix some state transitions
Fixes some potential state problems when transitioning to the app
drawer.
2025-12-05 11:51:41 -05:00
Devin Lin
44e5ed6bbf folio: Fix typo with keyboard navigation logic 2025-11-24 23:24:17 -05:00
Devin Lin
dc1fa9b187 homescreens/folio: Add keyboard navigation on pages
Implements the rest of https://invent.kde.org/plasma/plasma-mobile/-/issues/219
2025-09-15 15:47:38 -04:00
Devin Lin
f7f657131b folio: Port to plasma_add_applet
Use plasma_add_applet to deploy as a module: https://invent.kde.org/plasma/libplasma/-/merge_requests/1116
2025-07-16 23:21:46 -04:00
Renamed from containments/homescreens/folio/package/contents/ui/HomeScreen.qml (Browse further)