new decoration framework status

Hi, I've just sent a message about the nature of my latest (I hope not useless) code. This is a brief statu report: I checked and ported almost all instances of LayoutClass except: - XMonad.Layout.MultiToggle: I never used it, I don't have a clear idea of what is supposed to do so I'm reluctant to touch code I don't know. - XMonad.Layout.PerWorkspace: I've never used and I must confess I don't understand layout combinators very well, so the same of the above..;) But I'm sure Brent can do that in a second. - XMonad.Layout.ToggleLayouts: I didn't have time but I came to read David's code quite well (moreover I've already hacked David's combinators and ported LayoutCombinators), so that's very easy and I'll do that shortly (before pushing anyway). The rest should be just fine. The only incompatibility with old configurations is due to the fact that the type of the tabbed configuration has changed, and tabSize has been removed. "tabbed shrinkTest defaultTConf" is working fine, since TConf is not exported and I wrote the code to convert it into the new configuration. But it will fail in case of record update of defaultTConf, since fields are not exported (they would clash with the new decoration configuration system). The type signature of the function is changed too, but we do not usually invite user to write them down, so this should not be an issue. I tested XMonad.Config.* and they seem to be working just fine. I think this is it. Andrea

Hi, Andrea,
On 1/28/08, Andrea Rossato
I checked and ported almost all instances of LayoutClass except:
- XMonad.Layout.MultiToggle: I never used it, I don't have a clear idea of what is supposed to do so I'm reluctant to touch code I don't know.
- XMonad.Layout.PerWorkspace: I've never used and I must confess I don't understand layout combinators very well, so the same of the above..;) But I'm sure Brent can do that in a second.
I put a browser at Full layout. `PerWorkspace' enables Full for my "browser-dedicated" workspace. This saves a couple of keystrokes. :) According to [sporadically updated] xmonad config arghive, all three modules have their users: # users module 1 XMonad.Layout.MultiToggle 4 XMonad.Layout.PerWorkspace 3 XMonad.Layout.ToggleLayouts
- XMonad.Layout.ToggleLayouts: I didn't have time but I came to read David's code quite well (moreover I've already hacked David's combinators and ported LayoutCombinators), so that's very easy and I'll do that shortly (before pushing anyway).
The script used to extract statistics (one may call it `user-survey.sh' ;) #!/bin/sh hawiki="http://www.haskell.org" for url in $(wget -qO - $hawiki/haskellwiki/Xmonad/Config_archive | \ grep '0\.5' | sed -re 's/^.*href="([^"]+).*$/\1/' \ -e "s@^@$hawiki@" | grep '\.hs$'); do mod="$(wget -qO- $url | grep -E 'MultiToggle|PerWorkspace|ToggleLayouts' | \ sed -r 's/^.*> *(.*)$/\1/')" [ -n "$mod" ] && echo "${url##*/}: $mod" done Brent_Yorgey%27s_xmonad.hs: XMonad.Layout.ToggleLayouts XMonad.Layout.PerWorkspace vvv%27s_xmonad.hs: XMonad.Layout.PerWorkspace Ray%27s_xmonad.hs: XMonad.Layout.PerWorkspace Xilon%27s_xmonad.hs: XMonad.Layout.PerWorkspace skorpan%27s_xmonad.hs: XMonad.Layout.ToggleLayouts cce_xmonad.hs: XMonad.Layout.ToggleLayouts entropies_xmonad.hs: XMonad.Layout.MultiToggle Have fun! -- vvv

On Mon, Jan 28, 2008 at 03:51:53PM +0200, Valery V. Vorotyntsev wrote:
# users module 1 XMonad.Layout.MultiToggle 4 XMonad.Layout.PerWorkspace 3 XMonad.Layout.ToggleLayouts
- XMonad.Layout.ToggleLayouts: I didn't have time but I came to read David's code quite well (moreover I've already hacked David's combinators and ported LayoutCombinators), so that's very easy and I'll do that shortly (before pushing anyway).
The script used to extract statistics (one may call it `user-survey.sh' ;)
#!/bin/sh hawiki="http://www.haskell.org" for url in $(wget -qO - $hawiki/haskellwiki/Xmonad/Config_archive | \ grep '0\.5' | sed -re 's/^.*href="([^"]+).*$/\1/' \ -e "s@^@$hawiki@" | grep '\.hs$'); do mod="$(wget -qO- $url | grep -E 'MultiToggle|PerWorkspace|ToggleLayouts' | \ sed -r 's/^.*> *(.*)$/\1/')" [ -n "$mod" ] && echo "${url##*/}: $mod" done
fwiw this misses at least one ToggleLayouts, which is hidden in an import of XMonad.Config.Droundy. -- David Roundy Department of Physics Oregon State University

On Mon, Jan 28, 2008 at 08:58:35AM -0500, David Roundy wrote:
# users module 1 XMonad.Layout.MultiToggle 4 XMonad.Layout.PerWorkspace 3 XMonad.Layout.ToggleLayouts
fwiw this misses at least one ToggleLayouts, which is hidden in an import of XMonad.Config.Droundy.
ok, I implemented emptyLayout for ToggleLayouts and Named (I forgot to
mention it before).
Mon Jan 28 16:15:35 CET 2008 Andrea Rossato

On Mon, Jan 28, 2008 at 03:51:53PM +0200, Valery V. Vorotyntsev wrote:
According to [sporadically updated] xmonad config arghive, all three modules have their users:
# users module 1 XMonad.Layout.MultiToggle 4 XMonad.Layout.PerWorkspace 3 XMonad.Layout.ToggleLayouts [...]
Brent_Yorgey%27s_xmonad.hs: XMonad.Layout.ToggleLayouts XMonad.Layout.PerWorkspace vvv%27s_xmonad.hs: XMonad.Layout.PerWorkspace Ray%27s_xmonad.hs: XMonad.Layout.PerWorkspace Xilon%27s_xmonad.hs: XMonad.Layout.PerWorkspace skorpan%27s_xmonad.hs: XMonad.Layout.ToggleLayouts cce_xmonad.hs: XMonad.Layout.ToggleLayouts entropies_xmonad.hs: XMonad.Layout.MultiToggle
I did not say I'm not porting those modules, and I did not say those modules are not working anymore. I just said that, if you put a decorated layout, which decorates the first window too (not the case of tabbed), below those modifiers, those modifiers will not pass to the decorated layout the "emptyLayout" call, so the last decoration will not be removed. Tabbed works with those modifiers (because it does not decorate the first window). But SimpleFloat will not remove the last decoration when you close the last window: mod+shift+space will. Just to clarify. Cheers, Andrea
participants (3)
-
Andrea Rossato
-
David Roundy
-
Valery V. Vorotyntsev