Global Desktop Items: A proposal



Hi all,

I am working on enhancing some of the "deployment friendly" stuff in
GNOME as a part of my Google SoC, and one of the things I am working
on is support for predefined global items on the desktop. To make my
current goal clearer, here's a sample use case (stolen shamelessly
from a doc by my mentor, Federico Mena Quintero).

** BEGIN **
Carlos has set up an internal wiki for the dinosaur park, so that
scientists can have a central place to log information about their
projects.  Say a researcher does voyeurism in the name of science, and
finds out how stegosauruses manage to mate while avoiding hurting each
other with their sharp armored plates.  The researcher will then want
to enter this data in the park's internal wiki, so that someone else,
who investigates the gestation of land-based dinosaurs, can access
this data.
The problem Carlos has is that researchers can never remember the URL
of that wiki.  He even tried to make it the default web page to be
shown on people's browsers, but they kept complaining that they
preferred to use boingboing.net instead.  Carlos has decided that he
will put an icon on people's desktops, which they can double-click to
launch a browser and show the park's wiki.
Similarly, Carlos wants to have some icons on the desktop which people
can use to launch commonly-used programs.  Nautilus supports showing
icons for desktop entries, but there is no way to configure them
centrally (except for maybe using Sabayon to predefine specific items,
but that's not a very elegant solution).
There needs to be a way for the administrator to install desktop
entries (".desktop files") that are used by Nautilus on user's
desktops, in addition to what users may put in their own ~/Desktop
directories. That is, we need to have support for global desktop items
in Nautilus.
** END **

The way I propose for going forward with this is to have a gconf key
(/apps/nautilus/desktop/global_item_dir maybe?) which would contain a
directory path (say /etc/nautilus/globals ) and this directory would
contain all the .desktop files to be displayed as _read only_
launchers/links/whatever in the relevant user's Desktop.
Desktop admins would be able to predefine these items by using a small
application (to be integrated with Sabayon, just like Pessulus) which
I am working on. The mockup of the main application window is
available at http://sayamindu.randomink.org/soc/images/lockdown_mockup.png
The add button will pop a launcher editor dialog (the same which you
get by clicking on Create Launcher on the Desktop right click menu).
Screenshot of the editor dialog is at
http://sayamindu.randomink.org/soc/images/lockdown_mockup2.png
When used from Sabayon, when the mandatory flag is turned on
(indicated by the lock icon), the desktop file will be stored in the
directory specified by the profile user's /etc/nautilus/globals gconf
key, and when the lock is open, the desktop file will be simply added
to the profile users desktop only (so that the user on whom the
profile is applied will be able to delete the launcher if required).

Federico tells me that KDE already has a system for defining global
Desktop items - does anyone know where I can find more info on this
(and figure out if we can share the same mechanism / file paths / etc)
?

Comments/suggestions/brickbats would be highly appreciated :)

Have a nice day,
Sayamindu



--
Sayamindu Dasgupta
[http://sayamindu.randomink.org/ramblings]



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