xmonad-contrib
Copyright(c) 2007 David Roundy <droundy@darcs.net>
LicenseBSD3-style (see LICENSE)
Maintainernone
Stabilityunstable
Portabilityunportable
Safe HaskellNone
LanguageHaskell2010

XMonad.Layout.WorkspaceDir

Contents

Description

WorkspaceDir is an extension to set the current directory in a workspace.

Actually, it sets the current directory in a layout, since there's no way I know of to attach a behavior to a workspace. This means that any terminals (or other programs) pulled up in that workspace (with that layout) will execute in that working directory. Sort of handy, I think.

Note this extension requires the directory package to be installed.

Synopsis

Usage

You can use this module with the following in your xmonad.hs:

import XMonad.Layout.WorkspaceDir

Then edit your layoutHook by adding the Workspace layout modifier to some layout:

myLayout = workspaceDir "~" (Tall 1 (3/100) (1/2))  ||| Full ||| etc..
main = xmonad def { layoutHook = myLayout }

For more detailed instructions on editing the layoutHook see the tutorial and XMonad.Doc.Extending.

WorkspaceDir provides also a prompt. To use it you need to import XMonad.Prompt and add something like this to your key bindings:

 , ((modm .|. shiftMask, xK_x     ), changeDir def)

If you prefer a prompt with case-insensitive completion:

 , ((modm .|. shiftMask, xK_x     ),

changeDir def {complCaseSensitivity = CaseInSensitive})

For detailed instruction on editing the key binding see:

the tutorial.

workspaceDir :: LayoutClass l a => String -> l a -> ModifiedLayout WorkspaceDir l a Source #

data WorkspaceDir a Source #

Instances

Instances details
LayoutModifier WorkspaceDir Window Source # 
Instance details

Defined in XMonad.Layout.WorkspaceDir

Methods

modifyLayout :: LayoutClass l Window => WorkspaceDir Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source #

modifyLayoutWithUpdate :: LayoutClass l Window => WorkspaceDir Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (WorkspaceDir Window)) Source #

handleMess :: WorkspaceDir Window -> SomeMessage -> X (Maybe (WorkspaceDir Window)) Source #

handleMessOrMaybeModifyIt :: WorkspaceDir Window -> SomeMessage -> X (Maybe (Either (WorkspaceDir Window) SomeMessage)) Source #

pureMess :: WorkspaceDir Window -> SomeMessage -> Maybe (WorkspaceDir Window) Source #

redoLayout :: WorkspaceDir Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (WorkspaceDir Window)) Source #

pureModifier :: WorkspaceDir Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (WorkspaceDir Window)) Source #

hook :: WorkspaceDir Window -> X () Source #

unhook :: WorkspaceDir Window -> X () Source #

modifierDescription :: WorkspaceDir Window -> String Source #

modifyDescription :: LayoutClass l Window => WorkspaceDir Window -> l Window -> String Source #

Read (WorkspaceDir a) Source # 
Instance details

Defined in XMonad.Layout.WorkspaceDir

Methods

readsPrec :: Int -> ReadS (WorkspaceDir a)

readList :: ReadS [WorkspaceDir a]

readPrec :: ReadPrec (WorkspaceDir a)

readListPrec :: ReadPrec [WorkspaceDir a]

Show (WorkspaceDir a) Source # 
Instance details

Defined in XMonad.Layout.WorkspaceDir

Methods

showsPrec :: Int -> WorkspaceDir a -> ShowS

show :: WorkspaceDir a -> String

showList :: [WorkspaceDir a] -> ShowS

newtype Chdir Source #

Constructors

Chdir String 

Instances

Instances details
Message Chdir Source # 
Instance details

Defined in XMonad.Layout.WorkspaceDir