mirror of
https://github.com/xmonad/xmonad-contrib.git
synced 2025-05-18 19:10:21 -07:00
Whenever possible, prefer the safe wrappers withWindowAttributes or safeGetWindowAttributes to getWindowAttributes. Places where these are not applicable are limited to layouts, where there is not good "default value" to give back in case these calls fail. In these cases, we let the exception handling of the layout mechanism handle it and fall back to the Full layout. Fixes: https://github.com/xmonad/xmonad-contrib/issues/146
34 lines
1.0 KiB
Haskell
34 lines
1.0 KiB
Haskell
-----------------------------------------------------------------------------
|
|
-- |
|
|
-- Module : XMonad.Actions.NoBorders
|
|
-- Description : Helper functions for dealing with window borders.
|
|
-- Copyright : (c) Lukas Mai
|
|
-- License : BSD3-style (see LICENSE)
|
|
--
|
|
-- Maintainer : Lukas Mai <l.mai@web.de>
|
|
-- Stability : stable
|
|
-- Portability : unportable
|
|
--
|
|
-- This module provides helper functions for dealing with window borders.
|
|
--
|
|
-----------------------------------------------------------------------------
|
|
|
|
module XMonad.Actions.NoBorders (
|
|
toggleBorder
|
|
) where
|
|
|
|
import XMonad
|
|
|
|
-- | Toggle the border of the currently focused window. To use it, add a
|
|
-- keybinding like so:
|
|
--
|
|
-- > , ((modm, xK_g ), withFocused toggleBorder)
|
|
--
|
|
toggleBorder :: Window -> X ()
|
|
toggleBorder w = do
|
|
bw <- asks (borderWidth . config)
|
|
withDisplay $ \d -> withWindowAttributes d w $ \wa -> io $
|
|
if wa_border_width wa == 0
|
|
then setWindowBorderWidth d w bw
|
|
else setWindowBorderWidth d w 0
|