Hey everyone. I've been using sawfish for a while, and I've begun reading it's source code. Playing around with it, I've been trying to write a small function to share a window's input with the assigned window group.
My approach is: 1) write a function that sends the input (keyboard event) to the same window group something like: (map-window-group (lambda (window) (synthesize-event "a" window)) (nth 7 (managed-windows))) worked for test purposes (it sent an "a" input to the same window group as the 7th window managed by sawfish...) 2) write a keymap (which is the only to get all the input from a window right?) and bind it's keys to a function like the one above (for test purposes for the time being, doing the same thing: putting "a" for example in all the windows in the group) 3) assign the keymap to that window using the (window-put) function. Like this: (window-put (nth 7 (managed-windows)) 'keymap window-group-keymap) I ask for your opinion/advice/suggestions with this approach... As I'm trying this now, I have the following problem: Problem) 1) test the window's keymap is the one I assigned to it ; OK (= window-group-keymap (window-get (nth 7 (managed-windows)) 'keymap)) ;; 't ;;'window-group-keymap is the keymap I defined and assigned 2) wait a few seconds without moving from the current window (sawfish-mode in emacs) 3) the keymap is reseted to the original... (test in (1) returns nil ) (= window-group-keymap (window-get (nth 7 (managed-windows)) 'keymap)) ;; () Is this supposed to work this way? If it is, then how I'm I suppose to set a keymap for a specific window then? Or if you can think of a better way to do what I'm trying to, please let me hear about it^^. Riki -- Sawfish ML
