diff --git a/src/events.nim b/src/events.nim index b29a2a4..6f509a9 100644 --- a/src/events.nim +++ b/src/events.nim @@ -1,8 +1,6 @@ import - std/[os, osproc], x11/[x, xlib], wm, - log, events/[ buttonpress, buttonrelease, @@ -33,10 +31,6 @@ proc dispatchEvent*(self: var Wm; ev: XEvent) = else: discard proc eventLoop*(self: var Wm) = - if fileExists expandTilde "~/.config/worm/rc": - log "config file found, loading..." - discard startProcess expandTilde "~/.config/worm/rc" - log "config file loaded!" while true: discard self.dpy.XNextEvent(unsafeAddr self.currEv) self.dispatchEvent self.currEv diff --git a/src/worm.nim b/src/worm.nim index f37b092..14efaf9 100644 --- a/src/worm.nim +++ b/src/worm.nim @@ -1,7 +1,29 @@ import + std/[os, osproc, parseopt], wm, - events + events, + log when isMainModule: var instance = initWm() + + var rcFile = "~/.config/worm/rc" + + var p = initOptParser("") + while true: + p.next() + case p.kind + of cmdEnd: break + of cmdLongOption: + case p.key + of "rcfile": + rcFile = p.val + else: discard + else: discard + + if fileExists expandTilde rcFile: + log "config file found, loading..." + discard startProcess expandTilde rcFile + log "config file loaded!" + instance.eventLoop()