Plasma issueshttps://invent.kde.org/groups/plasma/-/issues2023-02-18T20:07:42Zhttps://invent.kde.org/plasma/wacomtablet/-/issues/6GUI Doesn't List Multiple Tablets Of The Same Model That Are Connected2023-02-18T20:07:42ZAutistic ADHDGUI Doesn't List Multiple Tablets Of The Same Model That Are ConnectedI got two Intuous Pro S tablets for which to map the two individually to two separate monitors—one monitor each—so I didn't have to switch between mappings or one tablet and a mouse. However, when I connect the two tablets and then go in...I got two Intuous Pro S tablets for which to map the two individually to two separate monitors—one monitor each—so I didn't have to switch between mappings or one tablet and a mouse. However, when I connect the two tablets and then go into settings to map them, the graphics tablets section of the settings window only shows one entry for "Wacom Intuous Pro S." Which means I have to use xsetwacom in konsole which is a deal-breaker until I figure out how to set ~/.bash_history to save an unlimited amount of entires so I don't loose important commands that turn out to be more than one-time usage that I didn't memorize nor can I recall from where I copied them. Methinks it would be better and easier if you guys just fixed this issue...https://invent.kde.org/plasma/plasma-welcome/-/issues/11readme: How can custom pages be translated?2023-02-25T03:38:38ZOliver Beardreadme: How can custom pages be translated?The readme should provide information on how custom pages provided by distributions can be translated.The readme should provide information on how custom pages provided by distributions can be translated.https://invent.kde.org/plasma/kscreenlocker/-/issues/85.27.0: test suite is failing in two units2023-11-01T17:04:52ZTomasz Kloczko5.27.0: test suite is failing in two unitsLooks like test suite is failing in two units
<details>
```console
+ cd kscreenlocker-5.27.0
+ xvfb-run -a /usr/bin/ctest --test-dir x86_64-redhat-linux-gnu --output-on-failure --force-new-ctest-process -j48 ' '
Internal ctest changing ...Looks like test suite is failing in two units
<details>
```console
+ cd kscreenlocker-5.27.0
+ xvfb-run -a /usr/bin/ctest --test-dir x86_64-redhat-linux-gnu --output-on-failure --force-new-ctest-process -j48 ' '
Internal ctest changing into directory: /home/tkloczko/rpmbuild/BUILD/kscreenlocker-5.27.0/x86_64-redhat-linux-gnu
Test project /home/tkloczko/rpmbuild/BUILD/kscreenlocker-5.27.0/x86_64-redhat-linux-gnu
Start 1: kscreenlocker-killTest
Start 2: ksmserver-logindTest
Start 3: ksmserver-ksldTest
Start 4: ksmserver-x11LockerTest
1/4 Test #2: ksmserver-logindTest ............. Passed 0.24 sec
2/4 Test #4: ksmserver-x11LockerTest ..........***Failed 5.11 sec
********* Start testing of LockWindowTest *********
Config: Using QtTest library 5.15.8, Qt 5.15.8 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 13.0.1 20230127 (Red Hat 13.0.1-0)), fedora 39
PASS : LockWindowTest::initTestCase()
FAIL! : LockWindowTest::testBlankScreen() 'isColored(Qt::red, 0, 0, 100, 100)' returned FALSE. ()
Loc: [/home/tkloczko/rpmbuild/BUILD/kscreenlocker-5.27.0/autotests/x11lockertest.cpp(108)]
PASS : LockWindowTest::testEmergencyShow()
PASS : LockWindowTest::cleanupTestCase()
Totals: 3 passed, 1 failed, 0 skipped, 0 blacklisted, 5048ms
********* Finished testing of LockWindowTest *********
3/4 Test #3: ksmserver-ksldTest ...............***Failed 32.23 sec
********* Start testing of KSldTest *********
Config: Using QtTest library 5.15.8, Qt 5.15.8 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 13.0.1 20230127 (Red Hat 13.0.1-0)), fedora 39
PASS : KSldTest::initTestCase()
QSYSTEM: KSldTest::testEstablishGrab() Couldn't start kglobalaccel from org.kde.kglobalaccel.service: QDBusError("org.freedesktop.DBus.Error.ServiceUnknown", "The name org.kde.kglobalaccel was not provided by any .service files")
PASS : KSldTest::testEstablishGrab()
QSYSTEM: KSldTest::testActivateOnTimeout() kscreenlocker: Greeter Process not available
PASS : KSldTest::testActivateOnTimeout()
QSYSTEM: KSldTest::testGraceTimeUnlocking() kscreenlocker: Greeter Process not available
FAIL! : KSldTest::testGraceTimeUnlocking() 'lockedSpy.wait(30000)' returned FALSE. ()
Loc: [/home/tkloczko/rpmbuild/BUILD/kscreenlocker-5.27.0/autotests/ksldtest.cpp(145)]
PASS : KSldTest::cleanupTestCase()
Totals: 4 passed, 1 failed, 0 skipped, 0 blacklisted, 32122ms
********* Finished testing of KSldTest *********
4/4 Test #1: kscreenlocker-killTest ........... Passed 93.27 sec
50% tests passed, 2 tests failed out of 4
Total Test time (real) = 93.28 sec
The following tests FAILED:
3 - ksmserver-ksldTest (Failed)
4 - ksmserver-x11LockerTest (Failed)
Errors while running CTest
```
</details>https://invent.kde.org/plasma/plasma-thunderbolt/-/issues/15.27.0: test suit is failing in two units2023-11-01T17:04:44ZTomasz Kloczko5.27.0: test suit is failing in two unitsLooks like test duite is failing in two units
<details>
```console
+ xvfb-run -a /usr/bin/ctest --test-dir x86_64-redhat-linux-gnu --output-on-failure --force-new-ctest-process -j48
Internal ctest changing into directory: /home/tkloczko...Looks like test duite is failing in two units
<details>
```console
+ xvfb-run -a /usr/bin/ctest --test-dir x86_64-redhat-linux-gnu --output-on-failure --force-new-ctest-process -j48
Internal ctest changing into directory: /home/tkloczko/rpmbuild/BUILD/plasma-thunderbolt-5.27.0/x86_64-redhat-linux-gnu
Test project /home/tkloczko/rpmbuild/BUILD/plasma-thunderbolt-5.27.0/x86_64-redhat-linux-gnu
Start 1: libkbolt-managertest
Start 2: libkbolt-devicetest
Start 3: kbolt-kded-kdedtest
1/3 Test #2: libkbolt-devicetest ..............***Failed 0.01 sec
********* Start testing of DeviceTest *********
Config: Using QtTest library 5.15.8, Qt 5.15.8 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 13.0.1 20230127 (Red Hat 13.0.1-0)), fedora 39
PASS : DeviceTest::initTestCase()
QWARN : DeviceTest::testAuthorize() Fake server exception: Failed to register org.kde.fakebolt service:
FAIL! : DeviceTest::testAuthorize() Caught server exception
Loc: [/home/tkloczko/rpmbuild/BUILD/plasma-thunderbolt-5.27.0/autotests/lib/devicetest.cpp(39)]
PASS : DeviceTest::cleanupTestCase()
Totals: 2 passed, 1 failed, 0 skipped, 0 blacklisted, 3ms
********* Finished testing of DeviceTest *********
2/3 Test #3: kbolt-kded-kdedtest ..............***Failed 0.06 sec
********* Start testing of KDEDTest *********
Config: Using QtTest library 5.15.8, Qt 5.15.8 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 13.0.1 20230127 (Red Hat 13.0.1-0)), fedora 39
PASS : KDEDTest::initTestCase()
QWARN : KDEDTest::testShouldNotify() Fake server exception: Failed to register org.kde.fakebolt service:
FAIL! : KDEDTest::testShouldNotify() Caught server exception
Loc: [/home/tkloczko/rpmbuild/BUILD/plasma-thunderbolt-5.27.0/autotests/kded/kdedtest.cpp(56)]
PASS : KDEDTest::cleanupTestCase()
Totals: 2 passed, 1 failed, 0 skipped, 0 blacklisted, 1ms
********* Finished testing of KDEDTest *********
3/3 Test #1: libkbolt-managertest ............. Passed 0.12 sec
33% tests passed, 2 tests failed out of 3
Total Test time (real) = 0.12 sec
The following tests FAILED:
2 - libkbolt-devicetest (Failed)
3 - kbolt-kded-kdedtest (Failed)
Errors while running CTest
```
</details>https://invent.kde.org/plasma/kscreen/-/issues/85.27.0: test suite is failing in two uits2023-11-01T17:04:39ZTomasz Kloczko5.27.0: test suite is failing in two uitsLooks like two units are failing
<details>
```console
+ xvfb-run -a /usr/bin/ctest --test-dir x86_64-redhat-linux-gnu --output-on-failure --force-new-ctest-process -j48 ' '
Internal ctest changing into directory: /home/tkloczko/rpmbuild...Looks like two units are failing
<details>
```console
+ xvfb-run -a /usr/bin/ctest --test-dir x86_64-redhat-linux-gnu --output-on-failure --force-new-ctest-process -j48 ' '
Internal ctest changing into directory: /home/tkloczko/rpmbuild/BUILD/kscreen-5.27.0/x86_64-redhat-linux-gnu
Test project /home/tkloczko/rpmbuild/BUILD/kscreen-5.27.0/x86_64-redhat-linux-gnu
Start 1: kscreen-kded-testgenerator
Start 2: kscreen-kded-configtest
Start 3: kscreen-kded-osdtest
1/3 Test #3: kscreen-kded-osdtest .............***Failed 0.02 sec
Error calling osdService:
QDBusError("org.freedesktop.DBus.Error.ServiceUnknown", "The name org.kde.kscreen.osdService was not provided by any .service files")
2/3 Test #2: kscreen-kded-configtest ..........***Failed 0.05 sec
********* Start testing of TestConfig *********
Config: Using QtTest library 5.15.8, Qt 5.15.8 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 13.0.1 20230127 (Red Hat 13.0.1-0)), fedora 39
PASS : TestConfig::initTestCase()
PASS : TestConfig::testSimpleConfig()
QWARN : TestConfig::testTwoScreenConfig() kscreen.kded: Failed to find a matching mode - this means that our config is corrupted or a different device with the same serial number has been connected (very unlikely). Falling back to preferred modes.
PASS : TestConfig::testTwoScreenConfig()
QWARN : TestConfig::testRotatedScreenConfig() kscreen.kded: Failed to find a matching mode - this means that our config is corrupted or a different device with the same serial number has been connected (very unlikely). Falling back to preferred modes.
PASS : TestConfig::testRotatedScreenConfig()
QWARN : TestConfig::testDisabledScreenConfig() kscreen.kded: Failed to find a matching mode - this means that our config is corrupted or a different device with the same serial number has been connected (very unlikely). Falling back to preferred modes.
QWARN : TestConfig::testDisabledScreenConfig() kscreen.kded: Failed to find a matching mode - this means that our config is corrupted or a different device with the same serial number has been connected (very unlikely). Falling back to preferred modes.
FAIL! : TestConfig::testDisabledScreenConfig() Compared values are not the same
Actual (output->isEnabled()): 1
Expected (false) : 0
Loc: [/home/tkloczko/rpmbuild/BUILD/kscreen-5.27.0/tests/kded/configtest.cpp(208)]
PASS : TestConfig::testConfig404()
QWARN : TestConfig::testCorruptConfig() kscreen.kded: Failed to find a matching output in the current info data - this means that our info is corrupted or a different device with the same serial number has been connected (very unlikely).
QWARN : TestConfig::testCorruptConfig() kscreen.kded: Failed to find a matching mode - this means that our config is corrupted or a different device with the same serial number has been connected (very unlikely). Falling back to preferred modes.
QWARN : TestConfig::testCorruptConfig() kscreen.kded: Failed to find a matching output in the current info data - this means that our info is corrupted or a different device with the same serial number has been connected (very unlikely).
QWARN : TestConfig::testCorruptConfig() kscreen.kded: Failed to find a matching mode - this means that our config is corrupted or a different device with the same serial number has been connected (very unlikely). Falling back to preferred modes.
PASS : TestConfig::testCorruptConfig()
QWARN : TestConfig::testCorruptEmptyConfig() kscreen.kded: Failed to find a matching output in the current info data - this means that our info is corrupted or a different device with the same serial number has been connected (very unlikely).
QWARN : TestConfig::testCorruptEmptyConfig() kscreen.kded: Failed to find a matching mode - this means that our config is corrupted or a different device with the same serial number has been connected (very unlikely). Falling back to preferred modes.
QWARN : TestConfig::testCorruptEmptyConfig() kscreen.kded: Failed to find a matching output in the current info data - this means that our info is corrupted or a different device with the same serial number has been connected (very unlikely).
QWARN : TestConfig::testCorruptEmptyConfig() kscreen.kded: Failed to find a matching mode - this means that our config is corrupted or a different device with the same serial number has been connected (very unlikely). Falling back to preferred modes.
PASS : TestConfig::testCorruptEmptyConfig()
QWARN : TestConfig::testCorruptUselessConfig() kscreen.kded: Failed to find a matching output in the current info data - this means that our info is corrupted or a different device with the same serial number has been connected (very unlikely).
QWARN : TestConfig::testCorruptUselessConfig() kscreen.kded: Failed to find a matching mode - this means that our config is corrupted or a different device with the same serial number has been connected (very unlikely). Falling back to preferred modes.
PASS : TestConfig::testCorruptUselessConfig()
SKIP : TestConfig::testNullConfig() crashes
Loc: [/home/tkloczko/rpmbuild/BUILD/kscreen-5.27.0/tests/kded/configtest.cpp(257)]
PASS : TestConfig::testIdenticalOutputs()
SKIP : TestConfig::testMoveConfig() crashes
Loc: [/home/tkloczko/rpmbuild/BUILD/kscreen-5.27.0/tests/kded/configtest.cpp(393)]
QWARN : TestConfig::testFixedConfig() kscreen.kded: Failed to find a matching mode - this means that our config is corrupted or a different device with the same serial number has been connected (very unlikely). Falling back to preferred modes.
QWARN : TestConfig::testFixedConfig() kscreen.kded: UPower not available, lid detection won't work
QWARN : TestConfig::testFixedConfig() kscreen.kded: PowerDevil SuspendSession action not available!
PASS : TestConfig::testFixedConfig()
PASS : TestConfig::cleanupTestCase()
Totals: 11 passed, 1 failed, 2 skipped, 0 blacklisted, 8ms
********* Finished testing of TestConfig *********
3/3 Test #1: kscreen-kded-testgenerator ....... Passed 0.08 sec
33% tests passed, 2 tests failed out of 3
Total Test time (real) = 0.09 sec
The following tests FAILED:
2 - kscreen-kded-configtest (Failed)
3 - kscreen-kded-osdtest (Failed)
Errors while running CTest
```
</details>https://invent.kde.org/plasma/kwin/-/issues/137Blur effect + buffer transformations2023-03-10T20:40:25ZXaver HuglBlur effect + buffer transformationsThe blur effect works roughly in these three steps:
1. before the window to put blur under is painted, it copies the screen content into an fbo with a blit
2. it then samples that fbo down to a smaller texture, and samples that back up t...The blur effect works roughly in these three steps:
1. before the window to put blur under is painted, it copies the screen content into an fbo with a blit
2. it then samples that fbo down to a smaller texture, and samples that back up to a bigger texture. That's where the actual blur happens
3. it renders the blur region to the render target and samples the final blur texture while doing that
When a fixed buffer transformation comes into play, this doesn't get very complex either. Everything stays the same, except for:
1. both the source and destination rect are transformed
2. the region to up- and downsample is transformed
3. the transformation is applied to the projection matrix here too
However, problems arise when the transformation changes between invocations of the blur effect:
- with screen rotation, the effect would need to allocate its fbos in the correct size (transposed or not) before it even knows what transformations to apply (because there's no render target yet). This can be fixed by lazily allocating the blur texture, so that (re-)allocations happen when it renders and not when the output changes
- this fix / workaround doesn't work with overlay planes though, which may have a different rotation from the primary plane
- even with only y inversion, there can be different transformations at different times, because effects may want to render the screen into a normal non-inverted texture. The screentransform effect does that for example
In order for different transformations to work like this, we'd need to be able to do different transformations for source and destination rect in step 1, so that the intermediary buffers for up- and downsampling can stay in one fixed transformation. However, fbo blitting only support translation and scaling (scale >= 0) and as such can't handle y inversion and rotations. Alternatives are:
- always use a shadow buffer and render into that without rotation or inversion. Where hardware rotation supports it, use that to flip the image instead
- for drivers that don't support flips, this would reduce efficiency and gaming performance. amdgpu doesn't support it for example, so this is not a good option
- sample from the fbo texture. This works just fine for the wayland and virtual backends, and will work fine for the drm backend with the gbm swapchain modification. With https://invent.kde.org/plasma/kwin/-/merge_requests/3507 it would also work with the x11 windowed backend... so the X11 standalone backend is blocking this.
The most straight forward idea I have is to just assume you never need transformations with the x11 standalone backend, and add a "blit" function that does the blit with transformation in between buffers if possible. I don't really like having such a "doesn't always work" function, so if anyone else has a better idea, that would be great.https://invent.kde.org/plasma/plasma-mobile/-/issues/238status of Plasma/Mobile/DevGuide2023-03-02T13:58:11ZAndrey Butirskystatus of Plasma/Mobile/DevGuideHi, what's the status of https://community.kde.org/Plasma/Mobile/DevGuide page? We can't get to it from upper https://community.kde.org/Plasma/Mobile page it seems..
Is it maintained still, or should be moved somewhere?
I see a mess o...Hi, what's the status of https://community.kde.org/Plasma/Mobile/DevGuide page? We can't get to it from upper https://community.kde.org/Plasma/Mobile page it seems..
Is it maintained still, or should be moved somewhere?
I see a mess of resources in different places currently..https://invent.kde.org/plasma/kinfocenter/-/issues/3Use of `qdbus` binary requires that the package providing it be made mandator...2023-02-10T15:05:05ZNate GrahamUse of `qdbus` binary requires that the package providing it be made mandatory, which pulls in a bunch of unrelated developer appsUser installs of Plasma typically include Qt designer, Qt Assistant, Qt Linguistic, and multiple versions of Qt QDBusViewer. This is messy and non-ideal. These apps come from the `qttools` Qt repo, which also includes `qdbus`. And `kinfo...User installs of Plasma typically include Qt designer, Qt Assistant, Qt Linguistic, and multiple versions of Qt QDBusViewer. This is messy and non-ideal. These apps come from the `qttools` Qt repo, which also includes `qdbus`. And `kinfocenter` uses the `qdbus` command to get KWin support info:
```
$ grep -r qdbus
Modules/kwinsupportinfo/main.cpp:22: auto outputContext = new CommandOutputContext(QLibraryInfo::location(QLibraryInfo::BinariesPath) + QStringLiteral("/qdbus"),
Modules/kwinsupportinfo/kcm_kwinsupportinfo.json.in:79: "TryExec": "@QtBinariesDir@/qdbus",
```
So because `kinfocenter` uses `qdbus`, distros that don't split it into its own package will as a result install `qttools` and pull in the unrelated dev apps.
We should try to replace this usage of `qdbus` so that the `qttools` repo can be optional and distros don't have to pre-install it to satisfy `kinfocenter`'s dependencies and pollute their user installs with dev apps.
Some distros split the packages such that `qdbus` can be installed on its own without pulling in these other apps, but that requires extra work from them to split up the content in the `qttools` repo, and this doesn't seem fair to them. Additionally, some distros like Arch Linux don't do this as a matter of policy and instead always follow upstream packaging.6https://invent.kde.org/plasma/plasma-workspace/-/issues/60Use of `qdbus` binary requires that the package providing it be made mandator...2024-03-10T07:58:35ZNate GrahamUse of `qdbus` binary requires that the package providing it be made mandatory, which pulls in a bunch of unrelated developer appsUser installs typically include Qt designer, Qt Assistant, Qt Linguistic, and multiple versions of Qt QDBusViewer. This is messy and non-ideal. These apps come from the `qttools` Qt repo, which also includes `qdbus`. And various pieces o...User installs typically include Qt designer, Qt Assistant, Qt Linguistic, and multiple versions of Qt QDBusViewer. This is messy and non-ideal. These apps come from the `qttools` Qt repo, which also includes `qdbus`. And various pieces of KDE software use the `qdbus` command in various desktop places:
## To do
### plasma-workspace
```
wallpapers/image/setaswallpaper.desktop.in:52:Exec=@QtBinariesDir@/qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript 'const allDesktops = desktopsForActivity(currentActivity()); for (i=0; i<allDesktops.length; i++) {d = allDesktops[i]; d.wallpaperPlugin = "org.kde.image"; d.currentConfigGroup = Array("Wallpaper", "org.kde.image", "General"); d.writeConfig("Image", "%u")}'
ksmserver/plasma-restoresession.service.in:8:ExecStart=-@QtBinariesDir@/qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.restoreSession
startkde/kcminit/plasma-kcminit-phase1.service.in:9:ExecStart=@QtBinariesDir@/qdbus org.kde.kcminit /kcminit org.kde.KCMInit.runPhase1
startkde/systemd/plasma-ksplash-ready.service.in:9:ExecStart=-@QtBinariesDir@/qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage ready
```
### Info Center
```
$ grep -r qdbus
Modules/kwinsupportinfo/main.cpp:22: auto outputContext = new CommandOutputContext(QLibraryInfo::location(QLibraryInfo::BinariesPath) + QStringLiteral("/qdbus"),
Modules/kwinsupportinfo/kcm_kwinsupportinfo.json.in:79: "TryExec": "@QtBinariesDir@/qdbus",
```
### KDE Connect
```
$ grep -r qdbus
plugins/sms/smsplugin.cpp:59: QVariantMap addressMap({{QStringLiteral("address"), qdbus_cast<ConversationAddress>(address).address()}});
plugins/runcommand/runcommand_config.cpp:30: // The qdbus executable name is different on some systems
plugins/runcommand/runcommand_config.cpp:31: QString qdbusExe = QStringLiteral("qdbus-qt5");
plugins/runcommand/runcommand_config.cpp:32: if (QStandardPaths::findExecutable(qdbusExe).isEmpty()) {
plugins/runcommand/runcommand_config.cpp:33: qdbusExe = QStringLiteral("qdbus");
plugins/runcommand/runcommand_config.cpp:59: .arg(qdbusExe));
plugins/runcommand/runcommand_config.cpp:62: addSuggestedCommand(defaultMenu, i18n("Close All Vaults"), QStringLiteral("%0 org.kde.kded5 /modules/plasmavault closeAllVaults").arg(qdbusExe));
plugins/runcommand/runcommand_config.cpp:65: QStringLiteral("%0 org.kde.kded5 /modules/plasmavault forceCloseAllVaults").arg(qdbusExe));
plugins/runcommand/kdeconnect_runcommand_config.qml:90: command: "qdbus org.kde.Solid.PowerManagement /org/kde/Solid/PowerManagement/Actions/BrightnessControl org.kde.Solid.PowerManagement.Actions.BrightnessControl.setBrightness `qdbus org.kde.Solid.PowerManagement /org/kde/Solid/PowerManagement/Actions/BrightnessControl org.kde.Solid.PowerManagement.Actions.BrightnessControl.brightnessMax`"
plugins/runcommand/kdeconnect_runcommand_config.qml:102: command: "qdbus org.kde.kded5 /modules/plasmavault closeAllVaults"
plugins/runcommand/kdeconnect_runcommand_config.qml:106: command: "qdbus org.kde.kded5 /modules/plasmavault forceCloseAllVaults"
```
## Done
<details>
<summary> Spectacle</summary>
<pre>
desktop/org.kde.spectacle.desktop.cmake:242:Exec=@QtBinariesDir@/qdbus org.kde.Spectacle / FullScreen -1
desktop/org.kde.spectacle.desktop.cmake:296:Exec=@QtBinariesDir@/qdbus org.kde.Spectacle / CurrentScreen -1
desktop/org.kde.spectacle.desktop.cmake:350:Exec=@QtBinariesDir@/qdbus org.kde.Spectacle / ActiveWindow -1 -1
desktop/org.kde.spectacle.desktop.cmake:404:Exec=@QtBinariesDir@/qdbus org.kde.Spectacle / RectangularRegion -1
desktop/org.kde.spectacle.desktop.cmake:449:Exec=@QtBinariesDir@/qdbus org.kde.Spectacle / WindowUnderCursor -1 -1
desktop/org.kde.spectacle.desktop.cmake:491:Exec=@QtBinariesDir@/qdbus org.kde.Spectacle / OpenWithoutScreenshot
</pre>
Removed usages in https://invent.kde.org/graphics/spectacle/-/merge_requests/171.
</details>
<details>
<summary> drkonqi</summary>
<pre>
src/data/gdb/preamble.py:406: print(get_stdout(['qdbus', '--system', 'org.freedesktop.systemd1', '/org/freedesktop/systemd1', 'org.freedesktop.systemd1.Manager.Virtualization']))
src/data/gdb/preamble.py:433: 'name': get_stdout(['qdbus', '--system', 'org.freedesktop.hostname1', '/org/freedesktop/hostname1', 'org.freedesktop.hostname1.Hostname']),
src/data/gdb/preamble.py:434: 'family': get_stdout(['qdbus', '--system', 'org.freedesktop.hostname1', '/org/freedesktop/hostname1', 'org.freedesktop.hostname1.Chassis']),
src/data/gdb/preamble.py:435: 'simulator': (get_stdout(['qdbus', '--session', 'org.freedesktop.systemd1', '/org/freedesktop/systemd1', 'org.freedesktop.systemd1.Manager.Virtualization']) != ""),
src/data/gdb/preamble.py:440: 'timezone': get_stdout(['qdbus', '--system', 'org.freedesktop.timedate1', '/org/freedesktop/timedate1', 'org.freedesktop.timedate1.Timezone']),
</pre>
Removed usages in https://invent.kde.org/plasma/drkonqi/-/merge_requests/126.
</details>
---
So because these projects use `qdbus` directly, distros that don't split it into its own package will as a result install `qttools` and pull in the unrelated dev apps.
We should try to replace these usages of `qdbus` so that the `qttools` repo can be optional and distros don't have to pre-install it to satisfy `plasma-workspace`'s dependencies and pollute their user installs with dev apps.
Some distros split the packages such that `qdbus` can be installed on its own without pulling in these other apps, but that requires extra work from them to split up the content in the `qttools` repo, and this doesn't seem fair to them. Additionally, some distros like Arch Linux don't do this as a matter of policy and instead always follow upstream packaging.6https://invent.kde.org/plasma/discover/-/issues/20Optimize appstream pool access on startup2023-02-09T16:10:57ZNicolas FellaOptimize appstream pool access on startupI noticed my Discover takes several seconds to start and shortly freezes during the loading animation.
Profiling indicates that Appstream::Pool::components() in the Flatpak backend is the biggest offender.
I currently have 5 updateable...I noticed my Discover takes several seconds to start and shortly freezes during the loading animation.
Profiling indicates that Appstream::Pool::components() in the Flatpak backend is the biggest offender.
I currently have 5 updateable Flatpak things, and for each we call `componentsByFlatpakId`, which calls `m_pool->components()`, which each time takes about 600ms.https://invent.kde.org/plasma/plasma-mobile/-/issues/237[quicksettings] Cellular info shown in WiFi button2023-03-07T23:10:31ZJustin Zobel[quicksettings] Cellular info shown in WiFi buttonMy WiFi icon while shows it's active with the blue colour and shows the name of my cellular data APN after using my phone as a hotspot.
It shows in the scrolling section `WiFi Connected to [MY WIFI SSID] Mobile Broadband: Connected to O...My WiFi icon while shows it's active with the blue colour and shows the name of my cellular data APN after using my phone as a hotspot.
It shows in the scrolling section `WiFi Connected to [MY WIFI SSID] Mobile Broadband: Connected to Optus - Mobile Internet (handsets)`
The cellular data shouldn't be shown in the WiFi button.https://invent.kde.org/plasma/plasma-desktop/-/issues/71People keep manually mounting network shares, causing hangs, and then blaming...2024-03-25T09:52:16ZNate GrahamPeople keep manually mounting network shares, causing hangs, and then blaming KDE code for itWe have KIO which provides asynchronous file access. We have kio-fuse that extends it to apps that don't use KIO. But none of that matters for network mounts that have been manually mounted using `/etc/fstab`. People keep doing that and ...We have KIO which provides asynchronous file access. We have kio-fuse that extends it to apps that don't use KIO. But none of that matters for network mounts that have been manually mounted using `/etc/fstab`. People keep doing that and then complaining in bug reports and reddit posts that Plasma or some app hangs. [Most recent example](https://www.reddit.com/r/kde/comments/10v7emn/comment/j7fzaft/?utm_source=reddit&utm_medium=web2x&context=3). I see this at least once a month; it's clearly a pain point for users even if we solved it years ago. But they don't know!
...Maybe we should tell them. I'm imagining we could have a small program that parses `/etc/fstab` at boot (or even upon receiving a notification of changes to that file) that opens and and detects the presence of manually-added network shares. Then it could display a dialog to the user saying something along the lines of, "hey, did you know this isn't needed and can even be harmful? I can replace the mount with a shortcut pointing to the network location and that will work much better. Would you like me to do this now?" With buttons saying, "Do it" and "No, ignore this mount". Then if the user clicks "No, ignore this mount" we go on to explain that it can cause hangs in GUI apps and they're on their own if they do it, so please don't file bug reports about it.
The idea might seem silly, but without something like this, I fear we're going to be fielding complaints about this forever.https://invent.kde.org/plasma/plasma-desktop/-/issues/70Plasma 6 proposal: Drop kcminit2023-05-06T08:57:44ZDavid EdmundsonPlasma 6 proposal: Drop kcminit# kcminit
- runs really really really early on startup in a blocking way before apps or plasmashell start
- runs some small amount of code, typically reading settings and exposing them to some other format
- closes
# kded (phase 1)
...# kcminit
- runs really really really early on startup in a blocking way before apps or plasmashell start
- runs some small amount of code, typically reading settings and exposing them to some other format
- closes
# kded (phase 1)
- runs really early on startup in a blocking way before any apps start.
(but unlike kcminit after, ksmserver, plasmashell, kwin_x11?)
- runs some small amount of code, typically monitoring for some event then running a KDE hook
- stays open throughout the session
- can unload itself if it needs to?
We currently have 5 kcminit modules:
- kcm_touchpad.so
- kcm_style.so
- kcm_kgamma.so
- kcm_mouse.so
- kcm_fonts.so
touchpad and mouse need to watch for new devices (currently this is very randomly done by the keyboard kded module)
Fonts sets things in rdb and we want to tie to the lifespan of the X11 server so kcminit isn't a good fit. See also https://invent.kde.org/plasma/kwin/-/issues/135
Proposal is to go through each one, list what it does and then move things to kded modules or standalone applications.
Then we can chuck kcminit in the bin.
The big thing to be wary of is anything that sets environment variables that kded itself would need on startup before kded loads.6https://invent.kde.org/plasma/latte-dock/-/issues/125shows erratic visual glitches: whole dock2023-02-05T19:24:03Zsly nobodyshows erratic visual glitches: whole dockdock borders (left and right) show erratic visual glitches when hovered upon. seems to be not redrawn properly.
- [ ] sometimes visually stays in that form (after animation)
- [ ] not nice to look at
- [ ] (self-compiled as well as pack...dock borders (left and right) show erratic visual glitches when hovered upon. seems to be not redrawn properly.
- [ ] sometimes visually stays in that form (after animation)
- [ ] not nice to look at
- [ ] (self-compiled as well as packages)
- [ ] ![2023-02-05_19-28](/uploads/83648447e7b631061546254b44a1e5d3/2023-02-05_19-28.jpg)https://invent.kde.org/plasma/latte-dock/-/issues/124does not respect scaling factor: border-thickness2023-02-05T19:25:20Zsly nobodydoes not respect scaling factor: border-thicknessif scaling-factor of kde is changed (as well as resolution), border-thickness of latte-dock *does not respect new scaling-factor* (stays, does not adapt to new factor).
reproduce:
- if this is is standard:
- [ ] kscreen-doctor output.eD...if scaling-factor of kde is changed (as well as resolution), border-thickness of latte-dock *does not respect new scaling-factor* (stays, does not adapt to new factor).
reproduce:
- if this is is standard:
- [ ] kscreen-doctor output.eDP-1.mode.0
- [ ] kscreen-doctor output.eDP-1.scale.2
- this will double border:
- [ ] kscreen-doctor output.eDP-1.mode.8
- [ ] kscreen-doctor output.eDP-1.scale.1
[ please note the situation regarding kde-apps on the right, does survive a revert of the scaling back to standard ]
![2023-02-05_19-30](/uploads/082f07faffb5c9293526592d9f304283/2023-02-05_19-30.png)
![2023-02-05_19-30_1](/uploads/f3c09149e462deb49f947d1042d7c526/2023-02-05_19-30_1.png)https://invent.kde.org/plasma/plasma-desktop/-/issues/69Plasma 6 proposal: disable splash screen by default2023-05-14T19:13:48ZFushan WenPlasma 6 proposal: disable splash screen by defaultThe splash screen from ancient times was used to make people less anxious during the long period of a login process.
![图片](/uploads/d45359c740f32cb2952a9026c5ab5b74/图片.png)
But since Windows has become almost unusable with HDD, SSD is ...The splash screen from ancient times was used to make people less anxious during the long period of a login process.
![图片](/uploads/d45359c740f32cb2952a9026c5ab5b74/图片.png)
But since Windows has become almost unusable with HDD, SSD is popular nowadays. The splash screen on the contrary increases the loading time from entering password to the desktop finally being shown, brings negative performance hints about KDE Plasma. It's time to disable splash by default, and perhaps even remove it completely in Plasma 6.6https://invent.kde.org/plasma/plasma-mobile/-/issues/236[navigationpanel] Switch to gesture only mode by default2024-03-21T18:21:27ZDevin Lin[navigationpanel] Switch to gesture only mode by defaultI think for Plasma 6 we should switch to gesture mode by default, because:
- It takes up screen real estate
- Buttons can be accidentally pressed
- The navigation bar being a different colour from apps (especially ones with graphics in t...I think for Plasma 6 we should switch to gesture mode by default, because:
- It takes up screen real estate
- Buttons can be accidentally pressed
- The navigation bar being a different colour from apps (especially ones with graphics in the footer) looks really ugly
However, in order for this to happen, we need gestures to be better, which means these should be resolved:
- https://invent.kde.org/plasma/plasma-mobile/-/issues/186
- https://invent.kde.org/plasma/plasma-mobile/-/issues/1736.1https://invent.kde.org/plasma/plasma-workspace/-/issues/59Day and Night color scheme switching2024-02-27T02:43:03ZNatalie Clariusnatalie_clarius@yahoo.deDay and Night color scheme switchingDecopuled form https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2567 to discuss what we want for the design before we discuss the code.
The feature discussed is a new option to automatically switch between a preferred lig...Decopuled form https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2567 to discuss what we want for the design before we discuss the code.
The feature discussed is a new option to automatically switch between a preferred light and dark color scheme based on time of day, and possibly unifying this with the existing "night color" (screen temperature) functionality.
@teams/vdg
FEATURE: 408563https://invent.kde.org/plasma/plasma-mobile/-/issues/235[homescreens/halcyon] Home screen empty favourites arrow is backwards2023-02-16T05:00:25Zcaleb connolly[homescreens/halcyon] Home screen empty favourites arrow is backwardsOn a fresh install with no favourite apps, the home screen has an arrow pointing to the right to tell the user where to find a list of all their apps. This is backwards to how I expected as I thought the arrow indicates which direction t...On a fresh install with no favourite apps, the home screen has an arrow pointing to the right to tell the user where to find a list of all their apps. This is backwards to how I expected as I thought the arrow indicates which direction to *swipe* in.
I believe paged interfaces generally use arrows in the middle to indicate the drag direction, instead an arrow at the edge would indicate that there's a page there. Dots at the bottom would also help here.
I propose reversing the direction of the arrowhttps://invent.kde.org/plasma/kwin/-/issues/136Use JSON metadata for Aurorae SVG themes2023-01-29T13:13:00ZNicolas FellaUse JSON metadata for Aurorae SVG themesGenerally we are moving towards using JSON file metadata instead of Desktop file metadata for packages.
For QML-based Aurorae themes we already prefer metadata.json and warn when metadata.desktop is used: https://invent.kde.org/plasma/k...Generally we are moving towards using JSON file metadata instead of Desktop file metadata for packages.
For QML-based Aurorae themes we already prefer metadata.json and warn when metadata.desktop is used: https://invent.kde.org/plasma/kwin/-/blob/master/src/plugins/kdecorations/aurorae/src/aurorae.cpp#L759
However for SVG-based themes we only support metadata.desktop: https://invent.kde.org/plasma/kwin/-/blob/master/src/plugins/kdecorations/aurorae/src/aurorae.cpp#L664
We probably should move towards using JSON there too, if only for consistency