Clarify Shift product framing in docs

Rewrite the main project docs to present SHIFT as the product and Plasma Mobile as the upstream base. Keep compatibility-sensitive runtime identifiers such as org.kde.plasma.mobileshell and ~/.config/plasma-mobile explicit in the hacking guide instead of treating them as product identity.
This commit is contained in:
Marco Allegretti 2026-05-17 17:26:52 +02:00
parent f00a29bd21
commit af190a813e
3 changed files with 23 additions and 17 deletions

View file

@ -1,6 +1,6 @@
# Hacking on Shift
Shift is a convergent Plasma Mobile shell. This guide covers
Shift is a convergent shell built on Plasma Mobile components. This guide covers
building and testing it locally without polluting your host system.
The approach: keep every build dependency inside a **distrobox** container
@ -89,8 +89,8 @@ sudo zypper install --no-confirm \
### Runtime dependencies (needed for preview, not for compilation)
The nested preview runs the system `plasmashell` binary. It needs a
complete Plasma Mobile runtime so all QML imports resolve:
The nested preview runs the system `plasmashell` binary. It needs the
complete runtime from the Plasma Mobile stack so all QML imports resolve:
```bash
sudo zypper install --no-confirm \
@ -204,6 +204,7 @@ export EGL_PLATFORM=wayland
export QT_QUICK_CONTROLS_STYLE=org.kde.breeze
export QT_QUICK_CONTROLS_MOBILE=true
export PLASMA_PLATFORM=phone:handset
# Compatibility note: the runtime shell package id intentionally remains upstream.
export PLASMA_DEFAULT_SHELL=org.kde.plasma.mobileshell
export QT_FORCE_STDERR_LOGGING=1
exec plasmashell --replace -p org.kde.plasma.mobileshell
@ -212,7 +213,8 @@ ENDSCRIPT
# Expose the project prefix to the host kwin_wayland so it can find
# KWin scripts (convergentwindows) and their QML dependencies.
# Also overlay ~/.config/plasma-mobile so KWin reads the mobile kwinrc
# Also overlay ~/.config/plasma-mobile so KWin reads the mobile kwinrc.
# That path is intentionally preserved for compatibility with existing config handling.
# (envmanager writes convergentwindowsEnabled, Placement, etc. there).
export XDG_DATA_DIRS="$PREFIX/share:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}"
export XDG_CONFIG_DIRS="$HOME/.config/plasma-mobile:${XDG_CONFIG_DIRS:-/etc/xdg}"
@ -235,7 +237,7 @@ Make it executable: `chmod +x preview.sh`.
compositor doesn't clash with your running desktop.
2. Four environment exports give the **host** `kwin_wayland` access to
the project's `.prefix` (KWin scripts, QML plugins) and to
`~/.config/plasma-mobile` (where envmanager writes convergence
`~/.config/plasma-mobile` (the preserved compatibility path where envmanager writes convergence
settings like `convergentwindowsEnabled`, `Placement`, etc.).
3. `kwin_wayland` opens a window on your current desktop and creates a
Wayland socket named `shift-kwin`. Because of the exports it can

View file

@ -1,11 +1,8 @@
# Shift
A fork of KDE Plasma Mobile that adds a desktop-class convergence mode.
Plasma Mobile is a phone shell. It doesn't try to be anything else.
Shift picks up where it leaves off: when you connect a monitor, keyboard,
or mouse, the same device should feel like a desktop. No second OS, no
separate session — one shell that adapts.
Shift is a fork of KDE Plasma Mobile focused on convergence.
When you connect a monitor, keyboard, or mouse, the same shell should still
work as a desktop-style environment. No second OS, no separate session.
## What's different from upstream
@ -15,6 +12,10 @@ that still works. Shift adds a **convergence mode** layer on top — toggled
via `plasmamobilerc` — that swaps in desktop-oriented behaviour without
replacing the phone UI underneath.
Compatibility-sensitive runtime identifiers such as
`org.kde.plasma.mobileshell` remain upstream-looking for now. The product is
SHIFT; the preserved identifiers are part of the current compatibility layer.
Key changes so far:
- **Unified dock** replacing the navigation panel in convergence mode,

View file

@ -1,6 +1,6 @@
# Shift
SHIFT is an open source shell built on KDE Plasma Mobile, designed to adapt fluidly to your computing needs across devices
SHIFT is an independent shell fork focused on convergence. It builds on KDE Plasma Mobile, keeps the upstream phone UI available, and layers desktop-oriented behaviour on top of the same session.
### Desktop demos
@ -8,8 +8,8 @@
![Docked mode](screenshots/quick_DesktopDemo_docked.webm)
![Tiling](screenshots/quick_DesktopDemo_tiling.webm)
Shift is a fork of [plasma-mobile](https://invent.kde.org/plasma/plasma-mobile).
The upstream phone UI is untouched; convergence adds a layer on top.
SHIFT tracks [plasma-mobile](https://invent.kde.org/plasma/plasma-mobile) as its upstream base.
The upstream phone UI remains intact; convergence-specific behaviour is added on top.
### What convergence mode changes
@ -43,6 +43,10 @@ cmake --build build
cmake --install build
```
Compatibility-sensitive identifiers such as `org.kde.plasma.mobileshell`
are intentionally preserved in the runtime and build instructions. They are
part of the current compatibility boundary, not the public product name.
### Disclaimer
SHIFT is an independent project based on KDE Plasma Mobile.
@ -61,7 +65,6 @@ 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](pm_README.md) for the original Plasma Mobile README.
---