Copyright | Devin Mullins <me@twifkak.com> |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Devin Mullins <me@twifkak.com> |
Stability | stable |
Portability | unportable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
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 Source #
WindowBringerConfig | |
|
Instances
Pops open a dmenu with window titles. Choose one, and you will be taken to the corresponding workspace.
gotoMenuConfig :: WindowBringerConfig -> X () Source #
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 () Source #
Pops open an application with window titles given over stdin. Choose one, and you will be taken to the corresponding workspace.
gotoMenuArgs :: [String] -> X () Source #
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 () Source #
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.
Pops open a dmenu with window titles. Choose one, and it will be dragged, kicking and screaming, into your current workspace.
bringMenuConfig :: WindowBringerConfig -> X () Source #
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 () Source #
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 () Source #
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 () Source #
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.
Pops open a dmenu with window titles. Choose one, and it will be copied into your current workspace.
copyMenuConfig :: WindowBringerConfig -> X () Source #
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 () Source #
Pops open an application with window titles given over stdin. Choose one, and it will be copied into your current workspace.
copyMenuArgs :: [String] -> X () Source #
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 () Source #
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' :: WindowBringerConfig -> X (Map String Window) Source #
A map from window names to Windows, given a windowTitler function.
bringWindow :: Window -> WindowSet -> WindowSet Source #
Brings the specified window into the current workspace.
actionMenu :: WindowBringerConfig -> (Window -> WindowSet -> WindowSet) -> X () Source #
Calls dmenuMap to grab the appropriate Window, and hands it off to action if found.