xmonad-contrib- Community-maintained extensions for xmonad
CopyrightDevin Mullins <me@twifkak.com>
Andrea Rossato <andrea.rossato@unibz.it>
LicenseBSD-style (see LICENSE)
MaintainerDevin Mullins <me@twifkak.com> Andrea Rossato <andrea.rossato@unibz.it>
Safe HaskellSafe-Inferred




xprompt operations to bring windows to you, and bring you to windows.



WindowPrompt brings windows to you and you to windows. That is to say, it pops up a prompt with window names, in case you forgot where you left your XChat. It also offers helpers to build the subset of windows which is used for the prompt completion.

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

import XMonad.Prompt
import XMonad.Prompt.Window

and in the keys definition:

, ((modm .|. shiftMask, xK_g     ), windowPrompt def Goto wsWindows)
, ((modm .|. shiftMask, xK_b     ), windowPrompt def Bring allWindows)

The autoComplete option is a handy complement here:

, ((modm .|. shiftMask, xK_g     ), windowPrompt
                                       def { autoComplete = Just 500000 }
                                       Goto allWindows)

The '500000' is the number of microseconds to pause before sending you to your new window. This is useful so that you don't accidentally send some keystrokes to the selected client.

For detailed instruction on editing the key binding see the tutorial.

windowPrompt :: XPConfig -> WindowPrompt -> XWindowMap -> X () Source #

Pops open a prompt with window titles belonging to winmap. Choose one, and an action is applied on the selected window, according to WindowPrompt.

windowMultiPrompt :: XPConfig -> [(WindowPrompt, XWindowMap)] -> X () Source #

Like windowPrompt, but uses the multiple modes feature of Prompt (via mkXPromptWithModes).

Given a list of actions along with the windows they should work with, display the appropriate prompt with the ability to switch between them using the changeModeKey.

For example, to have a prompt that first shows you all windows, but allows you to narrow the list down to just the windows on the current workspace:

windowMultiPrompt config [(Goto, allWindows), (Goto, wsWindows)]

allWindows :: XWindowMap Source #

A helper to get the map of all windows.

allApplications :: XWindowMap Source #

A helper to get the map of all applications

wsWindows :: XWindowMap Source #

A helper to get the map of windows of the current workspace.

type XWindowMap = X (Map String Window) Source #

A Map where keys are pretty printable window names and values are Xmonad windows identifier.