diff options
Diffstat (limited to 'config/hypr/scripts')
| -rwxr-xr-x | config/hypr/scripts/DarkLight.sh | 2 | ||||
| -rwxr-xr-x | config/hypr/scripts/SwitchKeyboardLayout.sh | 39 |
2 files changed, 40 insertions, 1 deletions
diff --git a/config/hypr/scripts/DarkLight.sh b/config/hypr/scripts/DarkLight.sh index 2072e1be..dc7adda0 100755 --- a/config/hypr/scripts/DarkLight.sh +++ b/config/hypr/scripts/DarkLight.sh @@ -46,7 +46,7 @@ notify_user "$next_mode" # Change background for dunst if [ "$next_mode" = "dark" ]; then - sed -i '/background = /s/.*/ background = "#00000080"/' "${dunst_config}/dunstrc" + sed -i '/background = /s/.*/ background = "#00000095"/' "${dunst_config}/dunstrc" sed -i '/foreground = /s/.*/ foreground = "#fafafa"/' "${dunst_config}/dunstrc" else sed -i '/background = /s/.*/ background = "#FFFFFF80"/' "${dunst_config}/dunstrc" diff --git a/config/hypr/scripts/SwitchKeyboardLayout.sh b/config/hypr/scripts/SwitchKeyboardLayout.sh new file mode 100755 index 00000000..e7c56b42 --- /dev/null +++ b/config/hypr/scripts/SwitchKeyboardLayout.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +layout_f="$HOME/.cache/kb_layout" +settings_file="$HOME/.config/hypr/configs/Settings.conf" + +# Check if ~/.cache/kb_layout exists and create it with a default layout from Settings.conf if not found +if [ ! -f "$layout_f" ]; then + default_layout=$(grep 'kb_layout=' "$settings_file" | cut -d '=' -f 2 | cut -d ',' -f 1 2>/dev/null) + if [ -z "$default_layout" ]; then + default_layout="us" # Default to 'us' layout if Settings.conf or 'kb_layout' is not found + fi + echo "$default_layout" > "$layout_f" +fi + +current_layout=$(cat "$layout_f") + +# Read keyboard layout settings from Settings.conf +if [ -f "$settings_file" ]; then + kb_layout_line=$(grep 'kb_layout=' "$settings_file" | cut -d '=' -f 2) + IFS=',' read -ra layout_mapping <<< "$kb_layout_line" +fi + +layout_count=${#layout_mapping[@]} + +# Find the index of the current layout in the mapping +for ((i = 0; i < layout_count; i++)); do + if [ "$current_layout" == "${layout_mapping[i]}" ]; then + current_index=$i + break + fi +done + +# Calculate the index of the next layout +next_index=$(( (current_index + 1) % layout_count )) +new_layout="${layout_mapping[next_index]}" + +# Update the keyboard layout +hyprctl keyword input:kb_layout "$new_layout" +echo "$new_layout" > "$layout_f" |
