xmonad-contrib-0.17.1: Community-maintained extensions for xmonad

Copyright | (c) 2007 David Roundy <droundy@darcs.net>
License | BSD3-style (see LICENSE)
Maintainer | none
Stability | unstable
Portability | unportable
Safe Haskell | Safe-Inferred
Language | Haskell2010

XMonad.Layout.WorkspaceDir

Contents

- Usage

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

- workspaceDir :: LayoutClass l a => String -> l a -> ModifiedLayout WorkspaceDir l a
- changeDir :: XPConfig -> X ()
- data WorkspaceDir a
- newtype Chdir = Chdir String

# Usage

You can use this module with the following in your `~/.xmonad/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:

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:

XMonad.Doc.Extending.

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

changeDir :: XPConfig -> X () 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) Source # readList :: ReadS [WorkspaceDir a] Source # readPrec :: ReadPrec (WorkspaceDir a) Source # readListPrec :: ReadPrec [WorkspaceDir a] Source #
Show (WorkspaceDir a) Source # |
Instance details Defined in XMonad.Layout.WorkspaceDir Methods showsPrec :: Int -> WorkspaceDir a -> ShowS Source # show :: WorkspaceDir a -> String Source # showList :: [WorkspaceDir a] -> ShowS Source #

newtype Chdir Source #

Constructors

Chdir String |

#### Instances

Instances details

Message Chdir Source # |
Instance details Defined in XMonad.Layout.WorkspaceDir