XMonad and Psi
I recently switched from my beloved ion3 to xmonad, a window manager written and configured in haskell. It takes some time getting used to edit the xmonad.hs configuration file, but it's really worth if it you want to learn haskell anyway. XMonads big plus is that there's a big extension library available that offers many cool workspace layouts. So you can have several workspaces, each with its own layouts.
I'm using Psi for most of my instant messaging needs (does Jabber and GPG encryption ring a bell?), so my idea was to have a layout that keeps my buddy list ("roster") on one side of the screen, filling the rest with open chat windows. As you already might know there is a layout available, simply called IM. But it took me a while to figure out what I needed to get psi working completely. So here we go with some snippets of my xmonad.hs:
Your layout configuration should contain something like this:
But this does not send the roster to my workspace "9", so Psi has to be added to the ManageHook.
I'm using Psi for most of my instant messaging needs (does Jabber and GPG encryption ring a bell?), so my idea was to have a layout that keeps my buddy list ("roster") on one side of the screen, filling the rest with open chat windows. As you already might know there is a layout available, simply called IM. But it took me a while to figure out what I needed to get psi working completely. So here we go with some snippets of my xmonad.hs:
import XMonad.Layout.IM
import XMonad.Layout.PerWorkspace
Your layout configuration should contain something like this:
withIM (1%6) (Title "Psi") Grid ||| resizableTile $
(Title "Psi") is used by withIM to determine which window is Psis' buddy list/roster. The rest of the line is just a list of Layouts to be used by the rest of screen. So yes, you can have several layouts and even rotate them.But this does not send the roster to my workspace "9", so Psi has to be added to the ManageHook.
, className =? "chat" --> doF (W.shift "9") , title =? "Psi" --> doF (W.shift "9")The code listed above works, but the following solution is more elegant, because it simply catches all psi windows:
, className =? "psi" --> doF (W.shift "9")
cptsalek - 18. Mär, 22:12
Trackback URL:
https://cptsalek.twoday.net/stories/5592221/modTrackback