Rewrite README for Shift

The upstream plasma-mobile README is kept as pm_README.md.
The new README covers what Shift is, what convergence mode
does, and how to build/test.
This commit is contained in:
Marco Allegretti 2026-04-10 10:23:10 +02:00
parent 98733bb654
commit b69a4c457c
2 changed files with 103 additions and 61 deletions

View file

@ -1,74 +1,42 @@
<!-- # Shift
- SPDX-FileCopyrightText: None
- SPDX-License-Identifier: CC0-1.0
-->
# Plasma Mobile Convergence mode for Plasma Mobile. One shell that works as a phone and
adapts to a desktop when you connect a monitor, keyboard, or mouse.
This repository contains shell components for Plasma Mobile. 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.
* Project page: [plasma-mobile.org](https://plasma-mobile.org) ### What convergence mode changes
* Repository: [invent.kde.org/plasma/plasma-mobile](https://invent.kde.org/plasma/plasma-mobile)
* Documentation: [invent.kde.org/plasma/plasma-mobile/-/wikis/home](https://invent.kde.org/plasma/plasma-mobile/-/wikis/home)
* Development channel: [matrix.to/#/#plasmamobile:matrix.org](https://matrix.to/#/#plasmamobile:matrix.org)
### Reporting issues * Navigation panel replaced by a dock with running-app indicators,
* How to report issues: [invent.kde.org/plasma/plasma-mobile/-/wikis/Issue-Tracking](https://invent.kde.org/plasma/plasma-mobile/-/wikis/Issue-Tracking) favourites, context menus, and hover tooltips
* Shell issue tracker: [invent.kde.org/plasma/plasma-mobile/-/issues](https://invent.kde.org/plasma/plasma-mobile/-/issues) * App drawer opens as a floating popup above the dock
* General issue tracker: [https://invent.kde.org/teams/plasma-mobile/issues/-/issues](https://invent.kde.org/teams/plasma-mobile/issues/-/issues) * 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 ### Locations
* [components/mobileshell](components/mobileshell) - private shell component library (API not guaranteed to be stable!)
* [components/mobileshell](components/mobileshell) - private shell component library
* [containments](containments) - shell panels (homescreens, status bar, task panel) * [containments](containments) - shell panels (homescreens, status bar, task panel)
* [kcms](kcms) - settings module * [envmanager](envmanager) - convergence mode environment manager (kwinrc, etc.)
* [look-and-feel](look-and-feel/contents) - Plasma look-and-feel packages (ex. lockscreen, logout, etc.) * [kwin/scripts](kwin/scripts) - KWin scripts for convergence window behaviour
* [shell](shell) - Plasma shell package, provides implementations for applet and containment configuration dialogs * [kcms](kcms) - settings modules
* [quicksettings](quicksettings) - quick settings packages for the action drawer * [look-and-feel](look-and-feel/contents) - Plasma look-and-feel packages
* [tests](tests) - small runnable snippets that can be used to test parts of the shell without loading all of Plasma * [shell](shell) - Plasma shell package
* [quicksettings](quicksettings) - quick settings for the action drawer
<img src="/screenshots/homescreen-folio.png" width=300px/> ### Building
<img src="/screenshots/homescreen-halcyon.png" width=300px/>
### Test on a development machine
See the [documentation page](https://invent.kde.org/plasma/plasma-mobile/-/wikis/Building-and-Testing-Locally) for more details.
It is recommended to use `kdesrc-build` to build this from source. See [this page](https://community.kde.org/Get_Involved/development) in order to set it up.
Dependencies:
* KDE Frameworks 6 setup (plasma-framework and its dependencies)
* plasma-nano
* plasma-workspace
* plasma-nm
* plasma-pa
* bluez-qt
* Milou (for search)
* Kirigami
* Kirigami Addons
* feedbackd (optional: for vibrations)
To start the shell in a window, run:
``` ```
QT_QPA_PLATFORM=wayland dbus-run-session kwin_wayland --xwayland "plasmashell -p org.kde.plasma.mobileshell" cmake -B build
cmake --build build
cmake --install build
``` ```
Useful options: ### Upstream
- Specify the `--output-count` flag for the number of displays
- Specify `--width` and `--height` for the window size
``` See [pm_README.md](pm_README.md) for the original Plasma Mobile README.
QT_QPA_PLATFORM=wayland dbus-run-session kwin_wayland --xwayland "plasmashell -p org.kde.plasma.mobileshell" --output-count 2 --width 360 --height 720
```
### Device specific configuration
See [/devices/README.md](/devices/README.md) for more details on setting device specific configuration (ex. notches, screen curves).
---
<img src="https://invent.kde.org/plasma/plasma-mobile/-/wikis/uploads/19a607bb68faa76bbc9f888e33a3aa9a/konqi-calling.png" width=200px>
<br/>
<img src="https://invent.kde.org/plasma/plasma-mobile/-/wikis/uploads/9238173a7cae1d8832d83350eda74f85/developers.png" width=300px>

74
pm_README.md Normal file
View file

@ -0,0 +1,74 @@
<!--
- SPDX-FileCopyrightText: None
- SPDX-License-Identifier: CC0-1.0
-->
# Plasma Mobile
This repository contains shell components for Plasma Mobile.
* Project page: [plasma-mobile.org](https://plasma-mobile.org)
* Repository: [invent.kde.org/plasma/plasma-mobile](https://invent.kde.org/plasma/plasma-mobile)
* Documentation: [invent.kde.org/plasma/plasma-mobile/-/wikis/home](https://invent.kde.org/plasma/plasma-mobile/-/wikis/home)
* Development channel: [matrix.to/#/#plasmamobile:matrix.org](https://matrix.to/#/#plasmamobile:matrix.org)
### Reporting issues
* How to report issues: [invent.kde.org/plasma/plasma-mobile/-/wikis/Issue-Tracking](https://invent.kde.org/plasma/plasma-mobile/-/wikis/Issue-Tracking)
* Shell issue tracker: [invent.kde.org/plasma/plasma-mobile/-/issues](https://invent.kde.org/plasma/plasma-mobile/-/issues)
* General issue tracker: [https://invent.kde.org/teams/plasma-mobile/issues/-/issues](https://invent.kde.org/teams/plasma-mobile/issues/-/issues)
### Locations
* [components/mobileshell](components/mobileshell) - private shell component library (API not guaranteed to be stable!)
* [containments](containments) - shell panels (homescreens, status bar, task panel)
* [kcms](kcms) - settings module
* [look-and-feel](look-and-feel/contents) - Plasma look-and-feel packages (ex. lockscreen, logout, etc.)
* [shell](shell) - Plasma shell package, provides implementations for applet and containment configuration dialogs
* [quicksettings](quicksettings) - quick settings packages for the action drawer
* [tests](tests) - small runnable snippets that can be used to test parts of the shell without loading all of Plasma
<img src="/screenshots/homescreen-folio.png" width=300px/>
<img src="/screenshots/homescreen-halcyon.png" width=300px/>
### Test on a development machine
See the [documentation page](https://invent.kde.org/plasma/plasma-mobile/-/wikis/Building-and-Testing-Locally) for more details.
It is recommended to use `kdesrc-build` to build this from source. See [this page](https://community.kde.org/Get_Involved/development) in order to set it up.
Dependencies:
* KDE Frameworks 6 setup (plasma-framework and its dependencies)
* plasma-nano
* plasma-workspace
* plasma-nm
* plasma-pa
* bluez-qt
* Milou (for search)
* Kirigami
* Kirigami Addons
* feedbackd (optional: for vibrations)
To start the shell in a window, run:
```
QT_QPA_PLATFORM=wayland dbus-run-session kwin_wayland --xwayland "plasmashell -p org.kde.plasma.mobileshell"
```
Useful options:
- Specify the `--output-count` flag for the number of displays
- Specify `--width` and `--height` for the window size
```
QT_QPA_PLATFORM=wayland dbus-run-session kwin_wayland --xwayland "plasmashell -p org.kde.plasma.mobileshell" --output-count 2 --width 360 --height 720
```
### Device specific configuration
See [/devices/README.md](/devices/README.md) for more details on setting device specific configuration (ex. notches, screen curves).
---
<img src="https://invent.kde.org/plasma/plasma-mobile/-/wikis/uploads/19a607bb68faa76bbc9f888e33a3aa9a/konqi-calling.png" width=200px>
<br/>
<img src="https://invent.kde.org/plasma/plasma-mobile/-/wikis/uploads/9238173a7cae1d8832d83350eda74f85/developers.png" width=300px>