8 ms·
Xmonad – A dynamically tiling X11 window manager
- ranman 12y agoXNomad is an xmonad equivalent for OSX: https://github.com/fjolnir/xnomad https://github.com/fjolnir/xnomad I made this fork of an actual project in the hopes that this joke would one day become relevant... unfortunately I'm not that juvenile anymore so now it just sort of feels stupid: https://github.com/ranman/xgonads https://github.com/ranman/xgonads
- ibab 12y agoXMonad has been my window manager of choice for years now. I especially like that the code is short and easy to understand, so you can easily modify it (or write an extension) if you want. If you don't have previous Haskell experience, then other window managers like i3 or bspwm might be more comfortable.
- codingbinary 12y agoCan't agree more. XMonad is what I based my Rust window manager on. Nice, clean, easy to understand code base. No other window manager gave me so many insights into how a WM works.
- platz 12y agoI love i3 and have gotten quite used to it. Although now that I do have haskell experience, I kind of wish I'd ramped up on XMonad. Of course, I'd try to configure it to behave just like i3 (especially with regard to the hierarchical containers, pretty sure XMonad doesn't do that OOTB), so now I'm not sure if I should switch ;)
- fernandotakai 12y agoi tried using i3, but the behaviour when it comes to spaces made me mad (create on use instead of create a bunch of them). right now awesomewm does everything i need and config being in lua helps a ton with readability and flexibility.
- na85 12y agoHigh five. I found awesome wm to be significantly superior to i3 OOTB, and with a little setup it really lives up to the name "awesome". Super+e to open emacs, and then having emacs automatically sent/assigned to the tag/workspace titled "emacs"? Love it. But my fav is having the "Menu" key bound to "open urxvt". Super convenient.
- baldfat 12y agoI had the opposite. I switched from Awesome to i3 about three years ago. I can do all of that in i3 with a simple text editor.
- th0br0 12y agoPlus the API is rock solid. I've been using my current config for about 4 years now (with 0.10 and 0.11) and things just worked. I remember the hellish experiences I had each time awesome was updated...
- djfm 12y agoProbably an advantage of having your config itself written in Haskell: if it compiles, it is very likely to work as expected :)
- Crito 12y agoAwesome breaking config so often is the reason why I currently run it with default configuration only. It sounds like I should give xmonad another look.
- fortytw2 12y agoIts multiple monitor support is the single best of any window manager on any OS that I've ever used.
- Filligree 12y agoIt breaks the window manager standard. Occasionally, you'll see apps that break as a result; you'll want to unbind C-z in Emacs, for example. There's a bug open for KDE explicitly asking for xmonad-like mutiple monitor support, which is marked WONTFIX as a result. But yes, I absolutely adore xmonad's take on it, and it's well worth the occasional glitches.
- sevensor 12y ago> If you don't have previous Haskell experience, then other window managers like i3 or bspwm might be more comfortable. My biggest beef with xmonad is that its configuration file is itself Haskell source code. So even if xmonad is the only Haskell project I use, I have to pull in GHC to compile my configuration. Since I'm not a Haskell guy, this means that I'm easily tipped off the cliff into cabal hell, which is not where I want to be when updating my WM config. For all that, xmonad is great when it works, and I stuck with it from 2011 to 2014 before moving on to i3.
- IsTom 12y ago> Since I'm not a Haskell guy, this means that I'm easily tipped off the cliff into cabal hell Even Haskell people find themselves easily in the cabal hell. Everyone is aware of the issue, but it's still not solved.
- rlpb 12y agoMy distribution maintainers deal with the cabal hell so I don't have to. I just use the xmonad package and it just works, including with a configuration file.
- sevensor 12y agoI found that this approach worked right up to the point where I tried to make non-trivial changes to the config, following examples from the xmonad website. If you want your config to use a Haskell package that's not provided by your distro, as many of the config examples do, you're out of luck unless you want to take the cabal route. It's possible this situation has improved since last year, when I switched to i3, but it can never be fully rectified as long as the config file is itself Haskell source. I find it surprising that, despite the Haskell community's claims that Haskell is great for writing domain-specific languages, xmonad does not expose a DSL for you to configure it with.
- rlpb 12y ago> I find it surprising that, despite the Haskell community's claims that Haskell is great for writing domain-specific languages, xmonad does not expose a DSL for you to configure it with. I presume it's nice that you can actually customize xmonad with code. So an appropriate DSL would be a programming language so using Haskell makes sense. Any other DSL would be more limiting. > If you want your config to use a Haskell package that's not provided by your distro, as many of the config examples do, you're out of luck unless you want to take the cabal route. I can understand that this would cause pain. I suppose it's up to cabal and/or distros to fix this.
- mpu 12y agoI used it for a while and liked it a lot because it taught me plenty of Haskell. But looking back, I find it a little over-engineered, and the Haskell code seems to be a game of abstraction more than anything else. I don't know what point they are proving, but a lot of code seems to be over-parameterized. IMO, these superfluous generalizations make the code opaque to beginners while not adding much functionality. This coding style seems to be a general trait (if I may) of the Haskell programs that is not present in typical OCaml code (which is why I tend to prefer the latter).
- upofadown 12y agoI have no background or interest in Haskell but have no particular problem configuring Xmonad. I just cut and paste. The only thing I needed to learn was how the separators nested in Haskell. It would be different if there was a lot of configuration to do, but simplicity is the whole point here.
- rboyd 12y agoAnyone know any decent tiling window managers for windows os? I found bug.n which uses ahk, but it just left me longing for i3.
- Tiksi 12y agoI used Mosiaco[0] for a while, but I found it more frustrating than useful. The paid version is slightly better but not by much. Eventually I found gaming not to be a good enough reason to use windows as my main os, and now only boot into it if I really wanna play something I can't run in linux/under wine. Window management is my biggest technical/functional gripe with windows. AwesomeWM is just... awesome. [0] http://www.soulidstudio.com/ http://www.soulidstudio.com/
- DanTheManPR 12y agoNot a full window manager, but I've used Winsplit Revolution for years to manually re-tile my windows. I have it set to use ctrl+alt and then the grid of keys: qwe asd zxc ...to move windows into corners, sides, or the center of the screen. Hitting the same key over and over re-sizes it to take up more or less of the screen. It's sadly no longer being developed, but works fine on Win8 and Win10 (and so probably will continue to work into the foreseeable future).
- gtk40 12y agoI used to use bb4win on Windows (cerca Windows XP). I know this isn't tiling, but I can't seem to get any non-official WM to work right on Windows 8.
- williambogaiv 12y agohttps://windawesome.codeplex.com https://windawesome.codeplex.com Written in C# and can be configured via Ruby or Python. Have been using it for more than a year after previously using bug.n.
- djeikyb 12y agohttps://github.com/Tzbob/python-windows-tiler https://github.com/Tzbob/python-windows-tiler It works pretty much like xmonad or awesomewm once you edit the keybindings. Unfortunately it doesn't have the same phenomenal multi-monitor support xmonad provides on linux. It works within the usual windows confines[0]. With xmonad/linux, each workspace is independent of the displays. With pwt/windows, each workspace uses the entire logical display surface. [0]: https://msdn.microsoft.com/en-us/library/windows/desktop/ms682573(v=vs.85).aspx https://msdn.microsoft.com/en-us/library/windows/desktop/ms6...
- nycticorax 12y agoHow is this news?
- na85 12y agoFrom the submission guidelines: >What to Submit >On-Topic: Anything that good hackers would find interesting. That includes more than hacking and startups. If you had to reduce it to a sentence, the answer might be: anything that gratifies one's intellectual curiosity. Also from the submission guidelines: >Please don't submit comments complaining that a submission is inappropriate for the site. If you think a story is spam or off-topic, flag it by clicking on its "flag" link. (Not all users will see this; there is a karma threshold.) If you think a comment is egregious, click on its timestamp to go to its page, then click "flag" at the top.
- sophacles 12y agoFrom the guidelines: On-Topic: Anything that good hackers would find interesting. That includes more than hacking and startups. If you had to reduce it to a sentence, the answer might be: anything that gratifies one's intellectual curiosity. Also from the guidelines: Please don't submit comments complaining that a submission is inappropriate for the site. If you think a story is spam or off-topic, flag it by clicking on its "flag" link. Sometimes it's OK in a community focused on a topic like "tech things" to remind everyone that something exists. Also, as HN is growing, and as a large portion of the people on this site are young (e.g. recent grads, new in the programming field, or even still undergrads) this is their first exposure. It's ok that we get beginner level articles - e.g. most of the tutorials linked here describe stuff that has been around for a long time and tutorialed many times before. It's still ok. It gets people exposed in a way that is useful. Us old hands can add to the discussion by pointing out new features, or better articles or advanced stuff. It's much more productive than complaining that "i already knew this".
- deleted 12y ago[deleted]
- ams6110 12y agoAnother tiling window manger (that I like) is awesome. http://awesome.naquadah.org/ http://awesome.naquadah.org/ Configurable using Lua, though I've actually changed almost nothing.
- fixermark 12y agoXmonad is quite good, but I generally found its greatest strength to be its greatest weakness: it turns out I didn't actually want to learn Haskell to edit my wm configs. Nor did I really want to compile my wm configs, but that's more a question of the speed of the Haskell compiler than the choice of language. Lua is not a great scripting language, but its biggest strength is its dog-simplicity. There just aren't a lot of places for bugs to hide in it.
- switch007 12y agoReally, XMonad does not need much configuration to be quite useful when combined with Gnome/XFCE. Also, there are many, many examples you can copy and paste. I've been using it for 5+ years with minor adjustments - I wouldn't say I "know" Haskell. At all. Further, "xmonad --recompile && xmonad --restart" is not that taxing on the rare occasion you change your configuration.
- hobarrera 12y agoThe fact that it's configured using Lua is quite off-putting for me, and one of the reasons I decided to move past it onto i3. I can't say I regret it at all.
- zer0rest 12y agoXmonad(and others) is heavily inspired by dwm. I prefer dwm because it is configured in C instead of haskell(I don't know haskell) and the bar is much simpler than xmobar. Xmonad is cool if you like haskell though. http://dwm.suckless.org/ http://dwm.suckless.org/
- dghf 12y agoApply the pango patch [0] to dwm, and you can get nice xft fonts, Unicode icons and colours in the status bar. [0] http://dwm.suckless.org/patches/pango http://dwm.suckless.org/patches/pango
- le_lenny_face 12y agoEvery hipster and his window drapes is using i3 and their TWM these days, though.
- djfm 12y agoI've been using Xmonad for such a long time I can barely use a non-tiling WM properly now. Makes me look like a fool on almost anybody else's computer. But perhaps the greatest thing about Xmonad is that it can lead you to Haskell and to functional programming in general, and I think this is one of the most useful and beautiful discoveries a developer can make. Your Javascript or your PHP will get better just by looking at some Haskell :)
- noobermin 12y agoThis is encouraging. I switched from Awesome to Qtile just because I liked python more than lua, although Qtile lacks much in features (specifically, Awesome's better layouts, in my opinion). However, I've been wanting to learn Haskell and I was hoping using Xmonad would be a good excuse to learn it. It sounds like I'd get what I want.
- foobarqux 12y agoIs Xmonad still being updated? It seems moribund.
- VLM 12y agoThat's just the dead blog and dead twitter. The mailing list is fairly active, hundreds of posts per month. The bug tracker is being bit by the death of google code and I don't recall reading where its going. It uses darcs and there's talk of a git mirror. In a way its a pity this story popped up today. There's been talk on the mailing list just a week or two ago about a new release "real soon now". I assumed this story was the announcement of the new release, until I clicked thru and studied a bit. Its not a GUI environment but a window manager along the philosophical lines of do one thing and do it very well. Once it works, which it does, its hard to find something to change unless the API changes for X (unlikely).
- dons 12y agoxmonad is largely 'finished'. It works. So we don't have to keep modifying it now.
- im2w1l 12y agoI assume you are an xmonad dev? I use it and I really like it. Could I ask you to look into the focus/unfocus loop issue?
- mseidl 12y agoI've been a xmonad user for a long time, but I'm going to switch to i3. While xmonad is nice, and haskell is nice, the haskell eco system is a PITA. And things break a lot(using cabal). And somehow, after a long time of no changes my xmonad will no longer recompile. Trying to update the haskell stuff just turned out to be a HUGE pain. Also the libraries take up way too much space because you have to have then in different ways. I forgot how it went, but having xmonad(a small wm) required something like 1 to 1,5gb of harddrive space.
- davidshepherd7 12y agoAre you using a bleeding edge distro? I've been using the version of xmonad from apt-get in Ubuntu (usually the latest release) for ~3 years and it's never broken or required me to change my config.
- cantankerous 12y agoI'm using Arch linux and I've only managed to break XMonad once (or maybe twice) when I removed some packages that my config relied on. Admittedly my config file is probably pretty boring.
- reycharles 12y agoFor what it's worth my XMonad config broke at some point, so I'm running an executable from october 2013. I've tried fixing it, but too much is broken for it to be an easy fix right now.
- diminish 12y agoAfter 3 years with xmonad I ve moved to i3 which is as a minimalistic WM is itself small and lightweight.
- agumonkey 12y agoSimilar experience but with wmii. I wanted a tiling WM for a tiny hdd, tried wmii, MOD-Enter for term, MOD-<n> for workspace, a few ones to cycle through. Deal. It has some glitches, like MOD being swallowed somehow, maybe i3 doesn't have that. But so far I don't really miss XMonad. I do miss it because it's rock solid, it's Haskell, but wmii/i3 get you going in less than 1MB.
- dnquark 12y agoDoes Xmonad work OOTB on recent Ubuntu versions? I remember that after the switch to Gnome 3 it was a huge PITA to get Xmonad, Xmobar, and trayer (to get indicator applets) all working; some indicator applets never displayed anyway. TBH, though, I didn't miss tiling WMs much after switching to OS X, mostly because I spend 95% of my time in Chrome with hella tabs, terminal with screen and Emacs.
- rgoomar 12y agoXMonad is my favorite tiling window manager. I use it on top of XFCE, so I have a bit of a graphical interface just in case my non-technical friends use my computer and tiling / shortcuts / all the awesome stuff that comes with XMonad on top of that. Although it is written in Haskell, I find the configuration pretty easy to use and manipulate. It's incredibly powerful and extremely lightweight when compared to other tiling managers. TLDR; XMonad is my favorite tiling window manager.
- eeZi 12y agoOn a related note, still no package signing in Cabal (Haskell's package manager). https://github.com/haskell/cabal/issues/936 https://github.com/haskell/cabal/issues/936