Re: [xmonad] XMonad.Actions.CycleWS export screenBy suggestion

Dear Linus, it might have been that I started the CycleWS module (I don’t even remember :-)) but since then, it was mostly developed and extended by other members of the community. I’m therefore replying to the xmonad mailing list with full quote, hoping someone there can pick up your suggestions. You can also file a bug report so that this is not forgotten. Greetings, Joachim Am Donnerstag, den 27.01.2011, 14:05 -0800 schrieb Linus Arver:
Hello, I have been heavily tinkering with my xmonad.hs with your excellent XMonad.Actions.CycleWS module. One thing I noticed is that you wrote a very nice function `screenBy`, which returns the previous/next Xinerama screen. However, CycleWS does not export it!
It would be great if CycleWS could export `screenBy` too, because with it, you can modify keybindings of the default template xmonad.hs from
-- mod-{w,e,r}, Switch to physical/Xinerama screens 1, 2, or 3 -- mod-shift-{w,e,r}, Move client to screen 1, 2, or 3 -- [((m .|. modm, key), screenWorkspace sc >>= flip whenJust (windows . f)) | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..] , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]]
to the more flexible
-- mod-{w,e}, Switch to previous/next Xinerama screen -- mod-shift-{w,e}, Move client to previous/next Xinerama screen -- [((m .|. modm, key), (screenWorkspace =<< sc) >>= flip whenJust (windows . f)) | (key, sc) <- zip [xK_w, xK_e] [(screenBy (-1)),(screenBy 1)] , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]]
. This is a lot simpler than using the individual functions nextScreen, prevScreen, etc. that you already export. I also get the feeling that somehow this is the way XMonad's default keybindings should behave out of the box, for those people who have more than 3 monitors.
Please export `screenBy` in your next version of CycleWS. If you do decide to export it, I suggest that you mention the above usage in the docs to let all the Xinerama users know about it.
-Linus
-- Joachim "nomeata" Breitner mail: mail@joachim-breitner.de | ICQ# 74513189 | GPG-Key: 4743206C JID: nomeata@joachim-breitner.de | http://www.joachim-breitner.de/ Debian Developer: nomeata@debian.org
participants (1)
-
Joachim Breitner