Feature proposal: jumplists for gnome-shell



Description
===========

When the shell shows lists of applications (either running or
non-running), a "jumplist" is a set of actions that can be performed
with that application.

For the purposes of this discussion, we'll distinguish between two types
of actions:

1. Opening files that you have used with that app.

2. Using actions that the application lets you perform.

For example, the shell shows "LibreOffice" as an icon.  It could have
the following jumplist as items in its contextual menu:

  Open recently-used.odt
  Open another-recently-used.ods
  Open my-presentation.odp
  ------------------------------
  Create a text document
  Create a spreadsheet
  Create a presentation

Owner
=====

Federico Mena Quintero

Involved parties
================

Gnome-shell team
Zeitgeist team

Current status
==============

There has been discussion about how to implement jumplists [0].  For
practical purposes, we can divide them into mostly orthogonal sections:

- Files used with an application - retrieving this list is is
Zeitgeist's job.  See the note below.

- Actions from non-running applications - Both Unity and KDE already
have a scheme to publish actions in standard .desktop files.  For
example, there can be a "Create presentation" action within
libreoffice.desktop that says something like this (this is not the
correct syntax, but you get the idea):

    [Action]
    Name=Create Presentation
    Command=ooimpress --new
    Icon=ooimpress.png

This is described at
https://wiki.ubuntu.com/Unity/LauncherAPI#Quicklists - I didn't have
time to look up KDE's reference, but we should be able to standardize on
something.

- Actions from running applications - For example, a music player may
want a "Pause" command, which only makes sense when the music player is
running.  (A music player is a bad example because there already is a
protocol to control music players, but you get the idea.).

Ryan Lortie has been working on the "wip/menus" branch in glib, which
essentially lets applications provide menu commands through D-Bus.  This
needs to be finished.

Note on Zeitgeist
=================

There is an extension for gnome-shell, based on Zeitgeist, which already
provides gnome-shell's contextual menus for apps with the files that
have been used for each app.  This is in
https://github.com/seiflotfy/gnome-shell-zeitgeist-extension

This can obviously be implemented in terms of GtkRecentManager, but
since we are moving *that* to using Zeitgeist internally [1], we may as
well do the same in gnome-shell directly.

[0] https://live.gnome.org/DocumentCentricGnome#Jumplists
[1] https://live.gnome.org/GTK%2B/GtkRecentManagerAndZeitgeist

  Federico



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