From abb68d82a2a839438a3de19b377084ae9796bf42 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Thu, 7 Dec 2023 14:29:10 +0900 Subject: [PATCH] updated initial boot and kb layout switch --- config/hypr/initial-boot.sh | 36 +++++++++++++-------- config/hypr/scripts/SwitchKeyboardLayout.sh | 18 ++++++++--- config/waybar/modules | 8 ++--- 3 files changed, 39 insertions(+), 23 deletions(-) diff --git a/config/hypr/initial-boot.sh b/config/hypr/initial-boot.sh index cfadfcc..797f49c 100755 --- a/config/hypr/initial-boot.sh +++ b/config/hypr/initial-boot.sh @@ -1,11 +1,12 @@ #!/bin/bash -# A bash script designed to ran it only once dotfiles installed +# A bash script designed to run only once dotfiles installed # THIS SCRIPT CAN BE DELETED ONCE SUCCESSFULLY BOOTED!! And also, edit ~/.config/hypr/configs/Execs.conf -# not necessary to do since this script is only designed to ran only once as long as the marker exist +# not necessary to do since this script is only designed to run only once as long as the marker exists -# Set swww options +# Variables +scriptsDir=$HOME/.config/hypr/scripts wallpaper=$HOME/Pictures/wallpapers/anime-girl-abyss.png swww="swww img" @@ -14,18 +15,25 @@ effect="--transition-bezier .43,1.19,1,.4 --transition-fps 60 --transition-type # Check if a marker file exists. if [ ! -f ~/.config/hypr/.initial_startup_done ]; then - # Initialize pywal - printf " Initializing pywal........\n\n" - wal -i $wallpaper + # Initialize pywal + printf " Initializing pywal........\n\n" + wal -i "$wallpaper" + + # Initial symlink for Pywal Dark and Light for Rofi Themes + ln -sf "$HOME/.cache/wal/colors-rofi-dark.rasi" "$HOME/.config/rofi/pywal-color/pywal-theme.rasi" + + # Initial scripts to load in order to have a proper wallpaper waybar and pywal themes + pkill swww && swww init || swww query && $swww "$wallpaper" $effect + + # Refreshing waybar, dunst, rofi etc. + "$scriptsDir/PywalSwww.sh" > /dev/null 2>&1 & + "$scriptsDir/Refresh.sh" > /dev/null 2>&1 & + + # initiate the kb_layout (for some reason) waybar cant launch it + "$scriptsDir/SwitchKeyboardLayout.sh" > /dev/null 2>&1 & - #initial symlink for Pywal Dark and Light for Rofi Themes - ln -sf "$HOME/.cache/wal/colors-rofi-dark.rasi" "$HOME/.config/rofi/pywal-color/pywal-theme.rasi" - - # Initial scripts to load inorder to have a proper wallpaper waybar and pywal themes - swww query || swww init && $swww $wallpaper $effect - # Create a marker file to indicate that the script has been executed. touch ~/.config/hypr/.initial_startup_done -fi - + exit +fi diff --git a/config/hypr/scripts/SwitchKeyboardLayout.sh b/config/hypr/scripts/SwitchKeyboardLayout.sh index 40b212f..e7c56b4 100755 --- a/config/hypr/scripts/SwitchKeyboardLayout.sh +++ b/config/hypr/scripts/SwitchKeyboardLayout.sh @@ -1,13 +1,21 @@ -#!/bin/bash +#!/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 -layout_f="/tmp/kb_layout" current_layout=$(cat "$layout_f") # Read keyboard layout settings from Settings.conf -settings_file="$HOME/.config/hypr/configs/Settings.conf" - if [ -f "$settings_file" ]; then - # Extract the value of kb_layout from Settings.conf kb_layout_line=$(grep 'kb_layout=' "$settings_file" | cut -d '=' -f 2) IFS=',' read -ra layout_mapping <<< "$kb_layout_line" fi diff --git a/config/waybar/modules b/config/waybar/modules index fa98904..5e90530 100644 --- a/config/waybar/modules +++ b/config/waybar/modules @@ -459,11 +459,11 @@ }, "custom/keyboard": { - "exec": "cat /tmp/kb_layout", - "interval": 3, + "exec": "cat ~/.cache/kb_layout", + "interval": 1, "format": " {}", - "on-click": "~/.config/hypr/scripts/SwitchKeyboardLayout.sh", - "tooltip": false, + "on-click": "~/.config/hypr/scripts/SwitchKeyboardLayout.sh", + "tooltip": false, }, "custom/light_dark": {