From e8c2239f6fe58b4a9bacd3bfed984841bb860a27 Mon Sep 17 00:00:00 2001 From: Daniel Schoepe Date: Mon, 16 Nov 2009 18:10:13 +0100 Subject: Changed interface of X.U.ExtensibleState Ignore-this: 9a830f9341e461628974890bab0bd65b Changed the interface of X.U.ExtensibleState to resemble that of Control.Monad.State and modified the modules that use it accordingly. darcs-hash:20091116171013-7f603-0631dc163d78785b123bc10164ee3295add28b60.gz --- XMonad/Actions/SpawnOn.hs | 6 +++--- XMonad/Actions/TopicSpace.hs | 7 +++---- 2 files changed, 6 insertions(+), 7 deletions(-) (limited to 'XMonad/Actions') diff --git a/XMonad/Actions/SpawnOn.hs b/XMonad/Actions/SpawnOn.hs index bdec270..d7500b2 100644 --- a/XMonad/Actions/SpawnOn.hs +++ b/XMonad/Actions/SpawnOn.hs @@ -36,7 +36,7 @@ import qualified XMonad.StackSet as W import XMonad.Hooks.ManageHelpers import XMonad.Prompt import XMonad.Prompt.Shell -import XMonad.Util.ExtensibleState +import qualified XMonad.Util.ExtensibleState as XS -- $usage -- You can use this module with the following in your @~\/.xmonad\/xmonad.hs@: @@ -71,13 +71,13 @@ maxPids = 5 -- | Get the current Spawner or create one if it doesn't exist. modifySpawner :: ([(ProcessID, ManageHook)] -> [(ProcessID, ManageHook)]) -> X () -modifySpawner f = putState . Spawner . f . pidsRef =<< getState +modifySpawner f = XS.modify (Spawner . f . pidsRef) -- | Provides a manage hook to react on process spawned with -- 'spawnOn', 'spawnHere' etc. manageSpawn :: ManageHook manageSpawn = do - Spawner pids <- liftX getState + Spawner pids <- liftX XS.get mp <- pid case flip lookup pids =<< mp of Nothing -> idHook diff --git a/XMonad/Actions/TopicSpace.hs b/XMonad/Actions/TopicSpace.hs index 78b4e73..de0fb3c 100644 --- a/XMonad/Actions/TopicSpace.hs +++ b/XMonad/Actions/TopicSpace.hs @@ -45,7 +45,6 @@ import Data.Maybe (fromMaybe, isNothing, listToMaybe) import Data.Ord import qualified Data.Map as M import Control.Monad ((=<<),liftM2,when,unless,replicateM_) -import Control.Applicative ((<$>)) import System.IO import XMonad.Operations @@ -59,7 +58,7 @@ import XMonad.Hooks.DynamicLog (PP(..)) import qualified XMonad.Hooks.DynamicLog as DL import XMonad.Util.Run (spawnPipe) -import XMonad.Util.ExtensibleState +import qualified XMonad.Util.ExtensibleState as XS -- $overview -- This module allows to organize your workspaces on a precise topic basis. So @@ -222,14 +221,14 @@ instance ExtensionClass PrevTopics where -- | Returns the list of last focused workspaces the empty list otherwise. getLastFocusedTopics :: X [String] -getLastFocusedTopics = getPrevTopics <$> getState +getLastFocusedTopics = XS.gets getPrevTopics -- | Given a 'TopicConfig', the last focused topic, and a predicate that will -- select topics that one want to keep, this function will set the property -- of last focused topics. setLastFocusedTopic :: TopicConfig -> Topic -> (Topic -> Bool) -> X () setLastFocusedTopic tg w predicate = - modifyState $ PrevTopics + XS.modify $ PrevTopics . take (maxTopicHistory tg) . nub . (w:) . filter predicate . getPrevTopics -- cgit v1.2.3