GNOME Bugzilla – Bug 579747
Implement 'desktop contexts' framework
Last modified: 2013-05-24 15:49:10 UTC
I've committed base code for that framework here: http://www.gitorious.org/projects/gnome-shell/repos/mainline/logs/activities For now, there's no GUI. Activities are ShellActivity structs, managed by a ShellActivities object, with properties like their int ID, their name and associated workspaces. You can create/remove them, or set them as current (when their workspace is active), a timestamp allows to track misalignments. Everything is stored in GConf. The current implementation actually follows the design I explained in http://live.gnome.org/GnomeShell/Activities. Updating activities when workspaces change requires the attached patch against metacity-clutter. It's quite trivial, even if it's a little more complex than my previous version, because this has to be watched from both screen and workspaces objects. Next step should be to add controls so that you can associate activities to a workspace. My present plan is to add a list under the workspaces in the overlay. Clicking on an activity would start it in a new workspace, and drag-dropping it to an existing workspace would associate them. But that's only an idea... Comments welcome.
Created attachment 133055 [details] [review] Required patch against metacity-clutter The patch is required for things to "work", but if it's not present you will only get a runtime warning for invalid signals.
Created attachment 133151 [details] [review] New patch for metacity-clutter The old one was actually missing a marshal function. I had to modify autoconf.in and Automake.am to use GLib marshal feature. Surprising that it wasn't present yet...
After discussing with Jon McCann, we agreed a more obvious name had to be chosen for that concept, before we get completely confused, in debates and in the code. So I've proposed Desktop contexts, which seems to be more explicit. Code updates should follow.
Renaming is done, the branch is now http://www.gitorious.org/gnome-shell/mainline/commits/desktop-contexts. You can get it with: git remote add -f gitorious git://gitorious.org/gnome-shell/mainline.git git checkout gitorious/desktop-contexts
(bugzilla spam: populating the new "extensions" component with bugs discussing features that are not part of the core spec, but could be implemented externally once the extension system is done.)
*** Bug 608856 has been marked as a duplicate of this bug. ***
Comment on attachment 133151 [details] [review] New patch for metacity-clutter Marking patch needs-work since it would clearly not apply to the current code.
*** Bug 650867 has been marked as a duplicate of this bug. ***
I'll tentatively close this - the extensions component is used for bugs against gnome-shell-extensions nowadays, and I doubt potential extension authors will browse bugzilla for ideas. Also it doesn't look like anyone has put any work into this in four years ...