Bug 469061 - Can not pre-configure panel
Summary: Can not pre-configure panel
Status: REPORTED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Panel (show other bugs)
Version: 5.27.2
Platform: Debian testing Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-04-27 15:28 UTC by yvan
Modified: 2023-05-12 17:42 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description yvan 2023-04-27 15:28:01 UTC
Hi,

After reading reading the Kiosk documentation (https://develop.kde.org/docs/administration/kiosk/introduction/), I could not find a proper way to pre-configure panel to deploy Plasma to users, while it works for many other settings.

STEPS TO REPRODUCE
1. From a fresh user session, configure the panel (in my case pin / unpin applications to the task manager, disable the clipboard applet).
2. Copy `~/.config/plasma-org.kde.plasma.desktop-appletsrc` to `/etc/xdg/`.
3. Create a new user and log in.

OBSERVED RESULT
Plasma's panel is not pre-configured as intended.

EXPECTED RESULT
Plasma's panel should contain chosen applications in the task manager, and clipboard applet should be disabled, as configured in `/etc/xdg/plasma-org.kde.plasma.desktop-appletsrc`.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Debian 12 testing
(available in About System)
KDE Plasma Version: 5.27.2
KDE Frameworks Version: 5.103.0
Qt Version: 5.15.8

ADDITIONAL INFORMATION
I have the same issue with many Dolphin settings. For reference, I already asked with more details and without answer on Discuss [1], KDE users list [2] and Debian users list [3].
1. https://discuss.kde.org/t/can-not-configure-plasma-bottom-panel-nor-dolphin-with-kiosk/329
2. https://www.mail-archive.com/kde@mail.kde.org/msg06032.html
3. https://lists.debian.org/debian-user/2023/04/msg00186.html

Regards,
Yvan
Comment 1 veggero 2023-04-27 17:38:51 UTC
(In reply to yvan from comment #0)
> Hi,
> 
> After reading reading the Kiosk documentation
> (https://develop.kde.org/docs/administration/kiosk/introduction/), I could
> not find a proper way to pre-configure panel to deploy Plasma to users,
> while it works for many other settings.
> 
> STEPS TO REPRODUCE
> 1. From a fresh user session, configure the panel (in my case pin / unpin
> applications to the task manager, disable the clipboard applet).
> 2. Copy `~/.config/plasma-org.kde.plasma.desktop-appletsrc` to `/etc/xdg/`.
> 3. Create a new user and log in.
> 
> OBSERVED RESULT
> Plasma's panel is not pre-configured as intended.
> 
> EXPECTED RESULT
> Plasma's panel should contain chosen applications in the task manager, and
> clipboard applet should be disabled, as configured in
> `/etc/xdg/plasma-org.kde.plasma.desktop-appletsrc`.
> 
> SOFTWARE/OS VERSIONS
> Linux/KDE Plasma: Debian 12 testing
> (available in About System)
> KDE Plasma Version: 5.27.2
> KDE Frameworks Version: 5.103.0
> Qt Version: 5.15.8
> 
> ADDITIONAL INFORMATION
> I have the same issue with many Dolphin settings. For reference, I already
> asked with more details and without answer on Discuss [1], KDE users list
> [2] and Debian users list [3].
> 1.
> https://discuss.kde.org/t/can-not-configure-plasma-bottom-panel-nor-dolphin-
> with-kiosk/329
> 2. https://www.mail-archive.com/kde@mail.kde.org/msg06032.html
> 3. https://lists.debian.org/debian-user/2023/04/msg00186.html
> 
> Regards,
> Yvan

Hi!

I would suggest pre-configuring a panel through the Plasma API. Specifically:

In `/usr/share/plasma/shells/org.kde.plasma.desktop/contents/` you can find `layout.js`. This JS file is run at startup to set up `plasma-org.kde.plasma.desktop-appletsrc`. You can see it says `loadTemplate("org.kde.plasma.desktop.defaultPanel")`. If you look at `/usr/share/plasma/layout-templates`, you can find some default templates - including "org.kde.plasma.desktop.defaultPanel" - and you can create a new one (saving it in e.g. ~/.local/share/plasma/layout-templates).

I'm not sure how you could define a specific template for a certain user. Changing the above `layout.js` would work, but it could also be possible to create a new shell that has a different 'layout.js' and fallsback to Plasma Desktop for everything else. You'd then have to change the shell that's run at login with your custom shell. You can also, and this should be easier, do a Look-And-Feel with its own `layout.js`. You'd then have to specify to use that Look-And-Feel for the user, e.g. by modifying `~/.config/plasmarc`. I'm not sure whether that would run `layout.js` upon first startup.

Maybe some more expert Plasma dev could have a better approach?
Comment 2 yvan 2023-04-28 07:16:32 UTC
Thanks veggero for these explanations! I will have to look at this closer. One requirement for me is to NOT modify any file provided by packages, so that my customization remains after packages upgrades.
Comment 3 yvan 2023-05-01 19:24:18 UTC
I have read `/usr/share/plasma/layout-templates/org.kde.plasma.desktop.defaultPanel/contents/layout.js`. It would be interesting to modify it  (with the method you describe or another) to add or remove widgets.

On the other end, how could we modify widgets default settings? For example, as I said in my original message, how could we:
- add or remove programs in `org.kde.plasma.icontasks`
- disable clipboard by default in `org.kde.plasma.systemtray`

I strongly believe that being able to customize the panel and its widgets is important for enterprise deployment.
Comment 4 coolix 2023-05-12 17:42:09 UTC
Hi,

(In reply to yvan from comment #3)
> I strongly believe that being able to customize the panel and its widgets is
> important for enterprise deployment.
I second that, this is mandatory for enterprise development.
I stumble upon this bug report while searching docs to achieve the same thing.

I've found a Gist, written by a KDE contributor, that might help you to achieve what you want using Palsma API:
https://gist.github.com/Zren/764f17c26be4ea0e088f4a6a1871f528