GNOME Bugzilla – Bug 70071
Need to be able to get to panel using keyboard
Last modified: 2009-08-16 15:13:28 UTC
We need a way to get focus to a panel and move from panel to panel using the keyboard. Currently the panel are not included when cycling through windows.
This can be fixed by changing the sawfish-internal definition of a dock window. Lines 326-332 of lisp/sawfish/wm/state/wm-spec.jl: (define-wm-spec-window-type '_NET_WM_WINDOW_TYPE_DOCK (lambda (w) (require 'sawfish.wm.stacking) (set-window-depth w dock-layer) (window-put w 'window-list-skip t) (window-put w 'cycle-skip t))) The last window-put needs to be removed.
If binding a key is preferred over just putting the panel in the cycling list, then this function should make that work: (set-input-focus (car (delete-if-not (lambda (w) (= (window-class w) "Panel")) (managed-windows)))) The panel uses globally active input, so setting the focus to any of its windows should allow the panel client to select which particular panel is focussed. That function will focus the first one in the list of managed windows; i.e., it may as well be arbitrary, but it doesn't matter because the panel must take part in focus setting.
added cycle-dock and cycle-dock-backwards (but these won't by bound by default, not in the standard sawfish distribution, anyway)