about summary refs log tree commit diff
path: root/src/XMonad/Custom/Scratchpads.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/XMonad/Custom/Scratchpads.hs')
-rw-r--r--src/XMonad/Custom/Scratchpads.hs40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/XMonad/Custom/Scratchpads.hs b/src/XMonad/Custom/Scratchpads.hs
new file mode 100644
index 0000000..9d82ed5
--- /dev/null
+++ b/src/XMonad/Custom/Scratchpads.hs
@@ -0,0 +1,40 @@
+module XMonad.Custom.Scratchpads
+    ( scratchpads
+    ) where
+
+import           XMonad.Core
+import qualified XMonad.Custom.Misc          as CM
+import           XMonad.ManageHook
+import qualified XMonad.StackSet             as S
+import           XMonad.Util.NamedScratchpad
+
+spawnTerminalWith :: String -> String -> String
+spawnTerminalWith t c = CM.term CM.customApplications ++ " -title " ++ t ++ " -e " ++ c
+
+floatingNSP :: ManageHook
+floatingNSP = customFloating $ S.RationalRect x y w h
+    where
+        x = (1 - w) / 2
+        y = (1 - h) / 2
+        w = 1 / 2
+        h = 1 / 2.5
+
+scratchpads :: [NamedScratchpad]
+scratchpads =
+    [ NS "console"
+         (spawnTerminalWith "NSPConsole" "~/.xmonad/bin/nsp-console.sh")
+         (title =? "NSPConsole")
+         floatingNSP
+    , NS "volume"
+         (spawnTerminalWith "NSPVolume" (CM.mixer CM.customApplications))
+         (title =? "NSPVolume")
+         floatingNSP
+    , NS "music"
+         (spawnTerminalWith "NSPMusic" "~/.bin/mp")
+         (title =? "NSPMusic")
+         floatingNSP
+    , NS "top"
+         (spawnTerminalWith "NSPTop" (CM.top CM.customApplications))
+         (title =? "NSPTop")
+         floatingNSP
+    ]

Consider giving Nix/NixOS a try! <3