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…