On 02/01/2011 03:14 PM, Bruce-Robert Pocock wrote:
2011/2/1 Isaac Fischer <xwaver(a)gmail.com>
>
> xdg-desktop-icon can't be done in %install, without putting your .desktop file in
~root/Desktop or whoever is building the package, because it's done at build time.
xdg-desktop-icon only works for the current user. The regular user would have to have
rights to the RPM database to install even a subpackage with nothing but the Launcher file
and macros. So, upon reflection, that's why it can't be done at RPM install -
you'd have to have a script which examines /home/* and inserts it into all of them,
which is just flat out wrong.
At least for the case of all locally-known users, you could envision
reading the user database with getpwent(3), finding each home folder,
plopping the .desktop file onto the ~/Desktop/ directory, and adding
one to /etc/skel/Desktop/ for future users created locally. But that
doesn't handle things like school or corporate LANs where /home/ (or
the directory structure analogous to /home/…) may not be writeable by
root.
Still not a great idea, but it would work in the most general case.
It seems that in order to really make such a mechanism work, you'd need
a system directory (/usr/share/Desktop? or something similar) that
contains additional icons that should be displayed on a user's desktop.
Then when the user's session starts up, the session manager displays
all icons in ~/Desktop as well as the contents of /usr/share/Desktop.
This probably requires making changes to the session manager, however.
Having said this, I still think the idea of packages polluting the
users' desktops is gross.
--Wart