about summary refs log tree commit diff
path: root/src/XMonad/Custom/Scratchpads.hs
diff options
context:
space:
mode:
authorazahi <azahi@teknik.io>2018-06-12 22:59:58 +0300
committerazahi <azahi@teknik.io>2018-06-12 22:59:58 +0300
commitb975c0a90dce97c8d96ab464d69575a9d8c150b3 (patch)
tree714936c56a45e1142347d763e01984f5db881fbf /src/XMonad/Custom/Scratchpads.hs
parentAdd Stack integration (diff)
Add X.Custom and split existing code in modules
Diffstat (limited to '')
-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