Currently it is possible to restrict whether a user is allowed to change their backdrop or desktop menus through $sysconfdir/xdg/xfce4/kiosk/kioskrc. When the user menu is restricted it defaults to $sysconfdir/xdg/xfce/desktop/menu.xml. However, it is not possible to globally set whether the user sees the menus at all, as set in ~/.config/xfce/mcs_settings/desktop.xml. The shortcoming of this current approach is that when the user is allowed to modify desktop settings (in kioskrc) you can disable the desktop menus, but as soon as you apply restrictions to them in kioskrc the desktop menus are activated again. It would also be nice to be able to specify what backdrop is used, rather than defaulting to ~/.config/xfce/mcs_settings/desktop.xml. As for implementing it, you could create a variable in the kioskrc that when set would enable a global configuration to be read from $sysconfdir/xdg/xfce4/mcs_settings/desktop.xml. This feature request slightly overlaps with bug 1067 Reproducible: Always Steps to Reproduce: 1. 2. 3.
Just realised I was talking out of my arse in the third paragraph. What I was trying to say was that although you're able to lock whether a user is able to modify their desktop menus and backdrops, you're not able to globally specify the values found in ~/.config/xfce/mcs_settings/desktop.xml. Basically it comes down to this: if you want to globally set a desktop background or disable the menus for all your users, you're currently not able to do that. Having a global configuration somewhere under $sysconfdir/xdg/xfce/ and a variable in kioskrc would facilitate this. Cheers!
(In reply to comment #1) > What I was trying to say was that although you're able to lock whether a user is > able to modify their desktop menus and backdrops, you're not able to globally > specify the values found in ~/.config/xfce/mcs_settings/desktop.xml. Sure you can. Just create $sysconfdir/xdg/xfce4/mcs_settings/desktop.xml and disable the user settings via kioskrc. (In reply to comment #0) > When the user menu is restricted it defaults to > $sysconfdir/xdg/xfce/desktop/menu.xml. However, it is not possible to globally > set whether the user sees the menus at all, as set in > ~/.config/xfce/mcs_settings/desktop.xml. You can do the same trick as above. > As for implementing it, you could create a variable in the kioskrc that when set > would enable a global configuration to be read from > $sysconfdir/xdg/xfce4/mcs_settings/desktop.xml. I'm not sure what the problem is here: it should work exactly like that. Though I admit I've never tried it.
(In reply to comment #2) > Sure you can. Just create $sysconfdir/xdg/xfce4/mcs_settings/desktop.xml and > disable the user settings via kioskrc. <snip> > > As for implementing it, you could create a variable in the kioskrc that when set > > would enable a global configuration to be read from > > $sysconfdir/xdg/xfce4/mcs_settings/desktop.xml. > > I'm not sure what the problem is here: it should work exactly like that. Though > I admit I've never tried it. > Cool! Well, i'm currently trying it, and it's not working. :-) I've tested it on Xfce 4.2.1 on Ubuntu, and Xfce 4.2.2 on Fedora. Should I file this as a bug? Cheers!
Fix summary. That was weird.
Sorry for the delay on this; should be fixed in SVN trunk and 4.2 branch, and should make it into 4.2.3. Make sure that ~/.config/xfce4/mcs_plugins/desktop.xml doesn't exist, otherwise it'll be preferred.