xmonad-contrib-0.13: Third party extensions for xmonad

Copyright | Devin Mullins <me@twifkak.com>
License | BSD-style (see LICENSE)
Maintainer | Devin Mullins <me@twifkak.com>
Stability | stable
Portability | unportable
Safe Haskell | None
Language | Haskell98

XMonad.Actions.WindowBringer

Contents

- Usage

Description

dmenu operations to bring windows to you, and bring you to windows. That is to say, it pops up a dmenu with window names, in case you forgot where you left your XChat.

Synopsis

- data WindowBringerConfig = WindowBringerConfig {
  - menuCommand :: String
  - menuArgs :: [String]
  - windowTitler :: WindowSpace -> Window -> X String
  }
- gotoMenu :: X ()
- gotoMenuConfig :: WindowBringerConfig -> X ()
- gotoMenu' :: String -> X ()
- gotoMenuArgs :: [String] -> X ()
- gotoMenuArgs' :: String -> [String] -> X ()
- bringMenu :: X ()
- bringMenuConfig :: WindowBringerConfig -> X ()
- bringMenu' :: String -> X ()
- bringMenuArgs :: [String] -> X ()
- bringMenuArgs' :: String -> [String] -> X ()
- windowMap :: X (Map String Window)
- windowMap' :: (WindowSpace -> Window -> X String) -> X (Map String Window)
- bringWindow :: Window -> WindowSet -> WindowSet
- actionMenu :: WindowBringerConfig -> (Window -> WindowSet -> WindowSet) -> X ()

# Usage

Import the module into your `~/.xmonad/xmonad.hs`:

    import XMonad.Actions.WindowBringer

and define appropriate key bindings:

    , ((modm .|. shiftMask, xK_g     ), gotoMenu)
    , ((modm .|. shiftMask, xK_b     ), bringMenu)

For detailed instructions on editing your key bindings, see XMonad.Doc.Extending.

data WindowBringerConfig #

Constructors

WindowBringerConfig |

Fields

- menuCommand :: String

  The shell command that will handle window selection

- menuArgs :: [String]

  Arguments to be passed to menuCommand

- windowTitler :: WindowSpace -> Window -> X String

  A function that produces window titles given a workspace and a window

Instances

Default WindowBringerConfig # |
Methods def :: WindowBringerConfig #

gotoMenu :: X () #

Pops open a dmenu with window titles. Choose one, and you will be taken to the corresponding workspace.

gotoMenuConfig :: WindowBringerConfig -> X () #

Pops open a dmenu with window titles. Choose one, and you will be taken to the corresponding workspace. This version accepts a configuration object.

gotoMenu' :: String -> X () #

Pops open an application with window titles given over stdin. Choose one, and you will be taken to the corresponding workspace.

gotoMenuArgs :: [String] -> X () #

Pops open a dmenu with window titles. Choose one, and you will be taken to the corresponding workspace. This version takes a list of arguments to pass to dmenu.

gotoMenuArgs' :: String -> [String] -> X () #

Pops open an application with window titles given over stdin. Choose one, and you will be taken to the corresponding workspace. This version takes a list of arguments to pass to dmenu.

bringMenu :: X () #

Pops open a dmenu with window titles. Choose one, and it will be dragged, kicking and screaming, into your current workspace.

bringMenuConfig :: WindowBringerConfig -> X () #

Pops open a dmenu with window titles. Choose one, and it will be dragged, kicking and screaming, into your current workspace. This version accepts a configuration object.

bringMenu' :: String -> X () #

Pops open an application with window titles given over stdin. Choose one, and it will be dragged, kicking and screaming, into your current workspace.

bringMenuArgs :: [String] -> X () #

Pops open a dmenu with window titles. Choose one, and it will be dragged, kicking and screaming, into your current workspace. This version takes a list of arguments to pass to dmenu.

bringMenuArgs' :: String -> [String] -> X () #

Pops open an application with window titles given over stdin. Choose one, and it will be dragged, kicking and screaming, into your current workspace. This version allows arguments to the chooser to be specified.

windowMap :: X (Map String Window) #

A map from window names to Windows.

windowMap' :: (WindowSpace -> Window -> X String) -> X (Map String Window) #

A map from window names to Windows, given a windowTitler function.

bringWindow :: Window -> WindowSet -> WindowSet #

Brings the specified window into the current workspace.

actionMenu :: WindowBringerConfig -> (Window -> WindowSet -> WindowSet) -> X () #

Calls dmenuMap to grab the appropriate Window, and hands it off to action if found.