From 2c46955719f6e13bbd3a5ddfec3cc5c1d0430f83 Mon Sep 17 00:00:00 2001 From: Thomas Ulmer Date: Wed, 29 Oct 2025 09:31:20 -0700 Subject: basic minimization, needs more work --- xmonad/xmonad.hs | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/xmonad/xmonad.hs b/xmonad/xmonad.hs index 347db1b..eaa0f47 100644 --- a/xmonad/xmonad.hs +++ b/xmonad/xmonad.hs @@ -23,8 +23,15 @@ import Graphics.X11.ExtraTypes.XF86 (xF86XK_AudioMute, import XMonad.Hooks.StatusBar import XMonad.Hooks.StatusBar.PP import XMonad.Hooks.EwmhDesktops +import XMonad.Hooks.ManageDocks (ToggleStruts(..)) + import XMonad.Actions.WindowBringer +import XMonad.Actions.Minimize (minimizeWindow, withLastMinimized, maximizeWindowAndFocus) + import XMonad.Layout.NoBorders (noBorders, smartBorders) +import XMonad.Layout.Minimize (minimize) +import qualified XMonad.Layout.BoringWindows as BW + -- The preferred terminal program, which is used in a binding below and by -- certain contrib modules. @@ -76,7 +83,6 @@ myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $ -- launch dmenu , ((modm, xK_d ), spawn "dmenu_run") - , ((modm .|. shiftMask, xK_d ), spawn "dmenu_run") -- browser , ((modm, xK_e ), spawn "glide") @@ -127,6 +133,10 @@ myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $ -- Push window back into tiling , ((modm, xK_t ), withFocused $ windows . W.sink) + -- push and pop from the hidden window stack + , ((modm, xK_backslash), withFocused minimizeWindow) + , ((modm .|. shiftMask, xK_backslash), withLastMinimized maximizeWindowAndFocus) + -- Increment the number of windows in the master area , ((modm , xK_comma ), sendMessage (IncMasterN 1)) @@ -137,7 +147,7 @@ myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $ -- Use this binding with avoidStruts from Hooks.ManageDocks. -- See also the statusBar function from Hooks.DynamicLog. -- - -- , ((modm , xK_b ), sendMessage ToggleStruts) + , ((modm , xK_b ), sendMessage ToggleStruts) , ((noModMask , xF86XK_AudioMute), spawn "pactl set-sink-mute @DEFAULT_SINK@ toggle") , ((noModMask , xF86XK_AudioLowerVolume), spawn "pactl set-sink-volume @DEFAULT_SINK@ -5%") @@ -212,10 +222,10 @@ myLayout = smartBorders tiled ||| noBorders Full nmaster = 1 -- Default proportion of screen occupied by master pane - ratio = 2/3 - + ratio = 3/5 + -- Percent of screen to increment by when resizing panes - delta = 3/100 + delta = 2/100 ------------------------------------------------------------------------ -- Window rules: @@ -248,7 +258,7 @@ myManageHook = composeAll -- return (All True) if the default handler is to be run afterwards. To -- combine event hooks use mappend or mconcat from Data.Monoid. -- -myEventHook = handleEventHook def <+> fullscreenEventHook +myEventHook = handleEventHook def ------------------------------------------------------------------------ -- Status bars and logging @@ -285,7 +295,7 @@ main = xmonad $ withEasySB mySB defToggleStrutsKey defaults -- -- No need to modify this. -- -defaults = ewmh def { +defaults = ewmhFullscreen . ewmh $ def { -- simple stuff terminal = myTerminal, focusFollowsMouse = myFocusFollowsMouse, @@ -301,7 +311,7 @@ defaults = ewmh def { mouseBindings = myMouseBindings, -- hooks, layouts - layoutHook = myLayout, + layoutHook = minimize . BW.boringWindows $ myLayout, manageHook = myManageHook, handleEventHook = myEventHook, logHook = myLogHook, -- cgit v1.2.3