Re: Configurable desktop items for sysadmins



On Tue, 2009-09-08 at 17:58 -0400, A. Walton wrote:
> I can see where the idea comes from, and it's sane from a syadmin's view,
> but from the user's point of view, it's quite evil, especially when it creates
> things that cannot be removed (easily or otherwise).

The implementation I have is indeed biased towards the sysadmin, but
this is mostly trivial to change (a tweak in the
predefined_file_should_override_user_file() function).  I'm quite happy
to change it to be biased towards users.

My idea was this:

1. .desktop files in the directory pointed
by /apps/nautilus/desktop/predefined-items-dir are scanned to see if
they have an X-XDG-Is-Mandatory key.  If they don't have one, they are
not mandatory.

2. Those files get shown in users' desktops.

3. If a user says "hide this file", then we do the following.  First,
copy the .desktop file to ~/Desktop.  Second, write a key
"X-XDG-Is-Hidden = true" to that file.  Files that have that key are not
shown (unless you do Show Hidden Files).

4. If a file in the sysadmin dir has the same name as one in ~/Desktop
*and* the sysadmin's file is newer than the user's, then the sysadmin's
file gets shown again.  This lets the sysadmin update his preconfigured
files and users will see the changes; they of course have the option of
hiding any file again.

(3) is unfortunately not implemented yet in my patchset, but it
shouldn't be hard to do.

One major missing thing from my code is that ou can't drag a mandatory
icon to another position.  The "drag an icon" machinery sees that the
icon comes from a sysadmin-owned directory, and thinks that the file is
read-only and cannot be moved.  I haven't hunted down exactly how this
happens, to see if the "drag an icon" code needs a special case for the
desktop directory, or something like that.

  Federico



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]