xmonad: clean up imports

This commit is contained in:
Primrose 2025-08-10 23:52:50 +02:00
parent 2b3efa5b44
commit 29110fffba
Signed by: primrose
GPG key ID: 4E887A4CA9714ADA

View file

@ -2,46 +2,32 @@
{-# LANGUAGE LambdaCase #-} {-# LANGUAGE LambdaCase #-}
import XMonad import XMonad
import XMonad.Actions.Submap
import XMonad.Actions.SwapWorkspaces(swapWithCurrent) import XMonad.Actions.SwapWorkspaces
import XMonad.Actions.Submap (submap, visualSubmap) import XMonad.Hooks.DynamicLog
import XMonad.Hooks.EwmhDesktops
import XMonad.Util.EZConfig (additionalKeys, removeKeys) import XMonad.Hooks.FadeWindows
import XMonad.Util.NamedScratchpad (NamedScratchpad (NS), import XMonad.Hooks.InsertPosition
customFloating, import XMonad.Hooks.ManageHelpers
namedScratchpadAction, import XMonad.Hooks.RefocusLast
namedScratchpadManageHook, scratchpadWorkspaceTag) import XMonad.Hooks.StatusBar
import XMonad.Util.SpawnOnce (spawnOnce) import XMonad.Layout.NoBorders
import XMonad.Layout.Reflect
import XMonad.Layout.NoBorders (smartBorders) import XMonad.Layout.Renamed
import XMonad.Layout.Reflect (reflectHoriz) import XMonad.Layout.ResizableTile
import XMonad.Layout.Spacing (smartSpacingWithEdge) import XMonad.Layout.Spacing
import XMonad.Layout.Renamed (named) import XMonad.StackSet qualified as W
import XMonad.Layout.ResizableTile (ResizableTall(ResizableTall), MirrorResize (MirrorShrink, MirrorExpand)) import XMonad.Util.EZConfig
import XMonad.Util.Hacks
import XMonad.Hooks.ManageHelpers (isFullscreen, (~?), composeOne, (-?>)) import XMonad.Util.NamedScratchpad
import XMonad.Hooks.FadeWindows (fadeWindowsLogHook, opaque, isUnfocused, transparency, isFloating) import XMonad.Util.SpawnOnce
import XMonad.Hooks.EwmhDesktops (ewmh, ewmhFullscreen)
import XMonad.Hooks.InsertPosition (insertPosition, Focus(Newer, Older), Position(Below, Above))
import XMonad.Hooks.RefocusLast (refocusLastLogHook)
import XMonad.Hooks.StatusBar (StatusBarConfig, statusBarProp, dynamicEasySBs)
import XMonad.Hooks.DynamicLog (PP(ppHiddenNoWindows, ppCurrent, ppSep), xmobarColor, filterOutWsPP, wrap)
import XMonad.Util.Hacks (javaHack)
import XMonad.StackSet qualified as W
import Data.Map.Strict qualified as M import Data.Map.Strict qualified as M
import Graphics.X11.ExtraTypes.XF86 import Graphics.X11.ExtraTypes.XF86
import System.Posix.Env (putEnv)
import Leanamonad.Layouts.ReflectMsg import Leanamonad.Layouts.ReflectMsg
import Leanamonad.GreekChar import Leanamonad.GreekChar
-- Note: `xmonad --restart` will make Firefox's fullscreen work duck the xmobar stop working -- Note: `xmonad --restart` will make Firefox's fullscreen work duck the xmobar stop working
-- You need restart Firefox -- You need restart Firefox
main :: IO () main :: IO ()
@ -49,7 +35,7 @@ main = xmonad
-- Fix all java things that don't scale with XMonad -- Fix all java things that don't scale with XMonad
-- https://wiki.archlinux.org/title/java#Gray_window,_applications_not_resizing_with_WM,_menus_immediately_closing -- https://wiki.archlinux.org/title/java#Gray_window,_applications_not_resizing_with_WM,_menus_immediately_closing
. javaHack . javaHack
. dynamicEasySBs xmobar . dynamicEasySBs xmonadOn
. ewmhFullscreen . ewmh . ewmhFullscreen . ewmh
$ def $ def
{ modMask = superMask { modMask = superMask
@ -251,8 +237,8 @@ centeredFloat = W.RationalRect (1/9) (1/9) (7/9) (7/9)
smallFloat = W.RationalRect (3/5) (3/5) (2/7) (2/7) smallFloat = W.RationalRect (3/5) (3/5) (2/7) (2/7)
fullFloat = W.RationalRect 0 0 1 1 fullFloat = W.RationalRect 0 0 1 1
xmobar :: ScreenId -> X StatusBarConfig xmonadOn :: ScreenId -> X StatusBarConfig
xmobar = \case xmonadOn = \case
0 -> pure $ statusBarProp "xmobar -x 0" (pure myPrettyPrinter) 0 -> pure $ statusBarProp "xmobar -x 0" (pure myPrettyPrinter)
1 -> pure $ statusBarProp "xmobar -x 1" (pure myPrettyPrinter) 1 -> pure $ statusBarProp "xmobar -x 1" (pure myPrettyPrinter)
_ -> mempty _ -> mempty