From b1f9bbf3586a74a3539251b35680aa6f8e159421 Mon Sep 17 00:00:00 2001 From: xmonad Date: Sun, 16 Mar 2008 21:57:22 +0100 Subject: Add XMonad.Actions.Promote darcs-hash:20080316205722-a910a-ef6c0d20e5267c6ddcb92cdd089722bc195c3daa.gz --- XMonad/Actions/Promote.hs | 49 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 XMonad/Actions/Promote.hs (limited to 'XMonad/Actions/Promote.hs') diff --git a/XMonad/Actions/Promote.hs b/XMonad/Actions/Promote.hs new file mode 100644 index 0000000..0d270d3 --- /dev/null +++ b/XMonad/Actions/Promote.hs @@ -0,0 +1,49 @@ +----------------------------------------------------------------------------- +-- | +-- Module : XMonad.Actions.Promote +-- Copyright : (c) Miikka Koskinen 2007 +-- License : BSD3-style (see LICENSE) +-- +-- Maintainer : xmonad@s001.ethrael.com +-- Stability : unstable +-- Portability : unportable +-- +-- Alternate promote function for xmonad. +-- +-- Moves the focused window to the master pane. All other windows +-- retain their order. If focus is in the master, swap it with the +-- next window in the stack. Focus stays in the master. +-- +----------------------------------------------------------------------------- + +module XMonad.Actions.Promote ( + -- * Usage + -- $usage + promote + ) where + +import XMonad +import XMonad.StackSet + +-- $usage +-- +-- You can use this module with the following in your @~\/.xmonad\/xmonad.hs@: +-- +-- > import XMonad.Actions.Promote +-- +-- then add a keybinding or substitute 'promote' in place of swapMaster: +-- +-- > , ((modMask x, xK_Return), promote) +-- +-- For detailed instructions on editing your key bindings, see +-- "XMonad.Doc.Extending#Editing_key_bindings". + +-- | Move the focused window to the master pane. All other windows +-- retain their order. If focus is in the master, swap it with the +-- next windo in the stack. Focus stays in the master. +promote :: X () +promote = windows $ modify' $ + \c -> case c of + Stack _ [] [] -> c + Stack t [] (x:rs) -> Stack x [] (t:rs) + Stack t ls rs -> Stack t [] (reverse ls ++ rs) -- cgit v1.2.3