summaryrefslogtreecommitdiff
path: root/src/windowmanager.nim
diff options
context:
space:
mode:
Diffstat (limited to 'src/windowmanager.nim')
-rw-r--r--src/windowmanager.nim8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/windowmanager.nim b/src/windowmanager.nim
index df00b6c..a4e2058 100644
--- a/src/windowmanager.nim
+++ b/src/windowmanager.nim
@@ -2,7 +2,7 @@ import
x11/[x, xlib],
config, /types,
logging, /logger,
- tables
+ tables, os
type
WindowManager* = ref object
@@ -16,6 +16,7 @@ type
# Initialiazation stuff
proc initKeybindings (wm: WindowManager)
proc initButtons (wm: WindowManager)
+proc initCommands (wm: WindowManager)
# KeyFunc Handlers
proc procFromFunc (wm: WindowManager, keyfunc: KeyFunc): proc (wm: WindowManager)
@@ -66,6 +67,7 @@ proc createWindowManager*: WindowManager =
proc run* (wm: WindowManager) =
initKeybindings wm
initButtons wm
+ initCommands wm
discard XSetErrorHandler onWMDetected # Temporary error handler if there is another window manager running
@@ -129,6 +131,10 @@ proc initButtons (wm: WindowManager) =
None,
None)
+proc initCommands (wm: WindowManager) =
+ for cmd in config.init:
+ discard execShellCmd cmd
+
# KeyFunc Handlers
proc procFromFunc (wm: WindowManager, keyfunc: KeyFunc): proc (wm: WindowManager) =
let procFuncTable = {