From: Simon Ruderich Date: Mon, 14 Jun 2010 08:07:56 +0000 (+0200) Subject: xmonad.hs: Allow switching to vertical tiled layout with meta-v. X-Git-Url: https://ruderich.org/simon/gitweb/?p=config%2Fdotfiles.git;a=commitdiff_plain;h=c8293a7b552ffd51d8eac2233eb574487b8f56fd xmonad.hs: Allow switching to vertical tiled layout with meta-v. --- diff --git a/xmonad.hs b/xmonad.hs index 469789c..f446577 100644 --- a/xmonad.hs +++ b/xmonad.hs @@ -8,10 +8,14 @@ import XMonad import XMonad.Layout.Reflect -- Necessary for avoidMaster. import qualified XMonad.StackSet as W +-- Necessary for toggleLayouts. +import XMonad.Layout.ToggleLayouts -- Necessary for smartBorders. import XMonad.Layout.NoBorders -- Necessary for composeOne and -?>. import XMonad.Hooks.ManageHelpers +-- Necessary for `additionalKeys`. +import XMonad.Util.EZConfig -- Prevent new windows from spawning in the master pane. Taken from @@ -34,7 +38,11 @@ avoidMaster = W.modify' $ \c -> case c of -- -- Thanks to jrick in #xmonad on Freenode (2009-06-29 22:19) for telling me -- how to remove the vertical tiled layout. -myLayoutHook = smartBorders $ Mirror tiled ||| Full +-- +-- toggleLayouts is used to allow switching to vertical tiled layout but not +-- using it with meta-space (see below in key bindings). Thanks to ml| in +-- #xmonad on Freenode (2010-06-14 09:49) how to use toggleLayouts. +myLayoutHook = toggleLayouts tiled $ smartBorders $ Mirror tiled ||| Full where -- Default tiling algorithm partitions the screen into two panes. tiled = Tall nmaster delta ratio @@ -77,3 +85,8 @@ main = xmonad $ defaultConfig -- Use unicode rxvt as my terminal. , terminal = "urxvt" } + `additionalKeys` [ + -- Switch to additional layout (vertical tiled) defined by + -- toggleLayouts above. + ((mod4Mask, xK_v), sendMessage ToggleLayout) + ]