mirror of
https://github.com/xmonad/xmonad-contrib.git
synced 2025-08-17 21:33:46 -07:00
Fix a small space leak in DynamicProjects
Add a couple of strictness annotations to keep ExtensibleState from building up thunks.
This commit is contained in:
@@ -43,8 +43,8 @@ module XMonad.Actions.DynamicProjects
|
||||
import Control.Applicative ((<|>))
|
||||
import Control.Monad (when, unless)
|
||||
import Data.List (sort, union, stripPrefix)
|
||||
import Data.Map (Map)
|
||||
import qualified Data.Map as Map
|
||||
import Data.Map.Strict (Map)
|
||||
import qualified Data.Map.Strict as Map
|
||||
import Data.Maybe (fromMaybe, isNothing)
|
||||
import Data.Monoid ((<>))
|
||||
import System.Directory (setCurrentDirectory, getHomeDirectory)
|
||||
@@ -125,16 +125,16 @@ type ProjectTable = Map ProjectName Project
|
||||
--------------------------------------------------------------------------------
|
||||
-- | Details about a workspace that represents a project.
|
||||
data Project = Project
|
||||
{ projectName :: ProjectName -- ^ Workspace name.
|
||||
, projectDirectory :: FilePath -- ^ Working directory.
|
||||
, projectStartHook :: Maybe (X ()) -- ^ Optional start-up hook.
|
||||
{ projectName :: !ProjectName -- ^ Workspace name.
|
||||
, projectDirectory :: !FilePath -- ^ Working directory.
|
||||
, projectStartHook :: !(Maybe (X ())) -- ^ Optional start-up hook.
|
||||
} deriving Typeable
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
-- | Internal project state.
|
||||
data ProjectState = ProjectState
|
||||
{ projects :: ProjectTable
|
||||
, previousProject :: Maybe WorkspaceId
|
||||
{ projects :: !ProjectTable
|
||||
, previousProject :: !(Maybe WorkspaceId)
|
||||
} deriving Typeable
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user