Update. First version works incorrectly with multiple workspaces due to the fact that XMonad creates separate Layout copy for every workspace, so we get a number of independent LayoutModifer (custom data) instances instead of just one. (By the way, why is it necessary?) It took me some time to find a workaround; it assumes that different workspaces have different tags. Here it goes, version 2: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24417 It still has some problems though, e.g. doesn't recognize prompt window, and I'm not sure it's possible to fix it without resorting to low-level X programming; there seems to be no way to intercept the moment when this window comes and goes. On Thu, Mar 25, 2010 at 6:10 PM, Konstantin Sobolev <konstantin.sobolev@gmail.com> wrote:
Hi all,
I made a layout modifier that saves per-window keyboard layouts and restores them on focus changes. [...]