View Full Version : XMonad - the tiling window manager that rocks
tobe
June 11th, 2009, 15:04
Hi,
I've switched from XFCE to XMonad and i must say i'm very very happy with it. Of course it depends on GHC (the haskell compiler) but it's not a problem for me since i have it already installed.
The configuration file can be difficult to write if you're not in haskell already... Well, basically, this is a WM for coders :)
I've spent a full day to configure my setup, i'm using:
- xmobar for the top bar (display the workspaces, the layout, the title of the focused window and the date/time).
- trayer for applications in system tray.
- dmenu for launching applications.
I've setup specials key bindings and per workspace layouts for different tasks.
Some screenshots:
Files manager workspace
http://www.gnagnaki.net/xmonad/xmonad-files.png
Web browser workspace
http://www.gnagnaki.net/xmonad/xmonad-web.png
Gimp workspace
http://www.gnagnaki.net/xmonad/xmonad-gimp.png
Msn workspace (pidgin here)
http://www.gnagnaki.net/xmonad/xmonad-msn.png
The theme used in the GTK applications is ClearLooks-Compact, very good for small screens like mine (http://art.gnome.org/download/themes/gtk2/1377/GTK2-ClearlooksCompact.tar.bz2).
The terminal is xterm with a bit of tweaking, actually it seems to be faster than any other terminal to resize its window...
No i have plenty of space on my little laptop screen :D
Edit: my config : http://www.gnagnaki.net/xmonad/xmonad.hs
Daisuke_Aramaki
June 12th, 2009, 01:49
Can you please post your screenshots as thumbnails? There is a reason why most imagehosts provide thumbnail linking.
Anyway I used Xmonad heavily in the past, but not anymore.
varnie
June 17th, 2009, 07:00
tobe, could you please spend a little time to tell us about your experience with xmonad and share with us its distinguishing features which made you happy with it? many thanks in advance.
tobe
June 17th, 2009, 14:33
I'm feeling more and more comfortable with Xmonad, and more productive too (coding most of the time). After one week under Xmonad, i've deinstalled Xfce.
Pros:
- It's light
- It's stable.
- I have much more space on my little laptop screen.
- Per workspace layouts !
- It looks nice with xmobar, trayer and a little bit of configuration.
- Now i remember how to configure X11 and Gtk :)
- The configuration file is a haskell source file.
- You don't need a wallpaper anymore :)
Cons:
- I had to remember how to configure X11 and Gtk.
- The configuration file is a haskell source file :)
- The click-to-focus eats one mouse click.
- Some applications doesn't create dialogs with the appropriate flags, and are tiled instead of floating on top of tiled windows. You can create exceptions in the config file to force floating mode for some windows.
About the configuration file, i think it can be confusing for peoples who are not into haskell language. I had to watch the api documentation in order to understand how to configure some features. On the other side, if you can code haskell, there's no limits!
The 'per workspace layouts' is a contributed extension to xmonad. It allows to create different layouts per workspaces so you can optimize them for a specific task (see "files" and "msn" screenshots for example), it's really useful, you just launch the applications and they are tiled efficiently.
I've never been an adept of full featured desktops but i don't like minimalistic windows managers (they looks really bad), i hate KDE 4, i don't like Gnome and Xfce was the best choice for me until i tried Xmonad.
Maybe i'll switch back to Xfce in a few weeks, who know? :)
dburkland
June 17th, 2009, 18:44
I've never even heard of Haskell (No surprise though I'm not a coder) but I think from what I have seen it looks worth an install :)
tobe
June 20th, 2009, 16:06
Good luck, don't mind to ask if you need help :)
noosphere
June 25th, 2009, 16:34
If you like xmonad, you might be interested in scrotwm:
http://www.peereboom.us/scrotwm/html/scrotwm.html
It's a new tiling window manager inspired by xmonad and dwm. Unlike xmonad, it's a very small program written in C, so is a lot faster, a lot easier on system resources, and doesn't have nearly as many dependencies.
Another great thing about it is that it has a very simple configuration file (made up of easy to understand "key=value" pairs). This is a big improvement for people who don't know Haskell (which is the language xmonad config files are written in). But there's also a downside to this, which is that it's not as flexible as xmonad potentially is (if you do know Haskell and are willing to spend a lot of time tweaking your xmonad configuration).
However, apart from that, scrotwm feels very much like xmonad, with the same default keybindings, tiling, and no-frills look.
DutchDaemon
June 25th, 2009, 16:57
Scrotum? Really?
FLY
June 26th, 2009, 08:52
Is there anyone successfully build scrotwm on your freebsd box? I was defeated with the problem of 'lacking bsd.prog.mk', reported in the maillist bellow.
http://www.pubbs.net/freebsd/200905/94246/
aragon
June 27th, 2009, 20:28
Fly, I can compile and run it, but I have not played with it enough to see if it is fully functional under FreeBSD without source changes. It interests me so I might try port it properly, but in the mean time if you just want to get it working as is, do the following.
Instead of running 'make' in the source directory, run:
cc -lutil -L/usr/local/lib -I/usr/local/include -I./linux -lX11 -lXrandr -Wall -Wno-uninitialized -ggdb3 -o scrotwm scrotwm.c
That will create a 'scrotwm' binary in the source directory. Run that, and scrotwm should start. You'll probably want to put the sample scrotwm.conf in ~/.scrotwm.conf and tweak the config to your liking.
FLY
June 28th, 2009, 15:50
Thanks it works! Though I find it a little hard to get it tamed ^_^
aragon
June 28th, 2009, 22:07
The man page (http://www.peereboom.us/scrotwm/html/man.html) is essential. I'm liking it very much. Got everything working, and have already started making source mods to improve it. Written a bar_action script for FreeBSD that reports laptop battery status and CPU status too.
I'm definitely going to have a crack at porting this. I was going to try using dwm, but after seeing how it is configured I think I'll stick with scrotwm for now.
I'll share my work soon. Look out for a new thread though - we've been OT long enough. :)
yvonney
November 6th, 2009, 19:47
I've been very plesantly surprised with scrotWM after getting to the point skill-wise where I was able to try many WMs. Keeping an eye on Xmonad while wishing it could be have a small footprint.
Oko
November 6th, 2009, 19:59
I've been very plesantly surprised with scrotWM after getting to the point skill-wise where I was able to try many WMs. Keeping an eye on Xmonad while wishing it could be have a small footprint.
Xmonad is crippled by being written in Haskell. ScrotWM is written in C.
dh
November 7th, 2009, 01:11
Xmonad is crippled by being written in Mono. ScrotWM is written in C.
You're mistaken, Xmonad is written in Haskell
Oko
November 7th, 2009, 02:17
You're mistaken, Xmonad is written in Haskell
You are absolutely right! I corrected my post.
varnie
May 18th, 2010, 12:11
suppose we have xmonad configured to use several 'workspaces' and we have IRC client/ICQ/MSN client whatsoever else opened on the 2nd workspace with the appropriate useful layout installed.
being located on the 1st workspace how we would receive the 'signal' we got some message in client opened on the 2nd workspace?
nekoexmachina
May 18th, 2010, 13:16
There is a xorg feature, something like a message from some window. Do not actually know how is it called.
When i've used xmonad and gajim, gajim poped up (e.g. not its standart popup, but little xmonad-color-schemed thing like window title) it's name with amount of messages recieved.
Edit: in kwin and other floating wms it's like a blinking window title on your taskbar.
But the better way is to use some dzen/xmobar + pipe/notification-file with your client. As i know, mcabber does support it, and weechat to.
sw2wolf
June 3rd, 2010, 02:35
>ghc --version
The Glorious Glasgow Haskell Compilation System, version 6.10.4
>cabal --version
cabal-install version 0.8.2
using version 1.8.0.2 of the Cabal library
/usr/ports/devel/hs-ghc-paths>sudo make install clean
===> hs-ghc-paths-0.1.0.5_1 depends on executable: ghc - found
===> Configuring for hs-ghc-paths-0.1.0.5_1
[1 of 1] Compiling Main ( Setup.hs, Setup.o )
Setup.hs:18:22: Not in scope: `preMakefile'
*** Error code 1
Stop in /usr/ports/devel/hs-ghc-paths.
hs-ghc-paths is needed by xmonad, so i cannot install xmonad without it.
Sincerely!
DutchDaemon
June 3rd, 2010, 17:34
sw2wolf, Format your posts, please (http://forums.freebsd.org/showthread.php?t=8816).
vBulletin® v3.8.7, Copyright ©2000-2012, vBulletin Solutions, Inc.