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). 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@gmail.com>

There are 10 types of people, those who know binary and those who don't.