From 4d0692dd72adb9620adfcd80b19153457adb25e2 Mon Sep 17 00:00:00 2001 From: Candifloss Date: Mon, 17 Nov 2025 06:28:43 +0530 Subject: [PATCH] Update keybindings module - New keybindings - Tests --- src/keybindings.rs | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/src/keybindings.rs b/src/keybindings.rs index 293c4ba..ef22622 100644 --- a/src/keybindings.rs +++ b/src/keybindings.rs @@ -4,12 +4,12 @@ use penrose::{ actions::{exit, modify_with, send_layout_message, spawn}, layout::messages::{ExpandMain, IncMain, ShrinkMain}, }, - core::bindings::KeyEventHandler, + core::bindings::{KeyEventHandler,parse_keybindings_with_xmodmap}, map, }; use std::collections::HashMap; -// Keybindings +// Keybindings pub fn raw_key_bindings() -> HashMap>> { let mut raw = map! { map_keys: |k: &str| k.to_string(); @@ -28,8 +28,12 @@ pub fn raw_key_bindings() -> HashMap>> "M-S-Down" => send_layout_message(|| IncMain(-1)), "M-S-Right" => send_layout_message(|| ExpandMain), "M-S-Left" => send_layout_message(|| ShrinkMain), - "M-semicolon" => spawn("dmenu_run"), - "M-Return" => spawn("st"), + "M-a" => spawn("rofi -show drun"), + "M-Return" => spawn("alacritty"), + "C-A-p" => spawn("firefox --private-window"), + "C-A-c" => spawn("codium"), + "C-A-k" => spawn("keepassxc"), + "C-A-f" => spawn("nautilus"), "M-A-Escape" => exit(), }; @@ -45,3 +49,17 @@ pub fn raw_key_bindings() -> HashMap>> raw } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn bindings_parse_correctly_with_xmodmap() { + let res = parse_keybindings_with_xmodmap(raw_key_bindings()); + + if let Err(e) = res { + panic!("{e}"); + } + } +} \ No newline at end of file