XMonad.Layout.WindowNavigation

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

Copyright | (c) 2007 David Roundy <droundy@darcs.net>
License | BSD3-style (see LICENSE)
Maintainer | Devin Mullins <me@twifkak.com>
Stability | unstable
Portability | unportable
Safe Haskell | None
Language | Haskell2010

XMonad.Layout.WindowNavigation

Contents

- Usage

Description

WindowNavigation is an extension to allow easy navigation of a workspace.

Synopsis

- windowNavigation :: LayoutClass l a => l a -> ModifiedLayout WindowNavigation l a
- configurableNavigation :: LayoutClass l a => WNConfig -> l a -> ModifiedLayout WindowNavigation l a
- data Navigate
  - = Go Direction2D
  - | Swap Direction2D
  - | Move Direction2D
  - | Apply (Window -> X ()) Direction2D
- data Direction2D
  - = U
  - | D
  - | R
  - | L
- data MoveWindowToWindow a = MoveWindowToWindow a a
- data WNConfig
- navigateColor :: String -> WNConfig
- navigateBrightness :: Double -> WNConfig
- noNavigateBorders :: WNConfig
- def :: Default a => a
- data WindowNavigation a

# Usage

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

    import XMonad.Layout.WindowNavigation

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

    myLayout = windowNavigation (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.

In keybindings:

       , ((modm,                 xK_Right), sendMessage $ Go R)
       , ((modm,                 xK_Left ), sendMessage $ Go L)
       , ((modm,                 xK_Up   ), sendMessage $ Go U)
       , ((modm,                 xK_Down ), sendMessage $ Go D)
       , ((modm .|. controlMask, xK_Right), sendMessage $ Swap R)
       , ((modm .|. controlMask, xK_Left ), sendMessage $ Swap L)
       , ((modm .|. controlMask, xK_Up   ), sendMessage $ Swap U)
       , ((modm .|. controlMask, xK_Down ), sendMessage $ Swap D)

For detailed instruction on editing the key binding see:

the tutorial.

windowNavigation :: LayoutClass l a => l a -> ModifiedLayout WindowNavigation l a #

configurableNavigation :: LayoutClass l a => WNConfig -> l a -> ModifiedLayout WindowNavigation l a #

data Navigate #

Constructors

Go Direction2D |
Swap Direction2D |
Move Direction2D |
Apply (Window -> X ()) Direction2D | Apply action with destination window

#### Instances

Instances details

Message Navigate # |
Instance details Defined in XMonad.Layout.WindowNavigation

data Direction2D #

Two-dimensional directions:

Constructors

U | Up
D | Down
R | Right
L | Left

#### Instances

Instances details

Bounded Direction2D # |
Instance details Defined in XMonad.Util.Types Methods minBound :: Direction2D # maxBound :: Direction2D #
Enum Direction2D # |
Instance details Defined in XMonad.Util.Types Methods succ :: Direction2D -> Direction2D # pred :: Direction2D -> Direction2D # toEnum :: Int -> Direction2D # fromEnum :: Direction2D -> Int # enumFrom :: Direction2D -> [Direction2D] # enumFromThen :: Direction2D -> Direction2D -> [Direction2D] # enumFromTo :: Direction2D -> Direction2D -> [Direction2D] # enumFromThenTo :: Direction2D -> Direction2D -> Direction2D -> [Direction2D] #
Read Direction2D # |
Instance details Defined in XMonad.Util.Types Methods readsPrec :: Int -> ReadS Direction2D # readList :: ReadS [Direction2D] # readPrec :: ReadPrec Direction2D # readListPrec :: ReadPrec [Direction2D] #
Show Direction2D # |
Instance details Defined in XMonad.Util.Types Methods showsPrec :: Int -> Direction2D -> ShowS # show :: Direction2D -> String # showList :: [Direction2D] -> ShowS #
Eq Direction2D # |
Instance details Defined in XMonad.Util.Types Methods (==) :: Direction2D -> Direction2D -> Bool # (/=) :: Direction2D -> Direction2D -> Bool #
Ord Direction2D # |
Instance details Defined in XMonad.Util.Types Methods compare :: Direction2D -> Direction2D -> Ordering # (<) :: Direction2D -> Direction2D -> Bool # (<=) :: Direction2D -> Direction2D -> Bool # (>) :: Direction2D -> Direction2D -> Bool # (>=) :: Direction2D -> Direction2D -> Bool # max :: Direction2D -> Direction2D -> Direction2D # min :: Direction2D -> Direction2D -> Direction2D #

data MoveWindowToWindow a #

Constructors

MoveWindowToWindow a a |

#### Instances

Instances details

Read a => Read (MoveWindowToWindow a) # |
Instance details Defined in XMonad.Layout.WindowNavigation Methods readsPrec :: Int -> ReadS (MoveWindowToWindow a) # readList :: ReadS [MoveWindowToWindow a] # readPrec :: ReadPrec (MoveWindowToWindow a) # readListPrec :: ReadPrec [MoveWindowToWindow a] #
Show a => Show (MoveWindowToWindow a) # |
Instance details Defined in XMonad.Layout.WindowNavigation Methods showsPrec :: Int -> MoveWindowToWindow a -> ShowS # show :: MoveWindowToWindow a -> String # showList :: [MoveWindowToWindow a] -> ShowS #
Typeable a => Message (MoveWindowToWindow a) # |
Instance details Defined in XMonad.Layout.WindowNavigation

data WNConfig #

Used with `configurableNavigation` to specify how to show reachable windows' borders. You cannot create `WNConfig` values directly; use `def` or one of the following three functions to create one.

`def`, and `windowNavigation`, uses the focused border color at 40% brightness, as if you had specified

    configurableNavigation (navigateBrightness 0.4)

#### Instances

Instances details

Default WNConfig # |
Instance details Defined in XMonad.Layout.WindowNavigation Methods def :: WNConfig #
Read WNConfig # |
Instance details Defined in XMonad.Layout.WindowNavigation Methods readsPrec :: Int -> ReadS WNConfig # readList :: ReadS [WNConfig] # readPrec :: ReadPrec WNConfig # readListPrec :: ReadPrec [WNConfig] #
Show WNConfig # |
Instance details Defined in XMonad.Layout.WindowNavigation Methods showsPrec :: Int -> WNConfig -> ShowS # show :: WNConfig -> String # showList :: [WNConfig] -> ShowS #

navigateColor :: String -> WNConfig #

Indicate reachable windows by drawing their borders in the specified color.

navigateBrightness :: Double -> WNConfig #

Indicate reachable windows by drawing their borders in the active border color, with the specified brightness.

noNavigateBorders :: WNConfig #

Don't use window borders for navigation.

def :: Default a => a #

The default value for this type.

data WindowNavigation a #

#### Instances

Instances details

LayoutModifier WindowNavigation Window # |
Instance details Defined in XMonad.Layout.WindowNavigation Methods modifyLayout :: LayoutClass l Window => WindowNavigation Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) # modifyLayoutWithUpdate :: LayoutClass l Window => WindowNavigation Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (WindowNavigation Window)) # handleMess :: WindowNavigation Window -> SomeMessage -> X (Maybe (WindowNavigation Window)) # handleMessOrMaybeModifyIt :: WindowNavigation Window -> SomeMessage -> X (Maybe (Either (WindowNavigation Window) SomeMessage)) # pureMess :: WindowNavigation Window -> SomeMessage -> Maybe (WindowNavigation Window) # redoLayout :: WindowNavigation Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (WindowNavigation Window)) # pureModifier :: WindowNavigation Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (WindowNavigation Window)) # hook :: WindowNavigation Window -> X () # unhook :: WindowNavigation Window -> X () # modifierDescription :: WindowNavigation Window -> String # modifyDescription :: LayoutClass l Window => WindowNavigation Window -> l Window -> String #
Read (WindowNavigation a) # |
Instance details Defined in XMonad.Layout.WindowNavigation Methods readsPrec :: Int -> ReadS (WindowNavigation a) # readList :: ReadS [WindowNavigation a] # readPrec :: ReadPrec (WindowNavigation a) # readListPrec :: ReadPrec [WindowNavigation a] #
Show (WindowNavigation a) # |
Instance details Defined in XMonad.Layout.WindowNavigation Methods showsPrec :: Int -> WindowNavigation a -> ShowS # show :: WindowNavigation a -> String # showList :: [WindowNavigation a] -> ShowS #