Commit graph

375 commits

Author SHA1 Message Date
f07c56716a Use monochrome gamepad icon for gaming tile
input-gaming is a full-color Breeze icon with hard-coded gradients;
it cannot be made monochrome by a delegate-level mask. Switch to
input-gamepad, which uses fill:currentColor and matches the line-art
style of every other quick-settings tile icon.
2026-04-25 10:34:17 +02:00
70fa861b30 Harden gaming mode and fix startup crash
Strut windows committed zero height to layer-shell during
early init, causing a protocol error and session exit. Wrap
height and exclusionZone in Math.max(1, ...) for top bar
and dock.

Persisted gamingModeEnabled=true with hardcoded
gameCenterOpen=false hid panels with no overlay visible.
Initialize gameCenterOpen from the stored setting.

Fix HUD visibility regression from an emergency visible:true
override. Various null-guard and positioning fixes from
static analysis across the gaming shell QML.
2026-04-20 09:46:32 +02:00
50ea5976ce Fix HUD crash, clarify exit dialog, hide hint tile
LayerShell windows with non-spanning anchors (AnchorTop|AnchorRight)
crash the compositor when made invisible because Qt briefly resizes
the surface to 0 before unmapping it. Wrap GamingHUD in a Loader so
the window is destroyed rather than hidden.

Replace the generic 'Yes / Cancel' exit dialog with 'Keep Playing /
Leave' in both the Game Center header and the QS tile, matching the
mental model of a couch user.

The 'Launch Hint' QS tile is now hidden (available: false) when
gaming mode is off so it does not clutter the regular action drawer.
2026-04-19 14:10:51 +02:00
d901815c9d Add gaming mode setting and quick settings tiles
Add a gamingModeEnabled bool and a gamingDismissHintEnabled bool to
the shell settings plugin, persisted in plasmamobilerc [General],
following the same pattern as convergenceModeEnabled.

Two new quick settings tiles:
- org.kde.plasma.quicksetting.gaming: toggles gaming mode on/off,
  shows explicit on/off label matching the convergence tile style.
- org.kde.plasma.quicksetting.gaminghint: shown while gaming mode
  is active; dismisses the Game Center hint.

Both tiles are added to the default group in quicksettings config.
2026-04-19 13:51:00 +02:00
53686d4ef0 Fix CI build and REUSE lint failures
Use QByteArray::data() instead of constData() for the
udev_device_set_sysattr_value call — Alpine libudev declares the
value parameter as char*, not const char*. Fix the SPDX license
identifier in CategoryPanel.qml from "EUPL 1.2" to "EUPL-1.2".
2026-04-19 07:26:02 +02:00
0d230c5397 Fix dangling pointers and missing null check in flashlight helper
The two const char* variables were pointing into QByteArray
temporaries that were destroyed at the end of each declaration
statement. By the time they were passed to udev, the memory was
freed. Hold the QByteArrays in named locals so the data stays
alive for the duration of the function.

udev_device_new_from_syspath returns NULL if the syspath is
invalid or the device disappears between enumeration and the
privileged call. Add an early-return guard so the subsequent
udev_device_set_sysattr_value call is never reached with a null
device pointer.

Also drop the unnecessary const_cast: udev_device_set_sysattr_value
takes const char*, not char*.
2026-04-18 19:41:04 +02:00
a29019631e Fix KF6Auth find_package order in kauth helpers
find_package(KF6Auth) was placed after target_link_libraries, so
KF6::AuthCore could be undefined when the linker target was
created. Move it before target_link_libraries in both the
flashlight and waydroid helpers.
2026-04-18 19:05:11 +02:00
523c3a6728 Support rootless KAuth install for local development
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.
2026-04-08 19:06:55 +02:00
Nicolas Fella
31fe7c0d37 Install logging categories 2026-04-06 13:39:00 +02:00
l10n daemon script
86cea76edd SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2026-04-06 01:38:32 +00:00
l10n daemon script
ef88e5a7f2 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2026-03-15 01:41:15 +00:00
l10n daemon script
28d978ea91 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2026-03-14 01:39:39 +00:00
Devin Lin
014e2076ec quicksettings/screenshot: Fix shell not showing up and update dbus
Use hide-caller-windows from https://invent.kde.org/plasma/kwin/-/merge_requests/8832 to avoid plasmashell being hidden (by https://invent.kde.org/plasma/kwin/-/merge_requests/8338).
2026-02-19 15:41:18 -05:00
Devin Lin
23833a6b54 mmplugin: Remove and port to plasma-nm cellular lib
Replace mmplugin with shared plasma-nm cellular library: https://invent.kde.org/plasma/plasma-nm/-/merge_requests/522
2026-02-16 22:24:02 -05:00
l10n daemon script
07784b7500 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2026-02-17 01:42:25 +00:00
l10n daemon script
e57d0b19e8 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2026-02-16 01:43:18 +00:00
l10n daemon script
07dd9fe57b SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2026-02-01 01:38:53 +00:00
l10n daemon script
4ccba70d16 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2026-01-31 01:38:42 +00:00
l10n daemon script
fb082759e1 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2026-01-29 01:40:16 +00:00
l10n daemon script
16ff80d6b5 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2026-01-12 01:42:31 +00:00
l10n daemon script
f7f086698b SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2026-01-08 01:37:51 +00:00
Devin Lin
088c0d985b kscreen: Retry fetching config if kscreen gives nullptr
Apparently GetConfigOperation can retrieve a nullptr config, in which
case we just need to retry until kscreen gives us something.
2025-12-05 09:09:25 -05:00
l10n daemon script
b45ba7ad85 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-11-23 01:36:30 +00:00
l10n daemon script
0daa0b737b SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-11-22 01:35:52 +00:00
Devin Lin
ca79509706 kscreen: Make async calls and nullptr check
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.
2025-11-03 22:44:26 -05:00
Devin Lin
678cd25a43 quicksettings/record: Set encoder
Encoders are not set by default anymore, attempt to set one.

Fixes: https://invent.kde.org/plasma/plasma-mobile/-/issues/484
2025-10-30 19:46:40 -04:00
Vlad Zahorodnii
4cfe3d6a27 quicksettings/nightcolor: Sync settings
Night Light settings had been changed in 6.5
2025-10-09 21:59:30 -04:00
l10n daemon script
947087e365 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-10-09 10:44:41 +00:00
l10n daemon script
0ee830e793 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-10-09 01:35:35 +00:00
Devin Lin
0da9ca21f8 quicksettings: Add kscreen usage null checks
There are cases where the config is nullptr, ensure we're checking for
this.
2025-10-08 08:13:45 -04:00
l10n daemon script
6150868313 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-10-01 01:39:35 +00:00
l10n daemon script
067ac6372f SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-09-27 01:34:50 +00:00
l10n daemon script
2bf07fc89a SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-09-19 01:36:49 +00:00
l10n daemon script
7e5c19f2c3 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-09-18 01:34:32 +00:00
Devin Lin
082323baa8 quicksettings/audio: Fix displayed volume fetching
Fixes https://invent.kde.org/plasma/plasma-mobile/-/issues/422

This commit simplifies the AudioInfo data provider to fetch the volume
directly, rather than relying on a series of complicated connections. It
also does some cleanup of AudioInfo, removing unused functions.
2025-09-14 15:30:37 -04:00
l10n daemon script
0f7ce1f2ad SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-09-14 01:34:35 +00:00
Florian RICHER
7ebb4aa37c waydroid: Migrate to DBus backend implementations 2025-09-11 11:03:55 +02:00
l10n daemon script
625deeb11d SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-09-09 02:09:50 +00:00
l10n daemon script
43a59d504e SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-09-08 01:59:50 +00:00
Kunda Ki
7f3dcab42b Fix various typos
Fixes typos in various source comments.  
Found via `codespell -S "*.po,*.svg,*.pgm,*.xml,./po,*.desktop,*.json,*.actions" -L aline,aparent,childs,distroname,indexin,indx,logicaly,lokal,nd,splitted,te`
2025-09-05 12:21:15 +00:00
l10n daemon script
7e82501c2b SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-09-01 01:35:07 +00:00
l10n daemon script
0058c094b2 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-08-31 01:35:32 +00:00
l10n daemon script
23afd2e767 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-08-29 01:35:56 +00:00
l10n daemon script
66a0c38d2c SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-08-28 01:36:44 +00:00
l10n daemon script
4a9c591146 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-08-27 01:36:18 +00:00
l10n daemon script
47a930b466 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-08-26 01:36:15 +00:00
l10n daemon script
5c0ff01630 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-08-25 01:35:11 +00:00
l10n daemon script
c31895f622 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-08-24 01:34:18 +00:00
l10n daemon script
bf92eb9354 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-08-23 01:36:01 +00:00
l10n daemon script
05ba3b7aa9 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-08-22 01:35:33 +00:00