darcs patch: XMonad.Config.CustomKeys - new module

Mon Nov 12 19:55:30 EET 2007 "Valery V. Vorotyntsev"

valery.vv:
Mon Nov 12 19:55:30 EET 2007 "Valery V. Vorotyntsev"
* XMonad.Config.CustomKeys - new module This module is another key bindings customization helper. Differences from XMonad.Util.EZConfig by Devin Mullins: EZConfig -- M.union/M.difference CustomKeys -- Monad.Reader + foldr'ed M.insert/M.delete
IMHO, both modules could evolve into something nice. :)
Please discuss.
Applied. To force the hand of the config hackers into pickign the one true combinator set. -- Don

valery.vv:
Mon Nov 12 19:55:30 EET 2007 "Valery V. Vorotyntsev"
* XMonad.Config.CustomKeys - new module This module is another key bindings customization helper. I don't like that it refers to defaultConfig explicitly. What if I want a slight variation on Droundy's config? Maybe that's just theoretical,
Differences from XMonad.Util.EZConfig by Devin Mullins: EZConfig -- M.union/M.difference CustomKeys -- Monad.Reader + foldr'ed M.insert/M.delete Hrm. Is M.union/M.difference bad, or is yours just a preference for
On Mon, Nov 12, 2007 at 10:20:20AM -0800, Don Stewart wrote: though. points-freedom?
Applied. To force the hand of the config hackers into pickign the one true combinator set. I'm also interested in the one true namespace -- his is in XMonad.Config and mine is in XMonad.Util.

On 11/12/07, Devin Mullins
I don't like that it refers to defaultConfig explicitly. What if I want a slight variation on Droundy's config? Maybe that's just theoretical, though.
Yes, you're absolutely right! Fixed.
Differences from XMonad.Util.EZConfig by Devin Mullins: EZConfig -- M.union/M.difference CustomKeys -- Monad.Reader + foldr'ed M.insert/M.delete Hrm. Is M.union/M.difference bad, or is yours just a preference for points-freedom?
Not a preference, it was O(m+n) vs. O(n*log m) initially. Still the difference is unnoticeable unless you have _lots_ of key bindings. :)
I'm also interested in the one true namespace -- his is in XMonad.Config and mine is in XMonad.Util.
Config.CustomXXX seems more intuitive... I would look in Config/ directory for such kind of functionality. Moreover, I wonder, why gather personal configs in code base? Is not wiki-based Config Archive good enough? Have fun! -- vvv

On Tue, Nov 13, 2007 at 11:09:07PM +0200, Valery V. Vorotyntsev wrote:
On 11/12/07, Devin Mullins
wrote: I'm also interested in the one true namespace -- his is in XMonad.Config and mine is in XMonad.Util.
Config.CustomXXX seems more intuitive... I would look in Config/ directory for such kind of functionality.
Moreover, I wonder, why gather personal configs in code base? Is not wiki-based Config Archive good enough?
It's my idea. It serves a couple functions. It provides a crude (automatically tested, plut really tested in real life) documentation as to how to use various bits of config. This latter feature isn't an ideal form of documentation, but at least it is guaranteed to always be in sync with whatever version of xmonad-contrib you've got. Some of us (mostly me) don't have time to write good documentation (actually, I don't have time to write as much xmonad code as I do), so this provides the hints needed for someone else to use. And hopefully some of these configs will actually be useful to users who want the same or a similar config. By attaching personal names to the configs, we give the named person the freedom to make the configuration useful at least to himself or herself, which means that every config there is useful for at least one person, which is more than we can say for the default configuration. -- David Roundy Department of Physics Oregon State University

On Tue, Nov 13, 2007 at 11:09:07PM +0200, Valery V. Vorotyntsev wrote:
I'm also interested in the one true namespace -- his is in XMonad.Config and mine is in XMonad.Util.
Config.CustomXXX seems more intuitive... I would look in Config/ directory for such kind of functionality.
I didn't see this before. Still I think that in XMonad.Config, as David pointed out, we should collect (usable) configuration files for, mostly, documentation. So I think that utilities for adding and removing keybindigs should go in XMonad.Util. Andrea

On 11/14/07, Andrea Rossato
On Tue, Nov 13, 2007 at 11:09:07PM +0200, Valery V. Vorotyntsev wrote:
I'm also interested in the one true namespace -- his is in XMonad.Config and mine is in XMonad.Util.
Config.CustomXXX seems more intuitive... I would look in Config/ directory for such kind of functionality.
I didn't see this before. Still I think that in XMonad.Config, as David pointed out, we should collect (usable) configuration files for, mostly, documentation.
<thoughts aloud> If the only purpose of these files is documentation, why not put them into `doc' directory then?.. But it will be no good, if some module scare away all other citizens from a directory and live there alone...
So I think that utilities for adding and removing keybindigs should go in XMonad.Util.
You've convinced me. :) Having CustomKeys in Config/ is an example of over-specialization. I'll move it into Util. Thank you! -- vvv

On Wed, Nov 14, 2007 at 05:25:43PM +0200, Valery V. Vorotyntsev wrote:
On 11/14/07, Andrea Rossato
wrote: On Tue, Nov 13, 2007 at 11:09:07PM +0200, Valery V. Vorotyntsev wrote:
I'm also interested in the one true namespace -- his is in XMonad.Config and mine is in XMonad.Util.
Config.CustomXXX seems more intuitive... I would look in Config/ directory for such kind of functionality.
I didn't see this before. Still I think that in XMonad.Config, as David pointed out, we should collect (usable) configuration files for, mostly, documentation.
<thoughts aloud> If the only purpose of these files is documentation, why not put them into `doc' directory then?.. But it will be no good, if some module scare away all other citizens from a directory and live there alone...
I wouldn't say it's the *only* purpose, it's also there so users who have similar preferences can use our configs as a starting point for their own. I bet Dons' in particular probably has (or will have) a fair number of users. I certainly hope this will be the effect, anyhow. Hopefully it'll reduce the amount of customization (and the difficulty of customization) by ordinary users. -- David Roundy Department of Physics Oregon State University

:) That's me again. `additionalKeys' doesn't see config's `terminal', does it? IMHO, both "shortcuts" and "bindings" (shortcut + X action) should be parametrized by `XConfig l': they use `modMask', `terminal', etc. Please, don't think bad of me, Devin -- there is so little Haskell code I've written, that I in a childish way believe it to be brilliant. :) Happy hacking! -- vvv
participants (5)
-
Andrea Rossato
-
David Roundy
-
Devin Mullins
-
Don Stewart
-
Valery V. Vorotyntsev