xmonad: Manage fullscreen games correctly
This commit is contained in:
parent
f414e47b26
commit
8bbebbac64
1 changed files with 12 additions and 5 deletions
|
|
@ -3,11 +3,14 @@ import XMonad.Actions.CycleWS qualified as WS
|
||||||
import XMonad.Actions.Navigation2D (navigation2DP, windowGo, windowSwap)
|
import XMonad.Actions.Navigation2D (navigation2DP, windowGo, windowSwap)
|
||||||
import XMonad.Hooks.EwmhDesktops
|
import XMonad.Hooks.EwmhDesktops
|
||||||
import XMonad.Hooks.ManageDocks qualified as Docks
|
import XMonad.Hooks.ManageDocks qualified as Docks
|
||||||
|
import XMonad.Hooks.ManageHelpers (doFullFloat, isDialog, isFullscreen)
|
||||||
import XMonad.Hooks.SetWMName
|
import XMonad.Hooks.SetWMName
|
||||||
import XMonad.Layout.BinarySpacePartition
|
import XMonad.Layout.BinarySpacePartition
|
||||||
import XMonad.Layout.BorderResize (borderResize)
|
import XMonad.Layout.BorderResize (borderResize)
|
||||||
|
import XMonad.Layout.NoBorders (smartBorders)
|
||||||
import XMonad.Layout.ThreeColumns
|
import XMonad.Layout.ThreeColumns
|
||||||
import XMonad.Layout.ToggleLayouts (ToggleLayout (..), toggleLayouts)
|
import XMonad.Layout.ToggleLayouts (ToggleLayout (..), toggleLayouts)
|
||||||
|
import XMonad.ManageHook (doFloat)
|
||||||
import XMonad.Util.EZConfig qualified as EZ
|
import XMonad.Util.EZConfig qualified as EZ
|
||||||
import XMonad.Util.Ungrab (unGrab)
|
import XMonad.Util.Ungrab (unGrab)
|
||||||
|
|
||||||
|
|
@ -31,9 +34,7 @@ compileRestart resume = do
|
||||||
executeFile (cacheDir dirs </> compiledConfig) False args Nothing
|
executeFile (cacheDir dirs </> compiledConfig) False args Nothing
|
||||||
)
|
)
|
||||||
|
|
||||||
myLayout = borderResize $ Docks.avoidStruts layout
|
myLayout = smartBorders . borderResize . Docks.avoidStruts $ toggleLayouts emptyBSP Full
|
||||||
where
|
|
||||||
layout = emptyBSP ||| Full
|
|
||||||
|
|
||||||
main :: IO ()
|
main :: IO ()
|
||||||
main = getDirectories >>= launch myConfig
|
main = getDirectories >>= launch myConfig
|
||||||
|
|
@ -60,16 +61,22 @@ changeVolume :: VolumeCommand -> X ()
|
||||||
changeVolume = spawn . interpretVolumeCommand
|
changeVolume = spawn . interpretVolumeCommand
|
||||||
|
|
||||||
myConfig =
|
myConfig =
|
||||||
Docks.docks
|
ewmhFullscreen
|
||||||
. ewmh
|
. ewmh
|
||||||
. ewmhFullscreen
|
. Docks.docks
|
||||||
. nav
|
. nav
|
||||||
$ def
|
$ def
|
||||||
{ modMask = mod4Mask -- Use Super instead of Alt
|
{ modMask = mod4Mask -- Use Super instead of Alt
|
||||||
, terminal = "alacritty"
|
, terminal = "alacritty"
|
||||||
, layoutHook = myLayout
|
, layoutHook = myLayout
|
||||||
|
, handleEventHook = handleEventHook def <+> fullscreenEventHook
|
||||||
, -- this seems to be necessary to make java gui applications work :(
|
, -- this seems to be necessary to make java gui applications work :(
|
||||||
startupHook = ewmhDesktopsStartup >> setWMName "LG3D"
|
startupHook = ewmhDesktopsStartup >> setWMName "LG3D"
|
||||||
|
, manageHook =
|
||||||
|
mconcat
|
||||||
|
[ isDialog --> doFloat
|
||||||
|
, isFullscreen --> doFullFloat
|
||||||
|
]
|
||||||
}
|
}
|
||||||
`EZ.additionalKeysP` [ ("M-S-z", spawn "xscreensaver-command -lock")
|
`EZ.additionalKeysP` [ ("M-S-z", spawn "xscreensaver-command -lock")
|
||||||
, ("M-S-r", compileRestart True)
|
, ("M-S-r", compileRestart True)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue