
How about assigning such function to manage hook, but the function
itself would check if all the required windows are present, and if it
hasn't acted before (so it would act only one time - after startup,
and after all manage hooks have run. During the last one, to be
precise).
Unfortunately I don't know so far how to express this in Haskell.
On 1/20/11, Brent Yorgey
On Wed, Jan 19, 2011 at 01:02:22PM -0500, Allan Wind wrote:
I am starting xterm, iceweasel (aka firefox) and pidgin from .xsession:
iceweasel & pidgin & uxterm -e 'tmux new mutt' & exec /usr/bin/x-window-manager
And using the following xmonad configuration:
myManageHook = composeAll [ className =? "Gimp" --> doFloat, className =? "Iceweasel" --> doF (W.shift "1"), (className =? "Iceweasel" <&&> resource =? "Dialog") --> doFloat, className =? "Pidgin" <&&> title =? "Buddy List" --> doShift "2" ]
main = xmonad $ ewmh defaultConfig { borderWidth = 1, manageHook = myManageHook <+> manageHook defaultConfig, modMask = mod4Mask, terminal = "/usr/bin/x-terminal-emulator -e tmux" }
This gives me the following behavior:
xterm on workspace 1 right iceweasel on workspace 1 left pidgin on workspace 2
active desktop is 2. Two questions (a) Is there a way to swap xterm and iceweasel for the initial session? (b) And how do I tell xmoand that workspace 1 should be active? I am happy to dig more into the docs.
Honestly I am not sure there is a good way to do this. One problem is that the manage hooks are not guaranteed to run in any particular order; another problem is there's no good way that I know of to run some action *after* all the manage hooks have run. You can define a startupHook in your configuration to be run when xmonad starts, but that runs *before* the manage hooks so it won't help you. The only way I can think to do it would be to make a keybinding which will arrange the windows for you and take you to to workspace 1, which should be possible with a little StackSet munging.
-Brent
_______________________________________________ xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad