[xmonad] Shifting client-instances to workspaces
Wirt Wolff
wirtwolff at gmail.com
Tue Dec 20 13:57:06 CET 2011
Excerpts from 1126's message of Tue Dec 20 04:05:00 -0700 2011:
>
> I added the ability to shift clients automatically to a workspace. So,
> when I start Firefox it is opened on my www-workspace automatically.
>
> I want the same for Irssi and Alpine and my Emacs. I want them opened
> on the communiaction-workspace, or the coding-workspace ;)
>
> But all of them are running withing URxvt, so the class is always
> URxvt.
>
> In i3 you are able to shift a client-instance to a workspace, like so:
>
> assign [class="URxvt" instance="irssi"] -> 2|com
>
> Is something similar possible in xmonad? And if so, how?
>
This will be similar to your Firefox manageHook. In xmonad-speak
`instance' is called `resource' or `appName'. They're identical; one's
an alias for the other. To combine them use <&&> and <||> (see
XMonad.ManageHook.) Also, there are several examples in the mailing list
archives of how to put together fancier regexp-like matches if you end
up needing them.
So your example would look like:
className =? "URxvt" <&&> appName =? "irssi" --> doShift "2|com"
There's a section about finding window properties midway through
http://xmonad.org/faq (the xprop wrapper window-properties.sh script
mentioned there makes life easier. It yields copy pasteable property
matchers (Query Bool's).
Welcome to the list. (Don't worry. Most of the time everyone here and
in #xmonad on chat.freenode.org is friendly and helpful.)
-- wmw
More information about the xmonad
mailing list