[Sawfish] keymap resets for window / sharing input with window group |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/sawfish Archives
]
- To: sawfish@xxxxxxxxxxxxxxxxxxx
- Subject: [Sawfish] keymap resets for window / sharing input with window group
- From: Julio Matus <riki@xxxxxxxxxxx>
- Date: Mon, 30 Apr 2012 23:42:13 +0900
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=lavabit; d=lavabit.com; b=b17W9lw+Y625Wm7PSZQQta653LPvS1UsknHuXnVPfsIKgLU1h/grpXwONGkekwVgg90OXSjCfod9gwBNIN9ctVdrYSTNDFKoNZ37MWzXUvL/VBg74JRniyomjhLhql0scMrVIYUx0MtXI55swaZVTLFdKNot1RNcdI/UIPHECDw=; h=From:To:Subject:Date:Message-ID:User-Agent:MIME-Version:Content-Type;
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