Use the new SwipeArea clicked() signal to open/close the action
drawer on a single click when convergence mode is enabled. The
existing swipe gesture remains available as a fallback.
Emit clicked() when a press-and-release occurs without any swipe
movement. This allows consumers to distinguish taps from swipe
gestures on the same surface.
Add PLASMA_MOBILE_LOCAL_KAUTH_INSTALL CMake option to redirect KAuth
helper executables, D-Bus service files, and polkit policy files into
CMAKE_INSTALL_PREFIX instead of hardcoded /usr paths.
Guard KF6Auth find_package calls in helper subdirectories with
if(NOT TARGET KF6::AuthCore) to avoid re-running find_package after
the top-level override, which would revert generated service Exec
paths back to /usr/libexec/kf6/kauth.
I noticed at some point after updating my main phone, that non visible external device batteries started taking up extra space in the statusbar. This fixes the issue by filtering out external device batteries by using KSortFilterProxyModel.
Before (with external peripheral connected)
{width=399 height=28}
After
{width=399 height=28}
The system tray has not been useful on mobile and isn't particularly
interactable due to its small size. Remove the system tray from the
status bar, if we need its functionality it would be more appropriate to
create a larger "tray UI" in the quicksettings area
This adds a gesture handle mode to the navigation panel, which can be
enabled during gesture-only mode. This reserves space for the system
gesture to be able to be used, allowing us to extend the height in KWin
of the gesture recognition area (which is currently far too short for devices such as Pixel 3a).
This also allows for navigation with a mouse; clicking on the handle
triggers the task switcher, holding it triggers the "home" action.
The startup feedback uses theme adjusted colors, we can use standard
foreground colors for the panels for better contrast rather than relying
on the shadow.
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`.
Don't block plasmashell when doing kscreen calls (make them async). Also
add a nullptr check to rotationplugin, which potentially could be a fix
for crashes on the PinePhone.
Currently with a light theme, often colors calculated from icons are incredible bright and vivid. This can cause the user to be flashed all of a sudden with a bright color when launching an app. This commit adopt the dark background blending scheme for all usecases.
When plasmashell is started and the user had set docked mode, it may get
reset. This patch makes sure that we don't change the user's choice
after hotplugging/unplugging a display. The initial setting of
convergendeMode (if true) is now remembered.
Signed-off-by: Sebastian Kügler <sebas@kde.org>
This commit changes the action drawer colorsets to be contextually correct. The panel background would use the window background colors (instead of the view ones), and quicksettings delegates would use colors from the Button color set (rather than the view).
This also changes the background scrim to always be dark even in light mode. I think this is important to do because we have two views (notifications, and quick settings), which currently don't have much in the way of colours to distinguish the two.
This commit also makes some changes to the notifications widget in order for its card foreground to be the standard theme colors.
{width=200}
{width=200}
{width=300}
{width=200}
{width=200}
{width=300}
This ensures that all elements in the volume OSD get the window
visibility and can turn off any listeners. This avoids excessive
bindings being triggered when the osd is closed and audio is played.