4 ms·
> "customizable tiling window manager" somehow requires the user to learn an unusual programming language and a dozen of inscrutable keyboard shortcuts Langua
by dons 15y ago
> "customizable tiling window manager" somehow requires the user to learn an unusual programming language and a dozen of inscrutable keyboard shortcuts
Languages are our best tool for expressivity.
And a well-designed language is better than an ad hoc configuration language any day of the week (see e.g. vimscript for how not to do configuration).
By choosing to use a full language for configuration, we have made possible an enormous ecosystem of user-contributed components -- because the configuration language was rich enough to support them.
- phillmv 15y agoHorseshit! That's what APIs are for :P. You could have accomplished all of this just fine but left the config in yaml and I would have personally been a happier person for it.
- dons 15y agoYAML configuration is possible, if you want. Just load the YAML file in your xmonad.hs config, and translate it (using the regular config language) into the Config data type xmonad actually uses. You could implement all sorts of funky config formats, by translating them down to the underlying (richer) format. Go nuts!
- phillmv 15y agoI know it's possible, but goddamnit I didn't want to learn Haskell in the first place! That is my bone of contention. Yes, yes, it might make me a better person but I want to try XMonad more than I want to fuck around with Haskell.
- Locke1689 15y agoPersonally I believe that optimizing for the technical user is much more important than user-friendliness in developer tools, especially window managers and text editors. Most people don't have the desire or the motivation to write full-featured developer tool extensions, but those who do should have the full power of a language like Haskell at their fingertips. I think the fact that no one has bothered to write a limited configuration format is telling. It seems to indicate that people who have learned Haskell don't see any benefit in it and appreciate the flexibility offered to them.
- pyre 15y ago> I think the fact that no one has bothered to write a > limited configuration format is telling. Specious reasoning. There are a lot of people that just know enough Haskell to fiddle with their XMonad config and/or copy-paste bits from other people's XMonad configs. I'd say the ratio of XMonad users who would build a easy-config system to total XMonad users is small. You're trying to claim that total XMonad users = X, and since X people are using it without creating the 'new system,' it means that no one sees the utility in it.
- Locke1689 15y agoNo, I'm saying that of all the XMonad users who know Haskell, none has bothered to write an alternative configuration system. That is, once you know Haskell you seem to no longer find interest in such a system.
- deleted 15y ago[deleted]
- william42 15y agoTry awesome[1]. It uses Lua, which is probably a more familiar language(I never learned Lua, but am still able to make minor changes to the config file, something I wouldn't try with Haskell). That, combined with a few other things, is what made me move from xmonad to awesome. [1] http://awesome.naquadah.org http://awesome.naquadah.org
- csandreasen 15y agoIf it's just the choice of language that's the issue, try wmii. The default config is written in Bourne shell, but all of the actual interaction between the config and the wm is done through a plan9-style api, so you can configure it in any language you want. The Ubuntu package comes with sample configs written in Python and Ruby in addition to Bourne shell.
- gwern 15y agoA yaml config would still be weak (this has been discussed before: http://www.haskell.org/pipermail/xmonad/2009-February/007239.html http://www.haskell.org/pipermail/xmonad/2009-February/007239... ) But the nice thing about starting with a full language using the normal API is that you can always water it down to get something less powerful and easier to use, and this has been done with Xmonad before, as 'xmonad-light'. See https://braincrater.wordpress.com/2008/08/28/announcing-xmonad-light/ https://braincrater.wordpress.com/2008/08/28/announcing-xmon... http://www.haskell.org/pipermail/xmonad/2008-August/006211.html http://www.haskell.org/pipermail/xmonad/2008-August/006211.h... xmonad-light has no users and may be bitrotten by now, which shows how much it appealed to Xmonad users.
- pyre 15y agoXMonad users by definition already know at least a minimal amount of how to create their XMonad config file. That's like saying: "We created a Linux distro for the masses and it didn't appeal to power users, therefore nobody wants it." You're also dismissing the possibility that is just sucked, and was not an improvement in configuration interface.
- pyre 15y agoI think the parent is asking why it's not possible to have a plugin system + a simple config file (or GUI config app). There are a lot of common things that people do with XMonad, so I'm sure that a number of them could be consolidated into plugins with simple config options.
- dons 15y agoYou can always write a configuration extension that takes $your_favorite_text_format into the data structure that configures xmonad. In fact, there is a text-based configuration system (implemented on top of the full-language configuration system) that does as you describe in the contrib repo somewhere. You could also easily do e.g. JSON, or YAML or whatever. And that's possible because we use a full language as the base layer. So "dumber" config systems can be layered on top without changing anything.
- pyre 15y agoI'm not arguing against the full language base layer. I'm saying that the op is complaining that he/she needs to learn Haskell to create an XMonad config. Even if I want to use one of those libraries, I still need to create an xmonad.hs file, and import the library. Vs having an xmonad binary that determines libraries/etc from a config file, and all code-level customizations are libraries/modules.