shift-shell/components
Devin Lin 839d5e2bff panels: Add support for defining device specific panel tweaks
This adds support for specifying options needed to deal with phone
display panel pecularities (ex. screen curves, notches, punch holes)

This is implemented as settings in ~/.config/plasmamobilerc, which can
set panel heights, paddings, and center spacings to duck display
cutouts. The pixel values are scaling independent, and so are not
affected when the display scaling is changed.

This is then exposed over DBus, so that components from outside of
plasmashell (ex. KWin) can access it easily without needing to connect to
kscreen themselves. Each screen is exposed as a single object.

Currently support is only added in the status bar and the navigation
panel.

Currently all screens have the settings applied. In the future, we may
want to limit this just to the internal screen (?)

---

This also adds a "devices" folder (in `devices/configs`) where per-device configs can be set.

This is installed to `/usr/share/plasma-mobile-device-configs`.
In `plasmamobilerc` (installed to `/etc/xdg/plasmamobilerc`, or
`~/.config/plasmamobilerc`), envmanager will read:

```toml
[Device]
device=oneplus-enchilada
```

for the device config to use and write its settings to
`~/.config/plasma-mobile/plasmamobilerc`.
2025-11-04 23:08:18 -05:00
..
dpmsplugin lockscreen: Reset state when screen is off 2024-07-03 18:06:24 +00:00
hapticsplugin hapticsplugin: Use QCoro::QmlTask 2025-09-14 14:35:52 -04:00
mmplugin mmplugin: Make calls nonblocking to not freeze UI when called 2025-04-25 04:12:10 -04:00
mobileshell panels: Add support for defining device specific panel tweaks 2025-11-04 23:08:18 -05:00
mobileshellstate panels: Add support for defining device specific panel tweaks 2025-11-04 23:08:18 -05:00
quicksettingsplugin panels: Add support for defining device specific panel tweaks 2025-11-04 23:08:18 -05:00
raiselockscreenplugin panel: Overlay over lockscreen 2025-07-02 10:27:33 -04:00
rotationplugin kscreen: Make async calls and nullptr check 2025-11-03 22:44:26 -05:00
screenbrightnessplugin screenbrightnessplugin: Fix behaviour if dbus service is not initialized followup 2024-11-10 22:57:32 -08:00
shellsettingsplugin panels: Add support for defining device specific panel tweaks 2025-11-04 23:08:18 -05:00
wallpaperimageplugin panels: Add support for defining device specific panel tweaks 2025-11-04 23:08:18 -05:00
waydroidintegrationplugin SVN_SILENT made messages (.desktop file) - always resolve ours 2025-10-09 01:35:35 +00:00
windowplugin taskpanel/panel: make navbar and statusbar accessible from within fullscreen windows 2024-11-25 17:30:47 +00:00
CMakeLists.txt kcm: Implement minimal Waydroid support 2025-07-10 12:00:41 -04:00