Re: Thinking about the tasklist

Elijah Newren writes:

> Do you really need 10?  I thought you would only need 1 (to start it),

What I was thinking, is to have a key to start it, popping up a window
list.  The items in the list refer to a window or to a group/class of
window.  In the case of a group/class of window, selecting the menu
item opens a submenu for the individual windows.  The menu items
mention the name of the application, whether it is [iconized], and the
workspace if it's different from the current.

You can walk through the menu using arrow keys, mouse, or accelerators.

This all works in keywise v0.0, and was (apart from the grouping
maybe) in fact rather easy to implement using libwnck.

What I'd like to do next, is to remove the hardcoded grouping I used

    /* Ugh.  -- hello world mode  */
    #define CLASS_GROUP_COUNT 10
    #define APP_NAME_COUNT 5
        { "emacs", 0, 0, 0, 0 },
        { "terminal", "xterm", "rxvt", 0, 0 },
        { "xdvi", "xpdf", "gv", "ggv", "gpdf" },
        { "mozilla", "galeon", "firebird", "epiphany", 0 },
        { "eog", "gimp", "display", 0, 0 },
        { 0, 0, 0, 0, 0 },
        { 0, 0, 0, 0, 0 },
        { 0, 0, 0, 0, 0 },
        { 0, 0, 0, 0, 0 },
        { "ungrouped", 0, 0, 0, 0 }

and to offer dynamic keybindings to any of the menu items, just like
with gtk-can-change-accels.  If you bind a key (say KP_4) to a menu
item that represents a an opened window (say an instance of Epiphany),
the next time you press KP_4, you go to that Epiphany window --
without any popup in between.  Similarly, if you bind a key (say KP_2)
to a menu-item that represents a group of windows (say X-terminal),
pressing that key later will cycle you through that group.

> You could use the gconf library.  (Or even gconftool-2) The control
> center already has a program that modifies keybindings
> (gnome-control-center/capplets/keybindings), which could serve as an
> example.

Thanks, I'll look into that.


Jan Nieuwenhuizen <janneke gnu org> | GNU LilyPond - The music typesetter       |

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