Currently, if one uses the keyboard to switch viewports while moving one's window, using the move-window-up, move-window-down, etc bindings, it's possible for the moved window to lose focus. This is very annoying if you have, say, a 3x4 set of viewports and want to move a window two viewports down by tapping the "move-window-down" combination. This patch fixes this so that a window moved that owns the focus will continue to own the focus. I've been sitting on this patch for a while -- I thought I checked it in to the bug tracker, but apparently not, since I can't find it. :-( As an aside, I know that the status of viewport support has been, uh, a bit shaky, since the GNOME folks have come down firmly in favor of workspaces. I just wanted to let sawfish-list folks know that there's another person out there who likes and depends on viewports, and would hate to see viewport operation go away. Thanks for a great window manager! -- Best of luck, Mark Schreiber
--- /home/schreib1/main/dev/cvs/sawfish/lisp/sawfish/wm/viewport.jl 2002-04-22 23:44:18.000000000 -0400 +++ viewport.jl 2004-09-19 02:21:46.834916516 -0400 @@ -262,11 +262,13 @@ ;; viewport that is relative those offsets to the current viewport. (define (move-window-to-viewport-and-move-viewport window col row) (require 'sawfish.wm.util.stacking) - (let ((sticky-viewport (window-get window 'sticky-viewport))) + (let ((had-focus (= (input-focus) window)) + (sticky-viewport (window-get window 'sticky-viewport))) (window-put window 'sticky-viewport t) (with-server-grabbed (raise-window* window) - (move-viewport col row)) + (move-viewport col row) + (if had-focus (set-input-focus window) ())) (unless sticky-viewport (window-put window 'sticky-viewport nil))))
Attachment:
pgpPdWiRNFeeS.pgp
Description: PGP signature