[xmonad] Initial Layout

kevind256 kevind256 at gmail.com
Fri Jan 21 11:10:47 CET 2011


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 <byorgey at seas.upenn.edu> wrote:
> 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 at haskell.org
> http://www.haskell.org/mailman/listinfo/xmonad
>



More information about the xmonad mailing list