Expand the dock input region as soon as the reveal animation starts rather than waiting for it to finish, so the cursor can reach dock items while the panel is still sliding into view. Introduce updateInputRegion() and call it from onDockOffsetChanged, onShouldHideChanged, onActiveChanged, onWidthChanged, and onHeightChanged so the input region is always consistent with the current state. While hover-revealing with a maximised window present, switch the LayerShell exclusion zone from -1 to dockHeight so the window tiles away from the dock instead of being obscured underneath it. Reduce the hover dwell timer from a hard-coded 300 ms to Kirigami.Units.shortDuration so the dock is easier to summon. |
||
|---|---|---|
| .reuse | ||
| .well-known | ||
| bin | ||
| color-schemes | ||
| components | ||
| containments | ||
| devices | ||
| envmanager | ||
| icons | ||
| initialstart | ||
| kcms | ||
| kded | ||
| kwin | ||
| layout-templates | ||
| LICENSES | ||
| lookandfeel | ||
| po | ||
| quicksettings | ||
| screenshots | ||
| shell | ||
| tests | ||
| wallpapers | ||
| .git-blame-ignore-revs | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .kde-ci.yml | ||
| CMakeLists.txt | ||
| HACKING.md | ||
| logo.png | ||
| logo.png.license | ||
| org.kde.plasma.mobileshell.metainfo.xml | ||
| OVERVIEW.md | ||
| OVERVIEW.md.license | ||
| plasma-mobile.service | ||
| plasma-mobile.service.license | ||
| pm_README.md | ||
| README.md | ||
| README.md.license | ||
Shift
SHIFT is an open source shell built on KDE Plasma Mobile, designed to adapt fluidly to your computing needs across devices
Desktop demos
Shift is a fork of plasma-mobile. The upstream phone UI is untouched; convergence adds a layer on top.
What convergence mode changes
-
Navigation panel replaced by a dock with running-app indicators, favourites, context menus, and hover tooltips
-
App drawer opens as a floating popup above the dock
-
Window management: edge tiling, edge maximize, close buttons, task context menus, Overview integration
-
Status bar gains a system tray, date display, and hover highlights
-
Screen space reserved for the dock via layer-shell exclusive zone
-
Desktop niceties: right-click wallpaper settings, minimize-all on home press, clickable page indicators
Locations
- components/mobileshell - private shell component library
- containments - shell panels (homescreens, status bar, task panel)
- envmanager - convergence mode environment manager (kwinrc, etc.)
- kwin/scripts - KWin scripts for convergence window behaviour
- kcms - settings modules
- look-and-feel - Plasma look-and-feel packages
- shell - Plasma shell package
- quicksettings - quick settings for the action drawer
Building
cmake -B build -DPLASMA_MOBILE_LOCAL_KAUTH_INSTALL=ON
cmake --build build
cmake --install build
Disclaimer
SHIFT is an independent project based on KDE Plasma Mobile.
It is not affiliated with or endorsed by KDE or the KDE community.
Some visual elements (such as icons or graphical assets) may originate from KDE Plasma Mobile and are used in accordance with their respective licenses. These elements may be replaced in future versions as the project evolves.
All trademarks, including KDE, belong to their respective owners.
Upstream Relationship
SHIFT is not intended as a direct contribution to KDE Plasma Mobile.
However, if parts of this project are considered useful, contributions or ideas may be proposed upstream in a collaborative manner.
See pm_README.md for the original Plasma Mobile README.
License
SHIFT-specific code is licensed under the European Union Public Licence 1.2.
Upstream files retain their original licenses (GPL-2.0-or-later, LGPL-2.1-or-later, etc.). See individual file headers and the .reuse/dep5 manifest for details.