Archive for category XMonad

Friday, October 23rd, 2009

Uzbl and Xmonad

I already showed you that I switched from Firefox to Uzbl. Uzbl has no tabs out of the box, so I had to come up with something else. Somebody made a tabbing plug-in for Uzbl, but somebody else pointed me to the tabbing layout for XMonad. But I don’t want my browser full-screen. I have 22″ monitors with a resolution of 1680 * 1050 so full screen is a little much. Fortunately XMonad has something for that as well. namely the ComboP layout.

ComboP is a way to combine multiple layouts in one workspace. I now have a portion of the workspace tabbed so that is where I can have multiple uzbl windows. On the other portion I have two terminals. One for Weechat and one for Mutt. These are situated in a tall layout that doesn’t resize so they will always have 50% of the available vertical space.

This would be useless to have on every workspace, I just want it on the one I have reserved for my browsing. So I went to look for another module and found it. It’s called PerWorkspace. It gives you the ability to set a layout for just one workspace and to have just one layout on a workspace, and multiple on all the others. It does make your layoutHook look like a mess.

Here is my layoutHook line, don’t forget the imports!:

,layoutHook = avoidStruts $ onWorkspace "www" (named "Tabbed" (windowNavigation (combineTwo (TwoPane 0.03 0.5) (tabbed shrinkText tabConfig) (Mirror (tiled))))) $ tiled ||| named "HintedTall" (hintedTile XMonad.Layout.HintedTile.Tall) ||| noBorders Full

I think this is a great example of what Xmonad can do. You can mold and craft it into anything you want and it will do it for you. I just love my setup at the moment. If only there was a good cli-feed reader that could synchronize with Google Reader

Sunday, August 3rd, 2008

And the winner is…

Last week, I wrote that i was still looking for a window manager that I really like. I have tried all the mayor tiling ones and I finally settled with Xmonad. Yes, the window manager with the 300Mb haskell compiler dependecies. I’m okay with it now.

The way xmonad handles two (or more) screens is the way all window managers should do it. You have one set of workspaces. The screens are portals to these tags. So you can have workspace one on screen one and workspace two on screen two. Then you can have workspace two on screen one and workspace four on screen two. A picture to demonstrate:

Xmonad workspace screen explanation

The configuration file is easy to edit and I like it a lot. Even more so then the config file of awesome. It sounds scary to edit a haskell file but haskell is a nice, easy to understand language. My config file is found here.

So the reason I sticked with it were the multiple screen support, config file and the simplicity. I know a 300mb dependecy for a ~1 mb window manager is not really KISS but the way XMonad works is really KISS. That is because only manages your windows. You can choose youre own panel(if any). I like it!

Home