shift-shell/README.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

98 lines
4.7 KiB
Markdown
Raw Normal View History

# Shift
SHIFT is a convergent environment for desktops, gaming consoles, tablets, and smartphones.
2014-08-06 08:03:54 +00:00
What does convergence mean? This project aims to offer the same environment across different form factors, with an interface that adapts to the device, input type, and required user experience.
For example: Smartphones connected to an external display can benefit from a graphical experience change from undocked to docked, transforming the workspace from mobile to desktop. Another example: 2-in-1 laptops that convert to tablets or have 360° rotatable displays can switch the graphical interface while offering a tablet or desktop experience.
Desktop:
SHIFT aims to offer a complete desktop experience, featuring a dockbar, a top bar, an app drawer, and an actions drawer with a notification history, a System Tray, and a Quick Settings Menu. The desktop experience is available in dynamic tiling mode or with classic floating windows.
Smartphone / Tablet:
The environment is capable of adapting its interface to work with tablets and smartphones, adopting a touch-first interface and workflow optimized for touchscreens.
Gaming Shell:
The Gaming Shell aims to be optimized for gamepad navigation, offering integration with game launchers and game centers. The gaming experience must also adapt to different factors, adapting to handheld devices and gaming stations that also serve as workstations.
### Screenshot
![SHIFT main interface](screenshots/SHIFT-main.png)
![SHIFT dynamic tiling interface](screenshots/SHIFT-dynamic_tiling.png)
### What convergence mode changes
* The old navigation panel is replaced by a unified dock that combines
pinned apps, running windows, desktop pager controls, and quick
actions such as Home and Overview.
* The dock supports desktop workflows: pin and unpin, drag reorder,
grouped window entries, middle-click close, and thumbnail previews.
* The app drawer and action drawer run as convergence surfaces (bounded
and shaped), with calendar, notifications, quick settings, and
desktop-focused utility actions.
* The status bar integrates tray/date behavior for desktop usage and is
coordinated with the convergence drawers and workspace chrome.
* Screen space is explicitly reserved for the dock, with geometry and
input-region guards to keep overlays and windows stable.
* Window workflows are desktop-oriented: edge tiling/maximize,
dynamic-tiling actions from task menus, and optional snap-layout
behavior.
* Overview and virtual desktop operations are integrated into dock and
drawer actions, including desktop/window management entries.
* Theme behavior is convergence-aware, with Shift defaults and
wallpaper-driven dynamic theming applied to shell surfaces.
2022-01-18 16:02:38 +00:00
### Locations
* [components/mobileshell](components/mobileshell) - private shell component library
* [containments](containments) - shell panels (homescreens, status bar, task panel)
* [envmanager](envmanager) - convergence mode environment manager (kwinrc, etc.)
* [kwin/scripts](kwin/scripts) - KWin scripts for convergence window behaviour
* [kcms](kcms) - settings modules
* [look-and-feel](look-and-feel/contents) - Plasma look-and-feel packages
* [shell](shell) - Plasma shell package
* [quicksettings](quicksettings) - quick settings for the action drawer
### Building
```
cmake -B build -DPLASMA_MOBILE_LOCAL_KAUTH_INSTALL=ON
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.
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.
### 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 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](pm_README.md) for the original Plasma Mobile README.
---
### License
SHIFT-specific code is licensed under the [European Union Public Licence 1.2](LICENSES/EUPL-1.2.txt).
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](.reuse/dep5) manifest for details.