Add shiftNthLastFocused to A.TopicSpace

This commit is contained in:
Adam Vogt
2009-06-23 00:26:45 +00:00
parent 5733601ad3
commit 0f15f2fa7e

View File

@@ -159,6 +159,7 @@ module XMonad.Actions.TopicSpace
, currentTopicAction
, switchTopic
, switchNthLastFocused
, shiftNthLastFocused
, currentTopicDir
, checkTopicConfig
, (>*>)
@@ -168,7 +169,7 @@ where
import XMonad
import Data.List
import Data.Maybe (fromMaybe, isNothing)
import Data.Maybe (fromMaybe, isNothing, listToMaybe)
import Data.Ord
import qualified Data.Map as M
import Graphics.X11.Xlib
@@ -274,6 +275,12 @@ switchNthLastFocused tg depth = do
lastWs <- getLastFocusedTopics
switchTopic tg $ (lastWs ++ repeat (defaultTopic tg)) !! depth
-- | Shift the focused window to the Nth last focused topic, or fallback to doing nothing.
shiftNthLastFocused :: Int -> X ()
shiftNthLastFocused n = do
ws <- fmap (listToMaybe . drop n) getLastFocusedTopics
whenJust ws $ windows . W.shift
-- | Returns the directory associated with current topic returns the empty string otherwise.
currentTopicDir :: TopicConfig -> X String
currentTopicDir tg = do