XMonad.Actions.WindowBringer

xmonad-contrib-0.18.1: Community-maintained 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 | Haskell2010

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
  - windowFilter :: Window -> X Bool
  }
- 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 ()
- copyMenu :: X ()
- copyMenuConfig :: WindowBringerConfig -> X ()
- copyMenu' :: String -> X ()
- copyMenuArgs :: [String] -> X ()
- copyMenuArgs' :: String -> [String] -> X ()
- windowMap :: X (Map String Window)
- windowAppMap :: X (Map String Window)
- windowMap' :: WindowBringerConfig -> X (Map String Window)
- bringWindow :: Window -> WindowSet -> WindowSet
- actionMenu :: WindowBringerConfig -> (Window -> WindowSet -> WindowSet) -> X ()

# Usage

Import the module into your `xmonad.hs`:

    import XMonad.Actions.WindowBringer

and define appropriate key bindings:

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

For detailed instructions on editing your key bindings, see the tutorial.

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 windowFilter :: Window -> X Bool Filter function to decide which windows to consider

#### Instances

Instances details

Default WindowBringerConfig # |
Instance details Defined in XMonad.Actions.WindowBringer 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.

copyMenu :: X () #

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

copyMenuConfig :: WindowBringerConfig -> X () #

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

copyMenu' :: String -> X () #

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

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

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

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

Pops open an application with window titles given over stdin. Choose one, and it will be copied 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.

windowAppMap :: X (Map String Window) #

A map from application executable names to Windows.

windowMap' :: WindowBringerConfig -> 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.