From 13745c7636e04540f1c1ceef27f9ac84e51f29e1 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Fri, 19 Nov 2021 20:34:05 +0100 Subject: [PATCH] more keybinds --- src/KeybindManager.cpp | 15 ++++++++++----- src/KeybindManager.hpp | 1 + 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/KeybindManager.cpp b/src/KeybindManager.cpp index 6e5306d..5c7ef3e 100644 --- a/src/KeybindManager.cpp +++ b/src/KeybindManager.cpp @@ -15,8 +15,11 @@ void KeybindManager::reloadAllKeybinds() { KeybindManager::keybinds.clear(); // todo: config - KeybindManager::keybinds.push_back(Keybind(MOD_SUPER, 0x72 /* R */, "krunner", &KeybindManager::call)); + KeybindManager::keybinds.push_back(Keybind(MOD_SUPER, 0x72 /* R */, "dmenu_run", &KeybindManager::call)); + KeybindManager::keybinds.push_back(Keybind(MOD_SUPER, 0x71 /* Q */, "kitty", &KeybindManager::call)); KeybindManager::keybinds.push_back(Keybind(MOD_SUPER, 0x62 /* G */, "google-chrome-stable", &KeybindManager::call)); + + KeybindManager::keybinds.push_back(Keybind(MOD_SUPER, 0x63 /* C */, "", &KeybindManager::killactive)); } unsigned int KeybindManager::modToMask(MODS mod) { @@ -48,6 +51,11 @@ xcb_keycode_t KeybindManager::getKeycodeFromKeysym(xcb_keysym_t keysym) { // Dispatchers +void KeybindManager::killactive(std::string args) { + // args unused + xcb_kill_client(WindowManager::DisplayConnection, WindowManager::LastWindow); +} + void KeybindManager::call(std::string args) { if (fork() == 0) { setsid(); @@ -77,12 +85,9 @@ void KeybindManager::call(std::string args) { execvp((char*)command.c_str(), (char**)argsarr); } else { - char* argsarr[1]; - argsarr[0] = ""; - Debug::log(LOG, "Executing " + command + " with 0 args."); - execvp((char*)command.c_str(), (char**)argsarr); + execvp((char*)command.c_str(), nullptr); } diff --git a/src/KeybindManager.hpp b/src/KeybindManager.hpp index a4535dd..9d5bd0f 100644 --- a/src/KeybindManager.hpp +++ b/src/KeybindManager.hpp @@ -16,4 +16,5 @@ namespace KeybindManager { // Dispatchers void call(std::string args); + void killactive(std::string args); }; \ No newline at end of file