xmonad-contrib-0.18.0: Community-maintained extensions for xmonad
Copyright(c) 2022 Tomáš Janoušek <tomi@nomi.cz>
LicenseBSD3
MaintainerTomáš Janoušek <tomi@nomi.cz>
Safe HaskellNone
LanguageHaskell2010

XMonad.Actions.ToggleFullFloat

Contents

Description

 
Synopsis

Usage

The main use-case is to make ewmhFullscreen (re)store the size and position of floating windows instead of just unconditionally sinking them into the floating layer. To enable this, you'll need this in your xmonad.hs:

import XMonad
import XMonad.Actions.ToggleFullFloat
import XMonad.Hooks.EwmhDesktops

main = xmonad $ … . toggleFullFloatEwmhFullscreen . ewmhFullscreen . ewmh . … $ def{…}

Additionally, this "smart" fullscreening can be bound to a key and invoked manually whenever one needs a larger window temporarily:

  , ((modMask .|. shiftMask, xK_t), withFocused toggleFullFloat)

toggleFullFloatEwmhFullscreen :: forall (a :: Type -> Type). XConfig a -> XConfig a Source #

Hook this module into ewmhFullscreen. This makes windows restore their original state (size and position if floating) instead of unconditionally sinking into the tiling layer.

(gcToggleFullFloat is included here.)

toggleFullFloat :: Window -> X () Source #

Full-float a window, if it's not already full-floating. Otherwise, restore its original state.

fullFloat :: Window -> X () Source #

Full-float a window, remembering its state (tiled/floating and position/size).

unFullFloat :: Window -> X () Source #

Restore window to its remembered state.

gcToggleFullFloat :: forall (a :: Type -> Type). XConfig a -> XConfig a Source #

Install ToggleFullFloat garbage collection hooks.

Note: This is included in toggleFullFloatEwmhFullscreen, only needed if using the toggleFullFloat separately from the EWMH hook.