Copyright | (c) Karsten Schoelzel <kuser@gmx.de> |
---|---|
License | BSD |
Maintainer | Karsten Schoelzel <kuser@gmx.de> |
Stability | unstable |
Portability | unportable |
Safe Haskell | None |
Language | Haskell2010 |
Functions for tagging windows and selecting them by tags.
Synopsis
- addTag :: String -> Window -> X ()
- delTag :: String -> Window -> X ()
- unTag :: Window -> X ()
- setTags :: [String] -> Window -> X ()
- getTags :: Window -> X [String]
- hasTag :: String -> Window -> X Bool
- withTaggedP :: String -> (Window -> WindowSet -> WindowSet) -> X ()
- withTaggedGlobalP :: String -> (Window -> WindowSet -> WindowSet) -> X ()
- withFocusedP :: (Window -> WindowSet -> WindowSet) -> X ()
- withTagged :: String -> (Window -> X ()) -> X ()
- withTaggedGlobal :: String -> (Window -> X ()) -> X ()
- focusUpTagged :: String -> X ()
- focusUpTaggedGlobal :: String -> X ()
- focusDownTagged :: String -> X ()
- focusDownTaggedGlobal :: String -> X ()
- shiftHere :: (Ord a, Eq s, Eq i) => a -> StackSet i l a s sd -> StackSet i l a s sd
- shiftToScreen :: (Ord a, Eq s, Eq i) => s -> a -> StackSet i l a s sd -> StackSet i l a s sd
- tagPrompt :: XPConfig -> (String -> X ()) -> X ()
- tagDelPrompt :: XPConfig -> X ()
- data TagPrompt
Usage
To use window tags, import this module into your 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 def (\s -> withFocused (addTag s))) , ((modm .|. controlMask, xK_g ), tagDelPrompt def) , ((modm .|. shiftMask, xK_g ), tagPrompt def (\s -> withTaggedGlobal s float)) , ((modWinMask, xK_g ), tagPrompt def (\s -> withTaggedP s (W.shiftWin "2"))) , ((modWinMask .|. shiftMask, xK_g ), tagPrompt def (\s -> withTaggedGlobalP s shiftHere)) , ((modWinMask .|. controlMask, xK_g ), tagPrompt def (\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 the tutorial.
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
withTaggedP :: String -> (Window -> WindowSet -> WindowSet) -> X () Source #
apply a pure function to windows with a tag
withTaggedGlobalP :: String -> (Window -> WindowSet -> WindowSet) -> X () Source #
apply a pure function to windows with a tag
focusUpTagged :: 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
focusUpTaggedGlobal :: 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
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
focusDownTaggedGlobal :: 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
shiftToScreen :: (Ord a, Eq s, Eq i) => s -> a -> StackSet i l a s sd -> StackSet i l a s sd Source #
tagDelPrompt :: XPConfig -> X () Source #
Instances
XPrompt TagPrompt Source # | |
Defined in XMonad.Actions.TagWindows showXPrompt :: TagPrompt -> String Source # nextCompletion :: TagPrompt -> String -> [String] -> String Source # commandToComplete :: TagPrompt -> String -> String Source # completionToCommand :: TagPrompt -> String -> String Source # completionFunction :: TagPrompt -> ComplFunction Source # modeAction :: TagPrompt -> String -> String -> X () Source # |