Configurable desktop items for sysadmins



[Re-sending from the correct address; sorry if you get a duplicate]

Hi, all,

A while ago, during the development of openSUSE 11.1, I wrote an
extensive patch for Nautilus to let a system administrator set up
desktop icons which would show up in users' desktops.

I can't find anything on the mailing list archives related to this, nor
in my Sent folder, so I guess I only talked to this to Alex on IRC.

The idea is this:

You are a system administrator, and you would like to populate your
users' desktops with some icons:  a link to the helpdesk, or some
commonly-used template documents used in your site, or something like
that.

My implementation works like this:

1. The sysadmin sets the /apps/nautilus/desktop/predefined_items_dir key
in GConf to point to a directory.  Nautilus will see what files are in
that directory, and it will show them as icons in users' desktops.

2. Users see the desktop items and can manipulate them as usual, except
that some of them may not be removable.

3. If the sysadmin drops a .desktop file in the predefined_items_dir,
then that file may have an "X-XDG-Is-Mandatory" boolean key.  If it is
true, then the user cannot remove that item.  If it is false, the idea
was that the user could hide that item away from his normal view, and
show it again if he turns on "Show hidden files".

My implementation's policy was biased towards the sysadmin - items are
mandatory by default, and you have to make them non-mandatory
explicitly.  Alex wasn't happy about this, if I remember correctly.
Fortunately, that's easy to change.

Anyway --- my old code for this is here:
http://gitorious.org/nautilus/nautilus - look for the branch called
"sysadmin-desktop-items-opensuse".

I am not happy at all about the code in there, though.  My idea was to
turn NautilusDesktopDirectory into something like
NautilusMergedDirectory, which would combine the contents of ~/Desktop
and the directory which the sysadmin had configured.  This proved to be
rather hard, and the branch in that repository reflects that; there are
a lot of fixes and general cruft that I haven't cleaned up yet.

I just wonder if this is something that people generally want.  If so, I
can rebase the code to a recent version of Nautilus and try to clean it
up.  I'm also wondering if there is an easier way to "merge" the
sysadmin directory into the desktop directory.

  Federico



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