[xmonad] Hide border when switching to full screen

Eyal Erez oneself at gmail.com
Sat Jan 13 14:10:07 UTC 2024


Hi,

Currently, if a window goes into full screen mode (e.g., if I hit "f" while
watching a youtube video in Chrome), I would like it to take up the entire
screen and also remove the window border. I have tried doing this with the
code snippets I've included below (full xmonad.hs
<https://pastebin.com/uDqdETiF>). However this only works partially. The
window resizes to take up the entire screen, including toggling struts.
However, the border does not toggle off. Is there anything I can do
differently? Thank you.

-- Define a function which toggles borders and also does full float
doFullFloatNoBorders :: ManageHook
doFullFloatNoBorders = do
  liftX $ withFocused toggleBorder
  doFullFloat

myManageHook :: [ManageHook]
myManageHook =
    [ isFullscreen                  --> doFullFloatNoBorders
      -- more rules
    ]
    where role = stringProperty "WM_WINDOW_ROLE"
          unfloat = ask >>= doF . W.sink

myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $
    [      -- Toggle borders
     ((modMask .|. shiftMask, xK_b     ), withFocused toggleBorder)
     -- more key definitions
    ]

-- Main configuration
myConfig = ewmhFullscreen $ ewmh def
        { modMask            = mod1Mask
        , keys               = myKeys
        , manageHook         = manageDocks <+> composeAll myManageHook
        -- more configuration
        }
-- Key binding to toggle the gap for the bar.
toggleStrutsKey XConfig {XMonad.modMask = modMask} = (modMask .|.
controlMask, xK_b)

main = xmonad =<< statusBar "xmonad" def toggleStrutsKey myConfig

-- 
*Eyal Erez <**oneself at gmail.com* <oneself at gmail.com>*>*

There are 10 types of people, those who know binary and those who don't.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/xmonad/attachments/20240113/4192d1b0/attachment.html>


More information about the xmonad mailing list