[xmonad] A few issues with xmonad I'd like to fix

wagnerdm at seas.upenn.edu wagnerdm at seas.upenn.edu
Fri Jul 1 18:15:09 CEST 2011


Quoting Laurent Humblet <laurent.humblet at gmail.com>:


>> http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Layout-LayoutCombinators.html#7
>
> I was more looking for a small script snippet but I'll dig a bit more ;)

The small script snippet is to follow the import advice outlined  
there, then add a keybinding to the action

sendMessage (JumpToLayout "Tall")

for example, for the Tall layout. For other layouts, see the  
instructions in the link for finding out what String to put instead of  
"Tall".

>>> 2) When I ALT-TAB once and release ALT and TAB, I like to go back to
>>> the previous window in the stack instead of going forward again, is
>>> this possible ?
>>
>> don't understand the request
>
> Forget about this, it's an old Windows habit that I have and it  
> actually doesn't really translate into xmonad now that I think about  
> it.

Ah, now I know what you're asking for! I think there is functionality  
like Windows' alt+tab somewhere, but I can't find it. Perhaps this is  
like it?
http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Actions-CycleWindows.html#v%3AcycleRecentWindows

>>> 3) Is there any bypass or automatic script that could do the "# cat
>>> /proc/####/fd/4" thing automatically when xmonad freezes?
>>
>> Wouldn't it be better to just avoid having xmonad freeze, instead? It
>> looks like you're sending output to xmobar; does xmobar have a
>> PipeReader working? Could you paste your .xmobarrc somewhere for us
>> to take a look at?
>
> Of course, here is my .xmobarrc:
>
> 	http://pastebin.com/DNzRKyWf

As I suspected, you don't have a StdinReader in use. Either add that  
as a plugin and in your xmobar template, or simply remove logging from  
xmonad.hs. The latter change would leave your "main" function looking  
like this (with "..." in places where you don't need to make changes):

main = xmonad defaultConfig
     { manageHook = ...
     , layoutHook = ...
     , focusedBorderColor = ...
     , normalBorderColor = ...
     , borderWidth = ...
     -- NO logHook! DELETE it
     , startupHook = spawn "/usr/bin/xmobar /home/laurent/.xmobarrc"
     , keys = ...
     }

You can probably run "spawn" on its own in a do-block as you did  
before, but I wasn't sure whether spawn had a X () return type or a  
MonadIO m => m () return type, so I played it safe here and stuck it  
in the startupHook. Which you do is a matter of taste.

After you make this change, xmonad should stop locking up.

>> In any case, it will help immensely to open up xev, whack your 6 and
>> 8 keys, and take a look at the output there.
>
> Here is the xev output for those two keys (6 = § and 8 = !)

Then perhaps you would like to use xK_section and xK_exclam in your  
keybindings.

Good luck!
~d



More information about the xmonad mailing list