summaryrefslogtreecommitdiff
path: root/xmonad
diff options
context:
space:
mode:
authorMagdalena Szweda <hi@roughlynamed.net>2026-09-27 12:45:33 +0200
committerMagdalena Szweda <hi@roughlynamed.net>2026-09-27 12:45:33 +0200
commit30a274f48e1f0746a2aaff34eed09df80a47ec1f (patch)
tree306124848ec84a428e9ba10881b191135b2ffa2c /xmonad
parent568475983d15f81dff7b1d70276c77b1b994ce6e (diff)
backup
Diffstat (limited to 'xmonad')
-rw-r--r--xmonad/.config/xmonad/autostart.sh6
-rw-r--r--xmonad/.config/xmonad/xmonad.hs8
-rw-r--r--xmonad/.config/xmonad/xmonad.hs~136
3 files changed, 147 insertions, 3 deletions
diff --git a/xmonad/.config/xmonad/autostart.sh b/xmonad/.config/xmonad/autostart.sh
new file mode 100644
index 0000000..49cc879
--- /dev/null
+++ b/xmonad/.config/xmonad/autostart.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+pipewire &
+sleep 1
+wireplumber &
+sleep 1
+pipewire-pulse &
diff --git a/xmonad/.config/xmonad/xmonad.hs b/xmonad/.config/xmonad/xmonad.hs
index b773b67..a306193 100644
--- a/xmonad/.config/xmonad/xmonad.hs
+++ b/xmonad/.config/xmonad/xmonad.hs
@@ -16,7 +16,7 @@ import XMonad.StackSet qualified as W
import XMonad.Util.ClickableWorkspaces
import XMonad.Util.EZConfig (additionalKeysP)
import XMonad.Util.Ungrab
-
+import XMonad.Util.SpawnOnce (spawnOnce)
myModMask :: KeyMask
myModMask = mod4Mask
@@ -83,7 +83,10 @@ main =
$ myConfig
startup :: X ()
-startup = spawn "xset m 0"
+startup = do
+ spawnOnce "~/.config/xmonad/autostart.sh"
+ spawnOnce "mpd"
+ spawn "xset m 0"
myConfig =
def
@@ -105,7 +108,6 @@ myConfig =
("M-e", spawn "thunar"),
("M-s", spawn "vesktop"),
("M-x", spawn "loginctl lock-session"),
- ("M-m", spawn (myTerminal ++ " -e ncmpcpp")),
("<Print>", spawn "screenshot"),
("S-<Print>", spawn "screenrecord"),
("M-S-s", unGrab *> spawn "screenshot select"),
diff --git a/xmonad/.config/xmonad/xmonad.hs~ b/xmonad/.config/xmonad/xmonad.hs~
new file mode 100644
index 0000000..a306193
--- /dev/null
+++ b/xmonad/.config/xmonad/xmonad.hs~
@@ -0,0 +1,136 @@
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# OPTIONS_GHC -Wno-deprecations #-}
+
+import Data.Map qualified as M
+import System.Exit (exitSuccess)
+import XMonad
+import XMonad.Actions.CycleWS (nextScreen, shiftNextScreen)
+import XMonad.Hooks.EwmhDesktops
+import XMonad.Hooks.InsertPosition
+import XMonad.Hooks.ManageHelpers (isDialog)
+import XMonad.Hooks.StatusBar
+import XMonad.Hooks.StatusBar.PP
+import XMonad.Layout.NoBorders (smartBorders)
+import XMonad.Layout.Renamed (Rename (Replace), renamed)
+import XMonad.StackSet qualified as W
+import XMonad.Util.ClickableWorkspaces
+import XMonad.Util.EZConfig (additionalKeysP)
+import XMonad.Util.Ungrab
+import XMonad.Util.SpawnOnce (spawnOnce)
+myModMask :: KeyMask
+myModMask = mod4Mask
+
+myTerminal :: String
+myTerminal = "alacritty"
+
+myBorderWidth :: Dimension
+myBorderWidth = 2
+
+colBg, colFg, colAccent, colGrey :: String
+colBg = "#101010"
+colFg = "#cccccc"
+colAccent = "#708090"
+colGrey = "#606060"
+
+myWorkspaces :: [String]
+myWorkspaces = map show [1 .. 9 :: Int]
+
+myLayout = renamed [Replace "[]="] tiled ||| renamed [Replace "[M]"] Full
+ where
+ tiled = Tall nmaster delta ratio
+ nmaster = 1
+ ratio = 0.50
+ delta = 3 / 100
+
+myManageHook :: ManageHook
+myManageHook =
+ composeAll
+ [ className =? "confirmreset" --> doFloat,
+ className =? "makebranch" --> doFloat,
+ className =? "maketag" --> doFloat,
+ className =? "ssh-askpass" --> doFloat,
+ className =? "Blueman-manager" --> doFloat,
+ className =? "Pavucontrol" --> doFloat,
+ title =? "branchdialog" --> doFloat,
+ title =? "pinentry" --> doFloat,
+ isDialog --> doFloat
+ ]
+
+myToggleFloat :: Window -> X ()
+myToggleFloat w = windows $ \s ->
+ if M.member w (W.floating s)
+ then W.sink w s
+ else W.float w (W.RationalRect 0.1 0.1 0.8 0.8) s
+
+myXmobarPP :: PP
+myXmobarPP =
+ def
+ { ppCurrent = xmobarColor colBg colAccent . wrap " " " ",
+ ppHidden = xmobarColor colFg "" . wrap " " " ",
+ ppHiddenNoWindows = xmobarColor colGrey "" . wrap " " " ",
+ ppUrgent = xmobarColor "#ff5555" "" . wrap " " " ",
+ ppTitle = xmobarColor colFg "" . shorten 60,
+ ppLayout = xmobarColor colAccent "",
+ ppSep = xmobarColor colGrey "" " "
+ }
+
+main :: IO ()
+main =
+ xmonad
+ . ewmhFullscreen
+ . ewmh
+ . withEasySB (statusBarProp "xmobar" (clickablePP myXmobarPP)) defToggleStrutsKey
+ $ myConfig
+
+startup :: X ()
+startup = do
+ spawnOnce "~/.config/xmonad/autostart.sh"
+ spawnOnce "mpd"
+ spawn "xset m 0"
+
+myConfig =
+ def
+ { modMask = myModMask,
+ terminal = myTerminal,
+ borderWidth = myBorderWidth,
+ normalBorderColor = colGrey,
+ focusedBorderColor = colAccent,
+ workspaces = myWorkspaces,
+ layoutHook = myLayout,
+ manageHook = insertPosition End Newer <> myManageHook <+> manageHook def,
+ startupHook = startup
+ }
+ `additionalKeysP` [ ("M-<Return>", spawn myTerminal),
+ ("M-p", spawn "j4-dmenu-desktop"),
+ ("M-c", spawn "emacs"),
+ ("M-t", spawn "thunderbird"),
+ ("M-w", spawn "vivaldi"),
+ ("M-e", spawn "thunar"),
+ ("M-s", spawn "vesktop"),
+ ("M-x", spawn "loginctl lock-session"),
+ ("<Print>", spawn "screenshot"),
+ ("S-<Print>", spawn "screenrecord"),
+ ("M-S-s", unGrab *> spawn "screenshot select"),
+ ("M-S-r", unGrab *> spawn "screenrecord select"),
+ ("M-q", kill),
+ ("M-f", withFocused myToggleFloat),
+ ("M-j", windows W.focusDown),
+ ("M-k", windows W.focusUp),
+ ("M-h", sendMessage Shrink),
+ ("M-l", sendMessage Expand),
+ ("M-S-h", sendMessage (IncMasterN 1)),
+ ("M-S-l", sendMessage (IncMasterN (-1))),
+ ("M-<Tab>", sendMessage NextLayout),
+ ("M-.", nextScreen),
+ ("M-S-.", shiftNextScreen),
+ ("M-C-q", io exitSuccess),
+ ("<XF86AudioRaiseVolume>", spawn "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"),
+ ("<XF86AudioLowerVolume>", spawn "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"),
+ ("<XF86AudioMute>", spawn "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"),
+ ("<XF86AudioPlay>", spawn "playerctl play-pause"),
+ ("<XF86AudioNext>", spawn "playerctl next"),
+ ("<XF86AudioPrev>", spawn "playerctl previous"),
+ ("<XF86AudioStop>", spawn "playerctl stop"),
+ ("<XF86MonBrightnessUp>", spawn "brightnessctl set +5%"),
+ ("<XF86MonBrightnessDown>", spawn "brightnessctl set 5%-")
+ ]