From 9b232b60ae7519866b6aa62336921d94e2c05084 Mon Sep 17 00:00:00 2001 From: Wesley Kerfoot Date: Thu, 7 May 2020 23:45:26 -0400 Subject: [PATCH] support a launcher (i.e. dmenu by default) --- src/nimwin.nim | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/nimwin.nim b/src/nimwin.nim index bbf23a8..187de47 100644 --- a/src/nimwin.nim +++ b/src/nimwin.nim @@ -170,6 +170,10 @@ processChan.open(0) proc startTerminal() : Process = startProcess("/usr/bin/xterm") +proc launcher() : Process = + let launcher_path = getEnv("NIMWIN_LAUNCHER", "/usr/bin/dmenu_run") + startProcess(launcher_path) + proc handleProcess(p : Process) = discard p.waitForExit processChan.send(p.processID) @@ -195,6 +199,7 @@ when isMainModule: display.grabKeyCombo(XK_T, @[ShiftMask.cuint]) display.grabKeyCombo(XK_Tab) display.grabKeyCombo(XK_Q) + display.grabKeyCombo(XK_P) display.grabMouse(1) display.grabMouse(3) @@ -236,6 +241,11 @@ when isMainModule: discard display.XSetInputFocus(windowStack[0].win, RevertToPointerRoot, CurrentTime) discard display.XRaiseWindow(windowStack[0].win) + HandleKey(XK_P): + let p = launcher() + openProcesses[p.processID] = p + spawn handleProcess(p) + HandleKey(XK_Q): let currentPath = getAppDir()