xmonad-contrib-0.18.1: Community-maintained extensions for xmonad
CopyrightQuentin Moser <moserq@gmail.com>
LicenseBSD-style (see LICENSE)
Maintainerorphaned
Stabilitystable
Portabilityunportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

XMonad.Layout.Groups.Helpers

Description

Utility functions for XMonad.Layout.Groups.

Synopsis

Usage

This module provides helpers functions for use with XMonad.Layout.Groups-based layouts. You can use its contents by adding

import XMonad.Layout.Groups.Helpers

to the top of your xmonad.hs.

XMonad.Layout.Groups-based layouts do not have the same notion of window ordering as the rest of XMonad. For this reason, the usual ways of reordering windows and moving focus do not work with them. XMonad.Layout.Groups provides Messages that can be used to obtain the right effect.

But what if you want to use both Groups and other layouts? This module provides actions that try to send GroupsMessages, and fall back to the classic way if the current layout doesn't hande them. They are in the section called "Layout-generic actions".

The sections "Groups-specific actions" contains actions that don't make sense for non-Groups-based layouts. These are simply wrappers around the equivalent GroupsMessages, but are included so you don't have to write sendMessage $ Modify $ ... everytime.

This module exports many operations with the same names as ModifySpecs from XMonad.Layout.Groups, so if you want to import both, we suggest to import XMonad.Layout.Groups qualified:

import qualified XMonad.Layout.Groups as G

For more information on how to extend your layoutHook and key bindings, see the tutorial and XMonad.Doc.Extending.

Layout-generic actions

swapUp :: X () Source #

Swap the focused window with the previous one

swapDown :: X () Source #

Swap the focused window with the next one

swapMaster :: X () Source #

Swap the focused window with the master window

focusUp :: X () Source #

If the focused window is floating, focus the next floating window. otherwise, focus the next non-floating one.

focusDown :: X () Source #

If the focused window is floating, focus the next floating window. otherwise, focus the next non-floating one.

focusMaster :: X () Source #

Move focus to the master window

toggleFocusFloat :: X () Source #

Move focus between the floating and non-floating layers

Groups-secific actions

swapGroupUp :: X () Source #

Swap the focused group with the previous one

swapGroupDown :: X () Source #

Swap the focused group with the next one

swapGroupMaster :: X () Source #

Swap the focused group with the master group

focusGroupUp :: X () Source #

Move the focus to the previous group

focusGroupDown :: X () Source #

Move the focus to the next group

focusGroupMaster :: X () Source #

Move the focus to the master group

moveToGroupUp :: Bool -> X () Source #

Move the focused window to the previous group. The Bool argument determines what will be done if the focused window is in the very first group: Wrap back to the end (True), or create a new group before it (False).

moveToGroupDown :: Bool -> X () Source #

Move the focused window to the next group. The Bool argument determines what will be done if the focused window is in the very last group: Wrap back to the beginning (True), or create a new group after it (False).

moveToNewGroupUp :: X () Source #

Move the focused window to a new group before the current one

moveToNewGroupDown :: X () Source #

Move the focused window to a new group after the current one

splitGroup :: X () Source #

Split the focused group in two at the position of the focused window.