From 40fb30c13b3e0e80174066b7ccf2dd88fe2a9666 Mon Sep 17 00:00:00 2001 From: JosephArmas Date: Wed, 22 May 2024 13:41:48 -0700 Subject: [PATCH] feat: Add rofi calculator using qalc command. Result of expression is automatically saved to clipboard. Default keybinding set to mod + alt + c. --- config/hypr/configs/Keybinds.conf | 1 + config/hypr/scripts/RofiCalc.sh | 21 +++++++++++++++++++++ config/rofi/config-calc.rasi | 7 +++++++ 3 files changed, 29 insertions(+) create mode 100755 config/hypr/scripts/RofiCalc.sh create mode 100644 config/rofi/config-calc.rasi diff --git a/config/hypr/configs/Keybinds.conf b/config/hypr/configs/Keybinds.conf index 142de86..bd6e0a9 100644 --- a/config/hypr/configs/Keybinds.conf +++ b/config/hypr/configs/Keybinds.conf @@ -23,6 +23,7 @@ bind = CTRL ALT, P, exec, $scriptsDir/Wlogout.sh bind = $mainMod, H, exec, $scriptsDir/KeyHints.sh # Small help file bind = $mainMod ALT, R, exec, $scriptsDir/Refresh.sh # Refresh waybar, swaync, rofi bind = $mainMod ALT, E, exec, $scriptsDir/RofiEmoji.sh # emoji +bind = $mainMod ALT, C, exec, $scriptsDir/RofiEmoji.sh # calculator bind = $mainMod, S, exec, $scriptsDir/RofiSearch.sh # Google search from Rofi bind = $mainMod SHIFT, B, exec, $scriptsDir/ChangeBlur.sh # Toggle blur settings bind = $mainMod SHIFT, G, exec, $scriptsDir/GameMode.sh # animations ON/OFF diff --git a/config/hypr/scripts/RofiCalc.sh b/config/hypr/scripts/RofiCalc.sh new file mode 100755 index 0000000..3589525 --- /dev/null +++ b/config/hypr/scripts/RofiCalc.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +rofi_config="$HOME/.config/rofi/config-calc.rasi" + + +while true; do + result=$( + rofi -i -dmenu \ + -config "$rofi_config" \ + -mesg "$result = $calc_result" + ) + + if [ $? -ne 0 ]; then + exit + fi + + if [ -n "$result" ]; then + calc_result=$(qalc -t "$result") + echo "$calc_result" | wl-copy + fi +done diff --git a/config/rofi/config-calc.rasi b/config/rofi/config-calc.rasi new file mode 100644 index 0000000..4c7cad2 --- /dev/null +++ b/config/rofi/config-calc.rasi @@ -0,0 +1,7 @@ +@import "~/.config/rofi/config-long.rasi" + +/* ---- Entry ---- */ +entry { + width: 45%; + placeholder: "🧮 Calculate"; +}