Hey guys, I have good news on the annoying bug #1017171<https://bugs.launchpad.net/elementaryos/+bug/1017171>: I wrote a wrapper to Debian's alternatives system<http://wiki.debian.org/DebianAlternatives>that (among other things) happens to work around this BAMF bug. The code can be found in lp:~elementary-os/elementaryos/user-specific-alternatives<https://code.launchpad.net/~elementary-os/elementaryos/user-specific-alternatives/>but I can't integrate it yet because it has no build system.
The real purpose of the wrapper is making abstract commands like "x-terminal-emulator", "x-www-browser", "gnome-text-editor" launch user-preferred application for the task instead of using a system-wide and often implicit default that alternatives system provides. It uses DE-independent FD.o-standardized lookup by mime type association for web browsers and text editors; there doesn't seem to be a DE-independent way to set preferred terminal emulator so it checks if XDG_CURRENT_DESKTOP and it's GNOME, Unity or Pantheon it reads the relevant GSettings key. In case it fails to determine user's preference for the application (e.g. there's no handler for terminal lookup in KDE), it falls back to what would be used if the wrapper wouldn't be there at all. IMO this wrapper would be useful in Ubuntu itself, so I'm going to propose it upstream as soon as it gets a build system. It uses just one Granite call - "Granite.Services.Logger.initialize (Environment.get_prgname ());" - which is obviously not essential; if it can be hidden behind conditional compilation depending on Granite presence we might get it in Ubuntu by default (I doubt they'll be enthusiastic about shipping Granite in the ISO just for this). All the wrapper is missing now is CMake and Debian packaging that depends on it. I will handle Debian packaging, but could somebody pleeease do the CMake part? All I need is installing the binary to /usr/lib/user-specific-alternatives/ and conditional compilation of one line; there are no constants to configure or anything like that, and build dependencies are just Glib, GIO and Granite. Could anyone help me out with this? -- Sergey "Shnatsel" Davidoff OS architect @ elementary
-- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp