Plasma issueshttps://invent.kde.org/groups/plasma/-/issues2024-03-14T15:44:03Zhttps://invent.kde.org/plasma/plasma-workspace/-/issues/116Sort appium tests by creating folders2024-03-14T15:44:03ZFushan WenSort appium tests by creating foldersWith more and more appium tests being added, it's necessary to sort them so people will not get lost.
- applets
- kcms
- ...With more and more appium tests being added, it's necessary to sort them so people will not get lost.
- applets
- kcms
- ...Fushan WenFushan Wenhttps://invent.kde.org/plasma/kscreenlocker/-/issues/12Screenlocker is busted in plasma 6 RC22024-02-14T06:29:26ZPetar MargeticScreenlocker is busted in plasma 6 RC2I'm using **plasma 6 RC 2** and I've noticed that **screen locker on X11** isn't working as it's supposed to. Once triggered, it will blank out the screen. Mouse cursor remains visible on it. It takes a long while for it to display the p...I'm using **plasma 6 RC 2** and I've noticed that **screen locker on X11** isn't working as it's supposed to. Once triggered, it will blank out the screen. Mouse cursor remains visible on it. It takes a long while for it to display the password prompt. Once the password is entered, it doesn't respond to ENTER/RETURN on the keyboard, only by clicking on the arrow symbol next to the password field can one get back to the desktop. Once the password is entered, desktop is displayed for split second and once again bla![2024-02-14_14-21-03-_00.00.350-00.37.683_-audio](/uploads/426bd3357dd5548afe099494204022cb/2024-02-14_14-21-03-_00.00.350-00.37.683_-audio.webm)ked for a long while, with mouse cursor again being visible.
Attached you will find a video showcasing the above described issues.https://invent.kde.org/plasma/plasma-mobile/-/issues/310navigationpanel: Close keyboard button icon doesn't change2024-03-14T19:21:44ZDevin Linnavigationpanel: Close keyboard button icon doesn't changeThe icon here doesn't seem to change: https://invent.kde.org/plasma/plasma-mobile/-/blob/master/containments/taskpanel/package/contents/ui/NavigationPanelComponent.qml#L88
The button when clicked does close the keyboard, but the icon re...The icon here doesn't seem to change: https://invent.kde.org/plasma/plasma-mobile/-/blob/master/containments/taskpanel/package/contents/ui/NavigationPanelComponent.qml#L88
The button when clicked does close the keyboard, but the icon remains the "x" icon (not the "down" icon).6https://invent.kde.org/plasma/plasma-mobile/-/issues/309mmplugin: Deduplicate code from kcms/cellularnetwork2024-02-12T20:02:12ZDevin Linmmplugin: Deduplicate code from kcms/cellularnetworkThere is a lot of shared code, let's de-duplicate it
https://invent.kde.org/plasma/plasma-mobile/-/blob/master/components/mmplugin/signalindicator.cpp
https://invent.kde.org/plasma/plasma-mobile/-/blob/master/kcms/cellularnetwork/modem...There is a lot of shared code, let's de-duplicate it
https://invent.kde.org/plasma/plasma-mobile/-/blob/master/components/mmplugin/signalindicator.cpp
https://invent.kde.org/plasma/plasma-mobile/-/blob/master/kcms/cellularnetwork/modem.cpphttps://invent.kde.org/plasma/plasma-mobile/-/issues/308quicksettings/dockedmode: Toggling docked mode seems to crash the shell (or k...2024-02-23T15:32:36ZDevin Linquicksettings/dockedmode: Toggling docked mode seems to crash the shell (or kwin?)Experienced on pmOS nightlyExperienced on pmOS nightlyhttps://invent.kde.org/plasma/krdp/-/issues/15Needs porting to FreeRDP 3.x2024-02-09T12:04:48ZNeal GompaNeeds porting to FreeRDP 3.xI had assumed based on 4ff283a7afdcf4fed67450aeb1739463f4a59488 that KRdp builds with FreeRDP 3, but that is apparently not the case currently.
Fedora is switching to FreeRDP 3 for Fedora 40, but it currently fails to build with [my com...I had assumed based on 4ff283a7afdcf4fed67450aeb1739463f4a59488 that KRdp builds with FreeRDP 3, but that is apparently not the case currently.
Fedora is switching to FreeRDP 3 for Fedora 40, but it currently fails to build with [my commit](https://invent.kde.org/ngompa/krdp/-/commit/2ac6b00d376c9f15fedca71b0268c6d33fe9bc92) to bump to FreeRDP 3.
Here's a full build log from the Fedora Rawhide package build: [80f8d261.txt](/uploads/d7b25c343ffa370901c0badf4885ff6f/80f8d261.txt)https://invent.kde.org/plasma/kwin/-/issues/203Rename night color to night light2024-02-27T20:55:55ZVlad ZahorodniiRename night color to night lightNight Light goes under three names currently:
- ColorCorrect
- NightColor
- NightLight
it's messy, it would be great to clean things up a bit.
Changing the class names shouldn't be a problem. Changing the d-bus interface can be consid...Night Light goes under three names currently:
- ColorCorrect
- NightColor
- NightLight
it's messy, it would be great to clean things up a bit.
Changing the class names shouldn't be a problem. Changing the d-bus interface can be considered as an api breaking change and it is preferred to avoid such changes in minor releases if possible.
The types can be renamed later, but the d-bus interfaces may need to be renamed in 6.0 to avoid breaking API in 6.1.https://invent.kde.org/plasma/plasma-mobile/-/issues/307taskswitcher: KWin effects seem to be extremely slow on the pinephone2024-03-16T17:19:29ZDevin Lintaskswitcher: KWin effects seem to be extremely slow on the pinephoneThe task switcher is considerably slower than other parts of the shell on the Pinephone (~5fps). I suspect that it's related to how it's a KWin effect.The task switcher is considerably slower than other parts of the shell on the Pinephone (~5fps). I suspect that it's related to how it's a KWin effect.6https://invent.kde.org/plasma/plasma-mobile/-/issues/305quicksettings: Holding to open settings app doesn't show app launch screen2024-02-07T03:50:15ZDevin Linquicksettings: Holding to open settings app doesn't show app launch screen6https://invent.kde.org/plasma/plasma-mobile/-/issues/304Poweroff screen only shows logout and cancel2024-02-23T15:43:11ZDevin LinPoweroff screen only shows logout and cancelneed to investigate, likely related to https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/3823need to investigate, likely related to https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/38236.1https://invent.kde.org/plasma/plasma-mobile/-/issues/303No indication of currently active calls2024-02-11T16:07:08ZBart RibbersNo indication of currently active callsWhen a call is ongoing, there is no indication for it at all. So you can pick up, but there is no way to see who is calling while it's active or to hang up.When a call is ongoing, there is no indication for it at all. So you can pick up, but there is no way to see who is calling while it's active or to hang up.https://invent.kde.org/plasma/plasma-mobile/-/issues/302PinePhone performance is severely degraded2024-02-03T21:51:26ZDevin LinPinePhone performance is severely degradedThe performance of the shell and apps on both the PinePhone and PinePhone Pro are severely degraded from Plasma 5, need to trace down the causeThe performance of the shell and apps on both the PinePhone and PinePhone Pro are severely degraded from Plasma 5, need to trace down the cause6https://invent.kde.org/plasma/xdg-desktop-portal-kde/-/issues/16Follow-up from "RemoteDesktop: Include clipboard_enabled and the restore data...2024-01-28T14:17:55ZNicolas FellaFollow-up from "RemoteDesktop: Include clipboard_enabled and the restore data even when no screens are requested"The following discussion from !265 should be addressed:
- [ ] @psariputra started a [discussion](https://invent.kde.org/plasma/xdg-desktop-portal-kde/-/merge_requests/265#note_859005): (+1 comment)
> Er, I just got around to testi...The following discussion from !265 should be addressed:
- [ ] @psariputra started a [discussion](https://invent.kde.org/plasma/xdg-desktop-portal-kde/-/merge_requests/265#note_859005): (+1 comment)
> Er, I just got around to testing what happens if I untick the persist checkbox in the permissions dialog, but the permissions still persist even after restarting kdeconnectd?
>
> So, the `session->persistMode() != ScreenCastPortal::NoPersist` condition stays true even with the checkbox unticked?https://invent.kde.org/plasma/plasma-desktop/-/issues/116How to deal with margins around applets2024-03-26T07:57:50ZNiccolò VenerandiHow to deal with margins around appletsHere's a fun choice: should applets themselves have the responsibility to draw margins around them, or should their container do that?
There are a couple of places where this issue arises. Firstly, we have the panel; if we draw the back...Here's a fun choice: should applets themselves have the responsibility to draw margins around them, or should their container do that?
There are a couple of places where this issue arises. Firstly, we have the panel; if we draw the background of all applets "lightcoral", we can easily see that _most_ applets draw _some_ margin around them, though we still have the panel draw some margin between the applets themselves:
![Screenshot_20240127_192614](/uploads/89a5ce57cbdd2239ae6f1bf3adab22da/Screenshot_20240127_192614.png)
This can, IMO, create some issues. As an example, a nice idea would be for icons-only applets to have exactly a 1:1 aspect ratio (they currently don't); however, if we do that, the additional margin provided by the panel will be quite unnecessary (and, actually, might even feel excessive). However, if we allow applets to define the external margin themselves with little to no help from the panel, there's no way for themes to actually customize the density of the elements.
We have a similar problem with applets in dialogs. The theme will define an external margin to be used between the border of the dialog and the inner items. Usually, that amount is very small, and as a result, all applets will add some extra margin themselves. This causes some inconsistencies between applets (applying different amounts of margins) and makes it impossible for themes to have dialogs with no margins whatsoever (should they even be allowed to? I say yes, because why not).
---
My personal take, after a bit of time and thought, is that we should always explicitly ask applets (both compact and full representations) to _always_ touch the external borders; if they set a certain size, they should always use all of it. This gives complete control of the external margin to the containment, which I feel is the easiest way to get both consistency and customization. This will require a bit of work on our own applets (I can do that) and asking for compliance from third-party applets (now is the best time to do that).
There are some scenarios where the applet reasonably can't actually touch the borders. As an example, all icons (for some reason which I'll never accept!) come with a margin built in directly in the SVG. _In a utopia_ I would make all SVGs touch the external borders, but we can't feasibly implement this. _Ideally_ we could read the actual size of the SVG element inside the file and base the size of the applet on that. Worst case scenario, we allow that SVG-icon margin to mess a bit with our design (as it does now, really). Buttons and other elements also come with built-in margin, but I'd say that's fine, since it actually gets used to e.g. display highlights and such.Niccolò VenerandiNiccolò Venerandihttps://invent.kde.org/plasma/kwin/-/issues/201[Wayland fractional scaling] Windows become blurry when effects are active2024-01-24T18:43:47ZMatin Lotfaliei[Wayland fractional scaling] Windows become blurry when effects are activeI was checking the issue on my effect [here](https://github.com/matinlotfali/KDE-Rounded-Corners/issues/149) that I learned that it also applies to "Invert", "Wobbly", "Screenshot" and probably any others that involves shaders or texture...I was checking the issue on my effect [here](https://github.com/matinlotfali/KDE-Rounded-Corners/issues/149) that I learned that it also applies to "Invert", "Wobbly", "Screenshot" and probably any others that involves shaders or textures.
So I am also linking these two known bug reports:
- https://bugs.kde.org/show_bug.cgi?id=480021
- https://bugs.kde.org/show_bug.cgi?id=456965https://invent.kde.org/plasma/plasma-workspace/-/issues/114Change how the brightness applet and nightcolor KCM interacts2024-02-27T02:43:01ZJin Lium.liu.jin@gmail.comChange how the brightness applet and nightcolor KCM interactsBUG: 468068
Status quo:
1. In the KCM, I can select a night color **schedule** from: sunset, time of day, always on, always off.
1. In the applet, I can turn a switch that enables the **schedule**, not night color itself.
Problems:
1. ...BUG: 468068
Status quo:
1. In the KCM, I can select a night color **schedule** from: sunset, time of day, always on, always off.
1. In the applet, I can turn a switch that enables the **schedule**, not night color itself.
Problems:
1. I can temporarily disable night color when it's _scheduled_ to be on, by turning off the switch in the applet. But I can't temporarily enable night color when it's _scheduled_ to be off.
1. So when a time-based schedule is in effect, and it's daytime, turning the switch seems to have no effect, which can be very confusing.
1. When a night color schedule is selected, and the switch is off, the applet icon turns to a lightbulb crossed by a red line. It is wrong: a) the applet has other function - brightness control - so when night color is off, it should show the brightness icon. b) even if it should indicate that night color is off, the icon should be just the night color icon crossed.
Proposal:
1. In the KCM, merge "always off" and "always on" into a "controlled manually" option.
1. In the applet, the state of the switch should always reflect whether night color is currently in effect. Turning the switch should immediately enable/disable the night color effect, regardless of the _schedule_ selected in KCM.
1. The state of the switch should persist over sessions.
1. The schedule selected in KCM should act as if it turns on / turns off the switch in the applet at the specified time (even if the machine is powered off then). It should not interfere with the user turning the switch manually.
1. When night color is off, the tray icon should be "brightness", regardless of the _schedule_ selected in KCM.
1. The "night color" hotkey in kwin should be functionally identical to the switch in applet.
1. Show a notification when a scheduled switch happens.
@ngraham @vladzhttps://invent.kde.org/plasma/plasma-mobile/-/issues/301systemdialog: Fails to open correctly on mobile, missing buttons2024-03-06T20:40:00ZMaxime Roussin-Belangersystemdialog: Fails to open correctly on mobile, missing buttons![2024-01-23_13-01-1706035601.png](/uploads/6afc5e86cae0dc90835da6652e3aaa95/2024-01-23_13-01-1706035601.png)
I wanted to start a KRFB session, but I can't press the share button because it doesn't show up.
The warning logs:
```plain...![2024-01-23_13-01-1706035601.png](/uploads/6afc5e86cae0dc90835da6652e3aaa95/2024-01-23_13-01-1706035601.png)
I wanted to start a KRFB session, but I can't press the share button because it doesn't show up.
The warning logs:
```plaintext
Jan 23 19:29:57 S6872-3w2o xdg-desktop-portal-kde[2090]: Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Jan 23 19:29:57 S6872-3w2o xdg-desktop-portal-kde[2090]: Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Jan 23 19:29:57 S6872-3w2o xdg-desktop-portal-kde[2090]: file:///usr/share/plasma/look-and-feel/org.kde.breeze.mobile/contents/systemdialog/SystemDialog.qml:241:45: QML Binding: Binding loop detected for property "value"
Jan 23 19:29:57 S6872-3w2o xdg-desktop-portal-kde[2090]: Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Jan 23 19:29:57 S6872-3w2o xdg-desktop-portal-kde[2090]: Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
```6Carl Schwancarl@carlschwan.euCarl Schwancarl@carlschwan.euhttps://invent.kde.org/plasma/plasma-workspace/-/issues/113plasmashell coredump from theme's org.kde.plasma.desktop-layout.js2024-01-18T21:43:08ZBenjamin Fleschplasmashell coredump from theme's org.kde.plasma.desktop-layout.jsWhen you write `var panel = new panel(3)` in `contents/layouts/org.kde.plasma.desktop-layout.js` of a global theme, plasmashell will coredump.
This can be also triggered with `qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.e...When you write `var panel = new panel(3)` in `contents/layouts/org.kde.plasma.desktop-layout.js` of a global theme, plasmashell will coredump.
This can be also triggered with `qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "getApiVersion(1).newPanel(3)"`
`Error: org.freedesktop.DBus.Error.NoReply `\
`Remote peer disconnected`
newPanel is defined here: https://github.com/KDE/plasma-workspace/blob/master/shell/scripting/scriptengine_v1.cpp#L430
```plaintext
Process 93207 (plasmashell) of user 1000 dumped core.
Stack trace of thread 93207:
#0 0x000070da868ac83c n/a (libc.so.6 + 0x8e83c)
#1 0x000070da8685c668 raise (libc.so.6 + 0x3e668)
#2 0x000070da891eb41c _ZN6KCrash19defaultCrashHandlerEi (libKF5Crash.so.5 + 0x741c)
#3 0x000070da8685c710 n/a (libc.so.6 + 0x3e710)
#4 0x000070da8936ec7f _ZNK6Plasma11Containment6coronaEv (libKF5Plasma.so.5 + 0x34c7f)
#5 0x000060d4b00b780f n/a (plasmashell + 0x6b80f)
#6 0x000060d4b00c1a42 n/a (plasmashell + 0x75a42)
#7 0x000060d4b00c1cfa n/a (plasmashell + 0x75cfa)
#8 0x000060d4b00c1e94 n/a (plasmashell + 0x75e94)
#9 0x000060d4b007a2e5 n/a (plasmashell + 0x2e2e5)
#10 0x000060d4b007b193 n/a (plasmashell + 0x2f193)
#11 0x000070da8867cff4 n/a (libQt5Qml.so.5 + 0x27cff4)
#12 0x000070da8857ebe1 n/a (libQt5Qml.so.5 + 0x17ebe1)
#13 0x000070da885801b7 _ZNK3QV413QObjectMethod12callInternalEPKNS_5ValueES3_i (libQt5Qml.so.5 + 0x1801b7)
#14 0x000070da885a5fbd _ZN3QV47Runtime8CallName4callEPNS_15ExecutionEngineEiPNS_5ValueEi (libQt5Qml.so.5 + 0x1a5fbd)
#15 0x000070da885903ea n/a (libQt5Qml.so.5 + 0x1903ea)
#16 0x000070da88593d24 n/a (libQt5Qml.so.5 + 0x193d24)
#17 0x000070da885420b4 n/a (libQt5Qml.so.5 + 0x1420b4)
#18 0x000070da8859170b n/a (libQt5Qml.so.5 + 0x19170b)
#19 0x000070da88593d24 n/a (libQt5Qml.so.5 + 0x193d24)
#20 0x000070da8853731a _ZN3QV48Function4callEPKNS_5ValueES3_iPKNS_16ExecutionContextE (libQt5Qml.so.5 + 0x13731a)
#21 0x000070da8856eeed _ZN3QV46Script3runEPKNS_5ValueE (libQt5Qml.so.5 + 0x16eeed)
#22 0x000070da885040bb _ZN9QJSEngine8evaluateERK7QStringS2_i (libQt5Qml.so.5 + 0x1040bb)
#23 0x000060d4b00bf2a4 n/a (plasmashell + 0x732a4)
#24 0x000060d4b00a0d2f n/a (plasmashell + 0x54d2f)
#25 0x000060d4b009f705 n/a (plasmashell + 0x53705)
#26 0x000070da870d0e27 n/a (libQt5Core.so.5 + 0x2d0e27)
#27 0x000070da895c4846 _ZN11KActivities8Consumer20serviceStatusChangedENS0_13ServiceStatusE (libKF5Activities.so.5 + 0xc846)
#28 0x000070da870d0e27 n/a (libQt5Core.so.5 + 0x2d0e27)
#29 0x000070da895d64a2 n/a (libKF5Activities.so.5 + 0x1e4a2)
#30 0x000070da895d7f47 n/a (libKF5Activities.so.5 + 0x1ff47)
#31 0x000070da870d0fe3 n/a (libQt5Core.so.5 + 0x2d0fe3)
#32 0x000070da8831ead4 _ZN23QDBusPendingCallWatcher8finishedEPS_ (libQt5DBus.so.5 + 0x57ad4)
#33 0x000070da870c3964 _ZN7QObject5eventEP6QEvent (libQt5Core.so.5 + 0x2c3964)
#34 0x000070da87d788ff _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt5Widgets.so.5 + 0x1788ff)
#35 0x000070da8709bef8 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt5Core.so.5 + 0x29bef8)
#36 0x000070da870a0e5b _ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData (libQt5Core.so.5 + 0x2a0e5b)
#37 0x000070da870e6ec8 n/a (libQt5Core.so.5 + 0x2e6ec8)
#38 0x000070da85db7f69 n/a (libglib-2.0.so.0 + 0x59f69)
#39 0x000070da85e16367 n/a (libglib-2.0.so.0 + 0xb8367)
#40 0x000070da85db6162 g_main_context_iteration (libglib-2.0.so.0 + 0x58162)
#41 0x000070da870ead0c _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5 + 0x2ead0c)
#42 0x000070da8709ac04 _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5 + 0x29ac04)
#43 0x000070da8709c0a3 _ZN16QCoreApplication4execEv (libQt5Core.so.5 + 0x29c0a3)
#44 0x000060d4b007016c n/a (plasmashell + 0x2416c)
#45 0x000070da86845cd0 n/a (libc.so.6 + 0x27cd0)
#46 0x000070da86845d8a __libc_start_main (libc.so.6 + 0x27d8a)
#47 0x000060d4b0070515 n/a (plasmashell + 0x24515)
Stack trace of thread 93228:
#0 0x000070da868a74ae n/a (libc.so.6 + 0x894ae)
#1 0x000070da868a9d40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x000070da793139dc n/a (radeonsi_dri.so + 0x1139dc)
#3 0x000070da7930ad1c n/a (radeonsi_dri.so + 0x10ad1c)
#4 0x000070da868aa9eb n/a (libc.so.6 + 0x8c9eb)
#5 0x000070da8692e7cc n/a (libc.so.6 + 0x1107cc)
Stack trace of thread 93212:
#0 0x000070da868a74ae n/a (libc.so.6 + 0x894ae)
#1 0x000070da868a9d40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x000070da86efb524 _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt5Core.so.5 + 0xfb524)
#3 0x000070da88923004 n/a (libQt5WaylandClient.so.5 + 0x73004)
#4 0x000070da86ef379a n/a (libQt5Core.so.5 + 0xf379a)
#5 0x000070da868aa9eb n/a (libc.so.6 + 0x8c9eb)
#6 0x000070da8692e7cc n/a (libc.so.6 + 0x1107cc)
Stack trace of thread 93231:
#0 0x000070da868a74ae n/a (libc.so.6 + 0x894ae)
#1 0x000070da868a9d40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x000070da793139dc n/a (radeonsi_dri.so + 0x1139dc)
#3 0x000070da7930ad1c n/a (radeonsi_dri.so + 0x10ad1c)
#4 0x000070da868aa9eb n/a (libc.so.6 + 0x8c9eb)
#5 0x000070da8692e7cc n/a (libc.so.6 + 0x1107cc)
Stack trace of thread 93217:
#0 0x000070da868a74ae n/a (libc.so.6 + 0x894ae)
#1 0x000070da868a9d40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x000070da793139dc n/a (radeonsi_dri.so + 0x1139dc)
#3 0x000070da7930ad1c n/a (radeonsi_dri.so + 0x10ad1c)
#4 0x000070da868aa9eb n/a (libc.so.6 + 0x8c9eb)
#5 0x000070da8692e7cc n/a (libc.so.6 + 0x1107cc)
Stack trace of thread 93229:
#0 0x000070da868a74ae n/a (libc.so.6 + 0x894ae)
#1 0x000070da868a9d40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x000070da793139dc n/a (radeonsi_dri.so + 0x1139dc)
#3 0x000070da7930ad1c n/a (radeonsi_dri.so + 0x10ad1c)
#4 0x000070da868aa9eb n/a (libc.so.6 + 0x8c9eb)
#5 0x000070da8692e7cc n/a (libc.so.6 + 0x1107cc)
Stack trace of thread 93214:
#0 0x000070da868a74ae n/a (libc.so.6 + 0x894ae)
#1 0x000070da868a9d40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x000070da793139dc n/a (radeonsi_dri.so + 0x1139dc)
#3 0x000070da7930ad1c n/a (radeonsi_dri.so + 0x10ad1c)
#4 0x000070da868aa9eb n/a (libc.so.6 + 0x8c9eb)
#5 0x000070da8692e7cc n/a (libc.so.6 + 0x1107cc)
Stack trace of thread 93216:
#0 0x000070da868a74ae n/a (libc.so.6 + 0x894ae)
#1 0x000070da868a9d40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x000070da793139dc n/a (radeonsi_dri.so + 0x1139dc)
#3 0x000070da7930ad1c n/a (radeonsi_dri.so + 0x10ad1c)
#4 0x000070da868aa9eb n/a (libc.so.6 + 0x8c9eb)
#5 0x000070da8692e7cc n/a (libc.so.6 + 0x1107cc)
Stack trace of thread 93215:
#0 0x000070da868a74ae n/a (libc.so.6 + 0x894ae)
#1 0x000070da868a9d40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x000070da793139dc n/a (radeonsi_dri.so + 0x1139dc)
#3 0x000070da7930ad1c n/a (radeonsi_dri.so + 0x10ad1c)
#4 0x000070da868aa9eb n/a (libc.so.6 + 0x8c9eb)
#5 0x000070da8692e7cc n/a (libc.so.6 + 0x1107cc)
Stack trace of thread 93219:
#0 0x000070da868a74ae n/a (libc.so.6 + 0x894ae)
#1 0x000070da868a9d40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x000070da793139dc n/a (radeonsi_dri.so + 0x1139dc)
#3 0x000070da7930ad1c n/a (radeonsi_dri.so + 0x10ad1c)
#4 0x000070da868aa9eb n/a (libc.so.6 + 0x8c9eb)
#5 0x000070da8692e7cc n/a (libc.so.6 + 0x1107cc)
Stack trace of thread 93218:
#0 0x000070da868a74ae n/a (libc.so.6 + 0x894ae)
#1 0x000070da868a9d40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x000070da793139dc n/a (radeonsi_dri.so + 0x1139dc)
#3 0x000070da7930ad1c n/a (radeonsi_dri.so + 0x10ad1c)
#4 0x000070da868aa9eb n/a (libc.so.6 + 0x8c9eb)
#5 0x000070da8692e7cc n/a (libc.so.6 + 0x1107cc)
Stack trace of thread 93232:
#0 0x000070da86920f6f __poll (libc.so.6 + 0x102f6f)
#1 0x000070da85e162b6 n/a (libglib-2.0.so.0 + 0xb82b6)
#2 0x000070da85db6162 g_main_context_iteration (libglib-2.0.so.0 + 0x58162)
#3 0x000070da870ead0c _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5 + 0x2ead0c)
#4 0x000070da8709ac04 _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5 + 0x29ac04)
#5 0x000070da86ef7576 _ZN7QThread4execEv (libQt5Core.so.5 + 0xf7576)
#6 0x000070da886c5a20 n/a (libQt5Qml.so.5 + 0x2c5a20)
#7 0x000070da86ef379a n/a (libQt5Core.so.5 + 0xf379a)
#8 0x000070da868aa9eb n/a (libc.so.6 + 0x8c9eb)
#9 0x000070da8692e7cc n/a (libc.so.6 + 0x1107cc)
Stack trace of thread 93226:
#0 0x000070da868a74ae n/a (libc.so.6 + 0x894ae)
#1 0x000070da868a9d40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x000070da793139dc n/a (radeonsi_dri.so + 0x1139dc)
#3 0x000070da7930ad1c n/a (radeonsi_dri.so + 0x10ad1c)
#4 0x000070da868aa9eb n/a (libc.so.6 + 0x8c9eb)
#5 0x000070da8692e7cc n/a (libc.so.6 + 0x1107cc)
Stack trace of thread 93227:
#0 0x000070da868a74ae n/a (libc.so.6 + 0x894ae)
#1 0x000070da868a9d40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x000070da793139dc n/a (radeonsi_dri.so + 0x1139dc)
#3 0x000070da7930ad1c n/a (radeonsi_dri.so + 0x10ad1c)
#4 0x000070da868aa9eb n/a (libc.so.6 + 0x8c9eb)
#5 0x000070da8692e7cc n/a (libc.so.6 + 0x1107cc)
Stack trace of thread 93230:
#0 0x000070da868a74ae n/a (libc.so.6 + 0x894ae)
#1 0x000070da868a9d40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x000070da793139dc n/a (radeonsi_dri.so + 0x1139dc)
#3 0x000070da7930ad1c n/a (radeonsi_dri.so + 0x10ad1c)
#4 0x000070da868aa9eb n/a (libc.so.6 + 0x8c9eb)
#5 0x000070da8692e7cc n/a (libc.so.6 + 0x1107cc)
Stack trace of thread 93211:
#0 0x000070da86920f6f __poll (libc.so.6 + 0x102f6f)
#1 0x000070da85e162b6 n/a (libglib-2.0.so.0 + 0xb82b6)
#2 0x000070da85db6162 g_main_context_iteration (libglib-2.0.so.0 + 0x58162)
#3 0x000070da870ead0c _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5 + 0x2ead0c)
#4 0x000070da8709ac04 _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5 + 0x29ac04)
#5 0x000070da86ef7576 _ZN7QThread4execEv (libQt5Core.so.5 + 0xf7576)
#6 0x000070da882dfa9a n/a (libQt5DBus.so.5 + 0x18a9a)
#7 0x000070da86ef379a n/a (libQt5Core.so.5 + 0xf379a)
#8 0x000070da868aa9eb n/a (libc.so.6 + 0x8c9eb)
#9 0x000070da8692e7cc n/a (libc.so.6 + 0x1107cc)
Stack trace of thread 93213:
#0 0x000070da86920f6f __poll (libc.so.6 + 0x102f6f)
#1 0x000070da8892305d n/a (libQt5WaylandClient.so.5 + 0x7305d)
#2 0x000070da86ef379a n/a (libQt5Core.so.5 + 0xf379a)
#3 0x000070da868aa9eb n/a (libc.so.6 + 0x8c9eb)
#4 0x000070da8692e7cc n/a (libc.so.6 + 0x1107cc)
ELF object binary architecture: AMD x86-64
```https://invent.kde.org/plasma/plasma-workspace/-/issues/112plasma.loadSerializedLayout(layout) not restoring panels on proper display (w...2024-01-18T21:43:15ZBenjamin Fleschplasma.loadSerializedLayout(layout) not restoring panels on proper display (wayland)As a developer creating a global theme, it is currently not possible to place a panel on a specific display in a multi-monitor setup. Wayland has deprecated the concept of "primary displays", so desktops in `var desktopsArray = desktopsF...As a developer creating a global theme, it is currently not possible to place a panel on a specific display in a multi-monitor setup. Wayland has deprecated the concept of "primary displays", so desktops in `var desktopsArray = desktopsForActivity(currentActivity());` cannot be discerned.
When you have a multi-monitor setup (3 screens) and create new theme with the "Plasma Global Theme Explorer", and then click "Layout from current Plasma Setup" and "defaults from current setup" buttons, it creates a file in `contents/layouts/org.kde.plasma.desktop-layout.js` which has `var layout = {...}`, a JSON object that contains all the panels.
However, when this script is run, all panels get placed on the central display instead of one panel on each display.
This issue concerns the default script that is provided by the "plasma global theme explorer". After reading the plasma docs and deep diving into this issue, it seems there is no way to programatically place panels on a certain desktop - so this seems like a bug to me.https://invent.kde.org/plasma/plasma-workspace/-/issues/111Get current script folder in layout script2024-01-18T21:43:22ZBenjamin FleschGet current script folder in layout scriptIn a global theme `./contents/layouts/org.kde.plasma.desktop-layout.js` it is currently not possible to get the current script folder, e.g. to apply a wallpaper which is packaged in the same folder. Common javascript things such as `__fi...In a global theme `./contents/layouts/org.kde.plasma.desktop-layout.js` it is currently not possible to get the current script folder, e.g. to apply a wallpaper which is packaged in the same folder. Common javascript things such as `__filename`, `__dirname` and `path` are obviously not supported in the plasma theme scripting engine.
In order to apply a wallpaper file which is packaged in a global theme, one needs to resort to a very hacky way to get the current folder:
```
function getCurrentDirectory() {
try {
__filename
} catch (e) {
return e.stack.toString().split("file://")[1].split("org.kde.plasma.desktop-layout.js")[0]
}
throw "cannot get current directory"
}
// set wallpaper for all desktops
var desktopsArray = desktopsForActivity(currentActivity());
for( var j = 0; j < desktopsArray.length; j++) {
desktopsArray[j].wallpaperPlugin = 'org.kde.image';
desktopsArray[j].currentConfigGroup = Array("Wallpaper", "org.kde.image", "General")
desktopsArray[j].writeConfig("Image", getCurrentDirectory() + "/../../wallpapers/my-wallpaper.svg")
desktopsArray[j].writeConfig("FillMode", "1")
}
```
I'm creating this issue to document my workaround and ask for a cleaner way to reference files which are stored in the global theme folder alongside the plasma scripts.