** Description changed:
+ [ Impact ]
+
+ * An explanation of the effects of the bug on users and justification
+ for backporting the fix to the stable release.
+
+ * In addition, it is helpful, but not required, to include an
+ explanation of how the upload fixes this bug.
+
+ [ Test Plan ]
+
+ * See the "Steps to reproduce" from the original bug text below.
+
+ [ Where problems could occur ]
+
+ * While fixing adding widgets in some circumstances, it should be
+ tested that this does not adversely affect manually doing the same via
+ the UI, and that switching preinstalled themes that alter the widgets
+ and layout still work as expected.
+
+ [ Other Info ]
+
+ * Anything else you think is useful to include
+
Steps to Reproduce:
1. Modify the global theme layout in
`/usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/layouts/org.kde.plasma.desktop-layout.js`.
Use Plasma workspace scripting to add widgets to the desktop. In my case I
used `org.kde.plasma.icon` which references a desktop file from
`/usr/share/applications/firefox.desktop`, for example.
2. Select the Breeze them in System Settings > Colors & Themes > Breeze and
agree to apply `[x] Appearance settings` AND `[x] Desktop and windows layout`,
then apply
Observed Results:
Only the icons appear. The Panel at the bottom does not show.
Expected Results:
The panel and the icons should show.
Analysis:
1. No matter how you add the panel and widgets to the desktop, the panel
always disappears. It isn't hidden, and it isn't gone.
2. Instead, the panel exist but is assigned to screen -1. This is confirmed
by interrogating the object in the `plasma-interactiveconsole`:
const panel_list = panels();
print( 'Panel Count is ' + panel_list.length + '\n' );
- if ( panel_list.length === 1 ) {
- const panel_obj = panel_list[0];
- print( panel_obj.screen + '\n' );
- panel_obj.screen = 0;
+ if ( panel_list.length === 1 ) {
+ const panel_obj = panel_list[0];
+ print( panel_obj.screen + '\n' );
+ panel_obj.screen = 0;
}
3. Applying `panel_obj.screen = 0` does NOT fix the issue, and on re-run, the
value is reverted to -1.
4. The only 100% reliable solution is to add a junk panel, then delete it.
The original panel then reappears.
- const panel_junk_obj = new Panel;
- panel_junk_obj.remove();
+ const panel_junk_obj = new Panel;
+ panel_junk_obj.remove();
5. Unfortunately, the add-a-junk-panel trick only works AFTER a layout
is applied from the theme, and run in the interactive console. I expect
it would also work with a script triggered through qdbus6.
6. I attempted to apply the theme with one big serialized object that
included the panel and widgets all at once. This did not affect the fix
the behavior; the panel remains on screen -1 as described above.
(This is copied from this KDE bug comment by Michael Mikowski:
https://bugs.kde.org/show_bug.cgi?id=512005#c14)
** Summary changed:
- Layout use of addWidget nullifies defined panel
+ [SRU] Layout use of addWidget nullifies defined panel
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2153448
Title:
[SRU] Layout use of addWidget nullifies defined panel
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libplasma/+bug/2153448/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs