|
View:
New views
8 Messages
—
Rating Filter:
Alert me
|
|
|
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 -- nautilus-list mailing list nautilus-list@... http://mail.gnome.org/mailman/listinfo/nautilus-list |
|
|
Re: Configurable desktop items for sysadminsOn Tue, Sep 8, 2009 at 5:22 PM, Federico Mena
Quintero<federico@...> wrote: > [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. > 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). It's also very complicated to maintain, as noted in your mail. To date, it's generally policy to turn down changes like this. For reference: the global templates directory debate. Perhaps there's a non-Nautilus solution to the problem, a one-shot program that creates the links at startup if they don't exist, and watches to see if the user deletes them (or has some preference somewhere to have the program delete them and not respawn them later). The proposed solution only services the people who actually need this capability and doesn't drive users crazy by creating unavoidable clutter (and prevents distributions/OEMs from shipping tons of likewise 'undestroyable' desktop links and spares us getting bugs about not being able to delete files from the Desktop). -A. Walton > Federico > > -- > nautilus-list mailing list > nautilus-list@... > http://mail.gnome.org/mailman/listinfo/nautilus-list -- nautilus-list mailing list nautilus-list@... http://mail.gnome.org/mailman/listinfo/nautilus-list |
|
|
Re: Configurable desktop items for sysadminsOn 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 -- nautilus-list mailing list nautilus-list@... http://mail.gnome.org/mailman/listinfo/nautilus-list |
|
|
Re: Configurable desktop items for sysadminsOn Tue, 2009-09-08 at 16:22 -0500, Federico Mena Quintero wrote:
> [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. There are are a variety of interconnected reason why I don't like this. Let me try to factor them out: First of all, the intended usecase of the desktop is to be a "work area", where you put stuff you are currently working on (much like an rea-life desktop). As such, any unnecessary icons we put there make this smaller and less useful to users. It seems to me that in most cases what people want to do is put links or application launchers on the desktop. (I guess since windows does this?) This has two negative aspects wrt the mental model of how the gnome desktop works. First of all it makes people think the desktop is made for putting links at, which will cause them to not be able to use it efficiently as a staging area for current files. Secondly, there is an intended way that application launchers and file bookmarks are designed to work in the gnome desktop, and putting stuff on the desktop is not it. So, people may get confused as how these things are supposed to work. I fear that if we make it easy to get stuff on the users desktop, then applications (rather than sysadmins) will take advantage of this and put crap on the desktop, just like they do on windows. We all know what this has lead to on windows, with microsoft being forced to add magic dialog asking you if you want to remove unused desktop links, etc. The desktop is a very important part of how the user interacts and works with the computer. Having things there that are non-removable is very user-unfriendly and will cause much irritation. I understand that there are some special ("enterprise") cases where we want to lock down things, and we should consider that, but generally we should try to be on the side of the user. In Gnome 3.0 we will move to gnome-shell rather than the current setup. The exact role of nautilus in this has not been finalized, but in talks I have had with the gnome-shell people it seems likely that we won't have the desktop as it currently stands, but rather some kind of file staging area that can be part of e.g. the sidebar and pulled out on demand, or something like that. So, if we add this now then it risks being obsolete soon anyway. That said, I know we got a lot of demands for this from some directions. I think we need to go back to them and try to understand exactly what they want to use this for, and why the current methods of e.g. bookmarks and application launching is not good enough for them. Maybe they have some interesting usecases that we could solve generically in a better way? -- nautilus-list mailing list nautilus-list@... http://mail.gnome.org/mailman/listinfo/nautilus-list |
|
|
|
|
|
|
|
|
Re: Configurable desktop items for sysadminsOn Wed, 2009-09-16 at 10:15 +0200, Alexander Larsson wrote:
> First of all, the intended usecase of the desktop is to be a "work > area", where you put stuff you are currently working on (much like an > rea-life desktop). As such, any unnecessary icons we put there make > this smaller and less useful to users. For the record, let me state that I don't find the desktop very useful, even as a staging area. It's always hidden behind other windows! But anyway :) > I fear that if we make it easy to get stuff on the users desktop, then > applications (rather than sysadmins) will take advantage of this and put > crap on the desktop, just like they do on windows. One of the nice things about the way I implemented it is that applications don't really know where the "sysadmin directory" is, at least at installation time. They'd have to read the /apps/nautilus/desktop/predefined-items-dir key and write their crap there. It's not like they can just drop stuff in a well-known, hard-coded location and have it appear in every user's desktop. If apps try to do this at runtime, they won't be able to write to that directory, as it's not owned by the user. > In Gnome 3.0 we will move to gnome-shell rather than the current setup. > The exact role of nautilus in this has not been finalized, but in talks > I have had with the gnome-shell people it seems likely that we won't > have the desktop as it currently stands, but rather some kind of file > staging area that can be part of e.g. the sidebar and pulled out on > demand, or something like that. So, if we add this now then it risks > being obsolete soon anyway. Yeah, we yet have to see what gnome-shell will bring in this area. "Launching stuff" is one of its main functions, so I would expect it to have something to let sysadmins create customized environments for their installations. I basically had only a couple of use cases for the sysadmin-defined icons: - The two or three apps that limited workstations use. I've seen way too many shops that have a custom point-of-sale system under Windows, that crashes reasonably often, and the clerks have a hard time launching again. If they have a "POS app" icon in the desktop, that's pretty much the only thing outside the POS system itself that they know how to use. While it may be possible for sysadmins to configure .desktop files in menu items, those are not toplevel items and users actually have to go and hunt them down. - Links to company-wide network shares; those are always in impossible-to-remember paths. Right now it's not possible to define bookmarks for all users, I think. Those would work pretty nicely as desktop icons in the current scheme of things (my complaints about the desktop-hidden-behind-windows notwithstanding). I'm not thinking of this as general use cases, but just for limited, restricted scenarios like point-of-sale systems, clerks, etc. Federico -- nautilus-list mailing list nautilus-list@... http://mail.gnome.org/mailman/listinfo/nautilus-list |
|
|
Re: Configurable desktop items for sysadminsOn Mon, 2009-10-05 at 19:53 -0500, Federico Mena Quintero wrote:
> On Wed, 2009-09-16 at 10:15 +0200, Alexander Larsson wrote: > > > First of all, the intended usecase of the desktop is to be a "work > > area", where you put stuff you are currently working on (much like an > > rea-life desktop). As such, any unnecessary icons we put there make > > this smaller and less useful to users. > > For the record, let me state that I don't find the desktop very useful, > even as a staging area. It's always hidden behind other windows! But > anyway :) > > > I fear that if we make it easy to get stuff on the users desktop, then > > applications (rather than sysadmins) will take advantage of this and put > > crap on the desktop, just like they do on windows. > > One of the nice things about the way I implemented it is that > applications don't really know where the "sysadmin directory" is, at > least at installation time. They'd have to read > the /apps/nautilus/desktop/predefined-items-dir key and write their crap > there. It's not like they can just drop stuff in a well-known, > hard-coded location and have it appear in every user's desktop. > > If apps try to do this at runtime, they won't be able to write to that > directory, as it's not owned by the user. > > > In Gnome 3.0 we will move to gnome-shell rather than the current setup. > > The exact role of nautilus in this has not been finalized, but in talks > > I have had with the gnome-shell people it seems likely that we won't > > have the desktop as it currently stands, but rather some kind of file > > staging area that can be part of e.g. the sidebar and pulled out on > > demand, or something like that. So, if we add this now then it risks > > being obsolete soon anyway. > > Yeah, we yet have to see what gnome-shell will bring in this area. > "Launching stuff" is one of its main functions, so I would expect it to > have something to let sysadmins create customized environments for their > installations. > > I basically had only a couple of use cases for the sysadmin-defined > icons: > > - The two or three apps that limited workstations use. I've seen way > too many shops that have a custom point-of-sale system under Windows, > that crashes reasonably often, and the clerks have a hard time launching > again. If they have a "POS app" icon in the desktop, that's pretty much > the only thing outside the POS system itself that they know how to use. > While it may be possible for sysadmins to configure .desktop files in > menu items, those are not toplevel items and users actually have to go > and hunt them down. Yes, this seems reasonable. But in such a setup maybe its not that hard to just add the links in the skel user and make them undeletable (chmod a-w)? > - Links to company-wide network shares; those are always in > impossible-to-remember paths. Right now it's not possible to define > bookmarks for all users, I think. There is a lot of work outstanding on the bookmarks stuff (see discussions between me and davidz on this) and how it should interact nicely with mounted network shares. I think this is a better approach than hardcoding something like this to just a desktop icon. -- nautilus-list mailing list nautilus-list@... http://mail.gnome.org/mailman/listinfo/nautilus-list |
| Free embeddable forum powered by Nabble | Forum Help |