[xmonad] newbie questions

Don Stewart dons at galois.com
Sun Nov 11 16:43:31 EST 2007


konstantin.sobolev:
> Hi
> 
> I'm looking for an Ion3 replacement, and from this list archives I
> understand that I'm not the only one refugee :)

:)

> Xmonad is #1 candidate for several reasons, implementation language
> being one of them -- I'm trying to learn Haskell when I have some free
> time. But it is one of the biggest complexities as well because I have
> several custom Ion scripts which I'm very used to and which I'd like
> to port to the new WM, but my Haskell knowledge isn't sufficient at
> the moment.

Ok. Hopefully most of the functionality you require is already
implemented in the contrib library.

> First of them intercepts XF86ScrollUp/XF86ScrollDown keys and changes
> XKB layouts (en/ru). It also remembers current layout for every window
> and switches them when focus changes, and also shows current layout
> name in the status bar. It requires small C part to change the layout,
> but standard setxkbmap can also be used.

Ok, a little complex. Needs a small FFI call into C, and the rest goes
in an extension module, or your config file.

> Another one is a port of gimme.jl from Sawfish: it lets you configure
> bindings to bring focus to specific windows or start a program if it
> doesn't exist. For example when I press Mod-K it searches for a window
> with role='konsole-mainwindow#1' and brings focus to it, or starts a
> new konsole if such window cannot be found.

I think we have something like that in the contrib library already, and
if not, it would be fairly easy.

> The last one is a bit more complex and combines the previous script
> with named scratchpads. It's easier to illustrate it with an example:
> when I press Mod-S for the first time, a new floating window appears
> and stardict is launched inside; of course it gets the focus.
> Consequent Mod-S keypresses toggle this window's visibility, keeping
> stardict running, i.e. no new instance is created if one is already
> running.
> This is very convenient, for instance I have such binding which opens
> 'gvim ~/notes.txt' when I press 'my favories' button, and so I always
> have a scratchpad by my hand.

Right, there's been some discussion about scratchpads on the irc channel
too. Not too hard.

> So, my question is: is it possible for somebody who's just in the
> middle of reading yaht.pdf to implement such things, or it's too
> complex and migration should be postponed for now?

I'd start on easy things, and look at existing extension modules in the
contrib library that are close to what you want. Then slowly try more
advanced things.

-- Don


More information about the xmonad mailing list