xmonad-contrib-0.9.1: Third party extensions for xmonad

MaintainerKarsten Schoelzel <kuser@gmx.de>




Functions for tagging windows and selecting them by tags.



To use window tags, import this module into your ~/.xmonad/xmonad.hs:

 import XMonad.Actions.TagWindows
 import XMonad.Prompt    -- to use tagPrompt

and add keybindings such as the following:

   , ((modm,                 xK_f  ), withFocused (addTag "abc"))
   , ((modm .|. controlMask, xK_f  ), withFocused (delTag "abc"))
   , ((modm .|. shiftMask,   xK_f  ), withTaggedGlobalP "abc" W.sink)
   , ((modm,                 xK_d  ), withTaggedP "abc" (W.shiftWin "2"))
   , ((modm .|. shiftMask,   xK_d  ), withTaggedGlobalP "abc" shiftHere)
   , ((modm .|. controlMask, xK_d  ), focusUpTaggedGlobal "abc")
   , ((modm,                 xK_g  ), tagPrompt defaultXPConfig (\s -> withFocused (addTag s)))
   , ((modm .|. controlMask, xK_g  ), tagDelPrompt defaultXPConfig)
   , ((modm .|. shiftMask,   xK_g  ), tagPrompt defaultXPConfig (\s -> withTaggedGlobal s float))
   , ((modWinMask,                xK_g  ), tagPrompt defaultXPConfig (\s -> withTaggedP s (W.shiftWin "2")))
   , ((modWinMask .|. shiftMask,  xK_g  ), tagPrompt defaultXPConfig (\s -> withTaggedGlobalP s shiftHere))
   , ((modWinMask .|. controlMask, xK_g ), tagPrompt defaultXPConfig (\s -> focusUpTaggedGlobal s))

NOTE: Tags are saved as space separated strings and split with unwords. Thus if you add a tag "a b" the window will have the tags "a" and "b" but not "a b".

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

addTag :: String -> Window -> X ()Source

add a tag to the existing ones

delTag :: String -> Window -> X ()Source

remove a tag from a window, if it exists

unTag :: Window -> X ()Source

remove all tags

setTags :: [String] -> Window -> X ()Source

set multiple tags for a window at once (overriding any previous tags)

getTags :: Window -> X [String]Source

read all tags of a window reads from the "_XMONAD_TAGS" window property

hasTag :: String -> Window -> X BoolSource

check a window for the given tag

withTaggedGlobalP :: String -> (Window -> WindowSet -> WindowSet) -> X ()Source

apply a pure function to windows with a tag

focusDownTagged :: String -> X ()Source

Move the focus in a group of windows, which share the same given tag. The Global variants move through all workspaces, whereas the other ones operate only on the current workspace

shiftHere :: (Ord a, Eq s, Eq i) => a -> StackSet i l a s sd -> StackSet i l a s sdSource

shiftToScreen :: (Ord a, Eq s, Eq i) => s -> a -> StackSet i l a s sd -> StackSet i l a s sdSource