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



Hook and keybindings for automatically sending the next spawned window(s) to the floating layer.



This module provides actions (that can be set as keybindings) to automatically send the next spawned window(s) to the floating layer.

You can use it by including the following in your ~/.xmonad/xmonad.hs:

import XMonad.Hooks.FloatNext

and adding floatNextHook to your ManageHook:

myManageHook = floatNextHook <> manageHook def

The floatNext and toggleFloatNext functions can be used in key bindings to float the next spawned window:

, ((modm, xK_e), toggleFloatNext)

floatAllNew and toggleFloatAllNew are similar but float all spawned windows until disabled again.

, ((modm, xK_r), toggleFloatAllNew)

The hook

floatNextHook :: ManageHook Source #

This ManageHook will selectively float windows as set by floatNext and floatAllNew.


floatNext :: Bool -> X () Source #

floatNext True arranges for the next spawned window to be sent to the floating layer, floatNext False cancels it.

floatAllNew :: Bool -> X () Source #

floatAllNew True arranges for new windows to be sent to the floating layer, floatAllNew False cancels it


willFloatNext :: X Bool Source #

Whether the next window will be set floating

willFloatAllNew :: X Bool Source #

Whether new windows will be set floating

Status bar utilities

The following functions are used to display the current state of floatNext and floatAllNew in your XMonad.Hooks.StatusBar.PP. willFloatNextPP and willFloatAllNewPP should be added to the ppExtras field of your XMonad.Hooks.StatusBar.PP.

Use runLogHook to refresh the output of your logHook, so that the effects of a floatNext/... will be visible immediately:

, ((modm, xK_e), toggleFloatNext >> runLogHook)

The String -> String parameters to willFloatNextPP and willFloatAllNewPP will be applied to their output, you can use them to set the text color, etc., or you can just pass them id.