xmonad
Sunday, February 17, 2008
I am running xmonad! I had some troubles configuring it though.
I am running Ubuntu Gutsy Gibbon and had to compile it from sources which turned out to be easy, but then the instructions to actually run it didn't work. I have finally got it going by following instructions in FAQ about using xmonad with a display manager.
Before I got xmonad working I tried wmii, which was readily available in repositories. After installing it (sudo apt-get install wmii) you can log out, and in gdm (session manager) change session to wmii to finally log in and enjoy wmii. wmii would be good for me had I no dual head configuration. It was treating my two monitors as one big virtual screen. This meant that a part of it was not visible to me as my left monitor is shorter than the right.
xmonad has much fewer lines of code that wmii. I have seen it a few times already, Haskell programs being very small in comparison with alternatives in other languages. wmii is proud to keep it small in under 10 000 lines of code, while xmonad is written in less then 1300 lines of Haskell. Additionally, there are 583 lines in tests. Not bad considering that xmonad turned out to be better then wmii.
I got these numbers by running the following command on ver 0.6 sources, it ignores blank lines and comments.
find . -name \*.hs -exec cat {} \; |\
egrep -v "^ *$|^ *--" | wc
BTW xmonad is cool.
Labels: Haskell, linux, xmonad
Comments
Tartley
February 18, 2008 2:32 AM
We want screenshots!
Kamil Dworakowski
February 18, 2008 9:23 AM
As you wish, I placed it at the top, click to enlarge.
There are plenty of screenshots on xmonad.org, but most of them have ragged text :(. Fortunatelly, my text is renderd using subpixel rendering. The screenshot I attached is my right monitor.
I am using gnome-terminal, some day I will get rid of the menu and scrollbars from it.
February 18, 2008 5:59 PM
I'm suggesting urxvtd + urxvtc instead of the cheesy gnome-terminal.
July 4, 2008 5:28 PM
Regarding
$ find . -name \*.hs -exec cat {} \; |\
egrep -v "^ *$|^ *--" | wc
you're missing multiline comments here. To do it properly, using lex+yacc would be an idea (or make ghc do it).
This might work sufficiently well in practice, too:
$ find . -name '*.hs' -exec awk '/{-/ {cmt=1; next}; /-}/ {cmt=0; next}; (/^\s*--/ || cmt) {next}; {cnt++} END {print cnt}' {} +
July 4, 2008 7:15 PM
hsutils' stripcomments from http://ogi.altocumulus.org/~hallgren/hsutils/ does a great job.
Kamil Dworakowski
July 4, 2008 7:37 PM
thx Elias, I hope the missed mutliline comments haven't inflated the resuluts too much
Previous posts
- Time tracking
- Debugging memory problems in an IronPython app
- Arc
- Defect fix for swap script for Vim
- Resolver One for Open Source
- Vim basics screencast
- Why do tea bags come in pairs?
- Prefer XP over Vista
- Modifying path env variable in Z Shell
- Returning an item to Amazon
Popular
- Beautiful Code: Resolver One
- Debugging memory leaks in IronPython apps
- Why Vim's modes frustrate newbies
- Four-monitor desktop
- xmonad
- Antipattern: static subject to observer map

