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…
> If only there was a good cli-feed reader that could synchronize with Google Reader…
2 options (forgive me for just ignoring the google reader part):
- rss2email and $your_favorite_email_client
- write a feedreader based on uzbl (or more precisely, uzbl-core)
Dieter
If you’re just ignoring the Google Reader part, then Canto is a great option, but I like that feeds are synchronized between my laptop and my desktop and my *. If only I, or somebody else, had the energy to write a imap-like-thing for RSS…
About the layour hook being a mess, you can always refactor it a bit (untested, of course):
layoutHook = avoidStruts $ onWorkspace “www” browserLayout $ normalLayout
browserLayout = named “Tabbed” $ windowNavigation $ combined where
combined = combineTwo (TwoPane 0.03 0.5)
(tabbed shrinkText tabConfig)
(Mirror tiled)
normalLayout = tiled ||| hintedTall ||| noBorders Full
hintedTall = named “HintedTall” (hintedTile XMonad.Layout.HintedTile.Tall)