aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/hypr/UserConfigs/UserKeybinds.conf3
-rw-r--r--config/hypr/UserConfigs/UserSettings.conf2
-rwxr-xr-xconfig/hypr/UserScripts/Tak0-Autodispatch.sh90
-rwxr-xr-xconfig/hypr/scripts/Refresh.sh3
-rwxr-xr-xconfig/hypr/scripts/RefreshNoWaybar.sh3
-rwxr-xr-xconfig/hypr/scripts/Tak0-Autodispatch.sh90
-rwxr-xr-xconfig/hypr/scripts/Tak0-Per-Window-Switch.sh123
-rw-r--r--config/hypr/scripts/sddm_wallpaper-v2.sh76
-rwxr-xr-xconfig/hypr/scripts/sddm_wallpaper.sh44
9 files changed, 344 insertions, 90 deletions
diff --git a/config/hypr/UserConfigs/UserKeybinds.conf b/config/hypr/UserConfigs/UserKeybinds.conf
index 70202ba4..dd18b971 100644
--- a/config/hypr/UserConfigs/UserKeybinds.conf
+++ b/config/hypr/UserConfigs/UserKeybinds.conf
@@ -64,7 +64,8 @@ bind = $mainMod CTRL, O, exec, hyprctl setprop active opaque toggle # disable op
bind = $mainMod SHIFT, K, exec, $scriptsDir/KeyBinds.sh # search keybinds via rofi
bind = $mainMod SHIFT, A, exec, $scriptsDir/Animations.sh #hyprland animations menu
bind = $mainMod SHIFT, O, exec, $UserScripts/ZshChangeTheme.sh # Change oh-my-zsh theme
-bindln = ALT_L, SHIFT_L, exec, $scriptsDir/SwitchKeyboardLayout.sh # Change keyboard layout
+bindln = ALT_L, SHIFT_L, exec, $scriptsDir/SwitchKeyboardLayout.sh # Change keyboard layout globally
+bindln = SHIFT_L, ALT_L, exec, $scriptsDir/Tak0-Per-Window-Switch.sh # Change keyboard layout locally for each window
bind = $mainMod ALT, C, exec, $UserScripts/RofiCalc.sh # calculator (qalculate)
diff --git a/config/hypr/UserConfigs/UserSettings.conf b/config/hypr/UserConfigs/UserSettings.conf
index 067a3810..e7d37bcf 100644
--- a/config/hypr/UserConfigs/UserSettings.conf
+++ b/config/hypr/UserConfigs/UserSettings.conf
@@ -39,7 +39,7 @@ input {
#accel_profile = # flat or adaptive or blank or EMPTY means libinput’s default mode
numlock_by_default = true
left_handed = false
- follow_mouse = true
+ follow_mouse = 1
float_switch_override_focus = false
touchpad {
diff --git a/config/hypr/UserScripts/Tak0-Autodispatch.sh b/config/hypr/UserScripts/Tak0-Autodispatch.sh
new file mode 100755
index 00000000..a1f72129
--- /dev/null
+++ b/config/hypr/UserScripts/Tak0-Autodispatch.sh
@@ -0,0 +1,90 @@
+#!/bin/bash
+# USAGE / ІНСТРУКЦІЯ:
+# 1) Run from terminal:
+# ./dispatch.sh <application_command> <target_workspace_number>
+# Example:
+# ./dispatch.sh discord 2
+#
+# 2) Call from Hyprland config (in hyprland.conf file):
+# exec-once = /path/to/dispatch.sh <application_command> <target_workspace_number>
+#
+# Logs are saved in dispatch.log file next to the script.
+# If the window doesn't appear or is dispatched incorrectly — info will be there.
+#
+# Notes:
+# - Script waits about ~9 seconds (30 iterations of 0.3 sec) for window to appear.
+# - Uses hyprctl and jq, so these tools must be installed.
+#
+# USAGE / ІНСТРУКЦІЯ:
+# 1) Запуск з терміналу:
+# ./dispatch.sh <application_command> <target_workspace_number>
+# Наприклад:
+# ./dispatch.sh discord 2
+#
+# 2) Виклик з конфігурації Hyprland (у файлі hyprland.conf):
+# exec-once = /path/to/dispatch.sh <application_command> <target_workspace_number>
+#
+# Логи зберігаються у файлі dispatch.log поруч зі скриптом.
+# Якщо вікно не з'явилось або неправильно диспатчилось — інформація там.
+#
+# Примітки:
+# - Скрипт чекає до ~9 секунд (30 ітерацій по 0.3 сек) поки вікно з'явиться.
+# - Використовує hyprctl і jq, тому ці інструменти мають бути встановлені.
+
+LOGFILE="$(dirname "$0")/dispatch.log"
+# Log file path located next to the script.
+# Файл логів розташований поруч зі скриптом.
+
+APP=$1
+# The application command or window class to launch or match.
+# Команда для запуску аплікації або клас вікна для пошуку.
+
+TARGET_WORKSPACE=$2
+# The target workspace number where the window should be moved.
+# Цільовий номер воркспейсу, куди потрібно перемістити вікно.
+
+# Check if required arguments are provided.
+# Перевірка наявності необхідних параметрів.
+if [[ -z "$APP" || -z "$TARGET_WORKSPACE" ]]; then
+ echo "Usage: $0 <application_command> <target_workspace_number>" >> "$LOGFILE" 2>&1
+ exit 1
+fi
+
+echo "Starting dispatch of '$APP' to workspace $TARGET_WORKSPACE at $(date)" >> "$LOGFILE"
+# Starting the dispatch process and logging the event.
+# Початок процесу диспатчу, запис у лог.
+
+# Avoid early workspace focus issues by switching workspace first.
+# Уникаємо проблем з раннім фокусом, спочатку переключаємо воркспейс.
+hyprctl dispatch workspace "$TARGET_WORKSPACE" >> "$LOGFILE" 2>&1
+sleep 0.4
+
+# Launch the application in the background and disown it.
+# Запускаємо аплікацію у фоновому режимі та відв’язуємо від терміналу.
+$APP & disown
+pid=$!
+
+echo "Launched '$APP' with PID $pid" >> "$LOGFILE"
+# Log the launched process ID.
+# Лог процесу запуску з PID.
+
+# Wait for the application window to appear (matching window class).
+# Чекаємо появи вікна аплікації (за класом вікна).
+for i in {1..30}; do
+ win=$(hyprctl clients -j | jq -r --arg APP "$APP" '
+ .[] | select(.class | test($APP;"i")) | .address' 2>>"$LOGFILE")
+
+ if [[ -n "$win" ]]; then
+ echo "Found window $win for app '$APP', moving to workspace $TARGET_WORKSPACE" >> "$LOGFILE"
+ # Move the window to the target workspace.
+ # Переміщаємо вікно на цільовий воркспейс.
+ hyprctl dispatch movetoworkspace "$TARGET_WORKSPACE,address:$win" >> "$LOGFILE" 2>&1
+ exit 0
+ fi
+ sleep 0.3
+done
+
+echo "ERROR: Window for '$APP' was NOT found or dispatched properly to workspace $TARGET_WORKSPACE at $(date)" >> "$LOGFILE"
+# Log error if window was not found or dispatched correctly.
+# Запис помилки, якщо вікно не знайдено або неправильно диспатчено.
+exit 1
diff --git a/config/hypr/scripts/Refresh.sh b/config/hypr/scripts/Refresh.sh
index d04570b1..719c368d 100755
--- a/config/hypr/scripts/Refresh.sh
+++ b/config/hypr/scripts/Refresh.sh
@@ -25,6 +25,9 @@ done
# added since wallust sometimes not applying
killall -SIGUSR2 waybar
+# quit ags & relaunch ags
+#ags -q && ags &
+
# quit quickshell & relaunch quickshell
#pkill qs && qs &
diff --git a/config/hypr/scripts/RefreshNoWaybar.sh b/config/hypr/scripts/RefreshNoWaybar.sh
index cdbb82db..b8279047 100755
--- a/config/hypr/scripts/RefreshNoWaybar.sh
+++ b/config/hypr/scripts/RefreshNoWaybar.sh
@@ -26,6 +26,9 @@ for _prs in "${_ps[@]}"; do
done
# quit ags & relaunch ags
+#ags -q && ags &
+
+# quit ags & relaunch ags
#pkill qs && qs &
# Wallust refresh
diff --git a/config/hypr/scripts/Tak0-Autodispatch.sh b/config/hypr/scripts/Tak0-Autodispatch.sh
new file mode 100755
index 00000000..a1f72129
--- /dev/null
+++ b/config/hypr/scripts/Tak0-Autodispatch.sh
@@ -0,0 +1,90 @@
+#!/bin/bash
+# USAGE / ІНСТРУКЦІЯ:
+# 1) Run from terminal:
+# ./dispatch.sh <application_command> <target_workspace_number>
+# Example:
+# ./dispatch.sh discord 2
+#
+# 2) Call from Hyprland config (in hyprland.conf file):
+# exec-once = /path/to/dispatch.sh <application_command> <target_workspace_number>
+#
+# Logs are saved in dispatch.log file next to the script.
+# If the window doesn't appear or is dispatched incorrectly — info will be there.
+#
+# Notes:
+# - Script waits about ~9 seconds (30 iterations of 0.3 sec) for window to appear.
+# - Uses hyprctl and jq, so these tools must be installed.
+#
+# USAGE / ІНСТРУКЦІЯ:
+# 1) Запуск з терміналу:
+# ./dispatch.sh <application_command> <target_workspace_number>
+# Наприклад:
+# ./dispatch.sh discord 2
+#
+# 2) Виклик з конфігурації Hyprland (у файлі hyprland.conf):
+# exec-once = /path/to/dispatch.sh <application_command> <target_workspace_number>
+#
+# Логи зберігаються у файлі dispatch.log поруч зі скриптом.
+# Якщо вікно не з'явилось або неправильно диспатчилось — інформація там.
+#
+# Примітки:
+# - Скрипт чекає до ~9 секунд (30 ітерацій по 0.3 сек) поки вікно з'явиться.
+# - Використовує hyprctl і jq, тому ці інструменти мають бути встановлені.
+
+LOGFILE="$(dirname "$0")/dispatch.log"
+# Log file path located next to the script.
+# Файл логів розташований поруч зі скриптом.
+
+APP=$1
+# The application command or window class to launch or match.
+# Команда для запуску аплікації або клас вікна для пошуку.
+
+TARGET_WORKSPACE=$2
+# The target workspace number where the window should be moved.
+# Цільовий номер воркспейсу, куди потрібно перемістити вікно.
+
+# Check if required arguments are provided.
+# Перевірка наявності необхідних параметрів.
+if [[ -z "$APP" || -z "$TARGET_WORKSPACE" ]]; then
+ echo "Usage: $0 <application_command> <target_workspace_number>" >> "$LOGFILE" 2>&1
+ exit 1
+fi
+
+echo "Starting dispatch of '$APP' to workspace $TARGET_WORKSPACE at $(date)" >> "$LOGFILE"
+# Starting the dispatch process and logging the event.
+# Початок процесу диспатчу, запис у лог.
+
+# Avoid early workspace focus issues by switching workspace first.
+# Уникаємо проблем з раннім фокусом, спочатку переключаємо воркспейс.
+hyprctl dispatch workspace "$TARGET_WORKSPACE" >> "$LOGFILE" 2>&1
+sleep 0.4
+
+# Launch the application in the background and disown it.
+# Запускаємо аплікацію у фоновому режимі та відв’язуємо від терміналу.
+$APP & disown
+pid=$!
+
+echo "Launched '$APP' with PID $pid" >> "$LOGFILE"
+# Log the launched process ID.
+# Лог процесу запуску з PID.
+
+# Wait for the application window to appear (matching window class).
+# Чекаємо появи вікна аплікації (за класом вікна).
+for i in {1..30}; do
+ win=$(hyprctl clients -j | jq -r --arg APP "$APP" '
+ .[] | select(.class | test($APP;"i")) | .address' 2>>"$LOGFILE")
+
+ if [[ -n "$win" ]]; then
+ echo "Found window $win for app '$APP', moving to workspace $TARGET_WORKSPACE" >> "$LOGFILE"
+ # Move the window to the target workspace.
+ # Переміщаємо вікно на цільовий воркспейс.
+ hyprctl dispatch movetoworkspace "$TARGET_WORKSPACE,address:$win" >> "$LOGFILE" 2>&1
+ exit 0
+ fi
+ sleep 0.3
+done
+
+echo "ERROR: Window for '$APP' was NOT found or dispatched properly to workspace $TARGET_WORKSPACE at $(date)" >> "$LOGFILE"
+# Log error if window was not found or dispatched correctly.
+# Запис помилки, якщо вікно не знайдено або неправильно диспатчено.
+exit 1
diff --git a/config/hypr/scripts/Tak0-Per-Window-Switch.sh b/config/hypr/scripts/Tak0-Per-Window-Switch.sh
new file mode 100755
index 00000000..76b6ad2d
--- /dev/null
+++ b/config/hypr/scripts/Tak0-Per-Window-Switch.sh
@@ -0,0 +1,123 @@
+##################################################################
+# #
+# #
+# TAK_0'S Per-Window-Switch #
+# #
+# #
+# #
+# Just a little script that I made to switch keyboard layouts #
+# per-window instead of global switching for the more #
+# smooth and comfortable workflow. #
+# #
+##################################################################
+
+
+
+
+
+
+
+
+# This is for changing kb_layouts. Set kb_layouts in
+
+MAP_FILE="$HOME/.cache/kb_layout_per_window"
+CFG_FILE="$HOME/.config/hypr/UserConfigs/UserSettings.conf"
+ICON="$HOME/.config/swaync/images/ja.png"
+SCRIPT_NAME="$(basename "$0")"
+
+# Ensure map file exists
+touch "$MAP_FILE"
+
+# Read layouts from config
+if ! grep -q 'kb_layout' "$CFG_FILE"; then
+ echo "Error: cannot find kb_layout in $CFG_FILE" >&2
+ exit 1
+fi
+kb_layouts=($(grep 'kb_layout' "$CFG_FILE" | cut -d '=' -f2 | tr -d '[:space:]' | tr ',' ' '))
+count=${#kb_layouts[@]}
+
+# Get current active window ID
+get_win() {
+ hyprctl activewindow -j | jq -r '.address // .id'
+}
+
+# Get available keyboards
+get_keyboards() {
+ hyprctl devices -j | jq -r '.keyboards[].name'
+}
+
+# Save window-specific layout
+save_map() {
+ local W=$1 L=$2
+ grep -v "^${W}:" "$MAP_FILE" > "$MAP_FILE.tmp"
+ echo "${W}:${L}" >> "$MAP_FILE.tmp"
+ mv "$MAP_FILE.tmp" "$MAP_FILE"
+}
+
+# Load layout for window (fallback to default)
+load_map() {
+ local W=$1
+ local E
+ E=$(grep "^${W}:" "$MAP_FILE")
+ [[ -n "$E" ]] && echo "${E#*:}" || echo "${kb_layouts[0]}"
+}
+
+# Switch layout for all keyboards to layout index
+do_switch() {
+ local IDX=$1
+ for kb in $(get_keyboards); do
+ hyprctl switchxkblayout "$kb" "$IDX" 2>/dev/null
+ done
+}
+
+# Toggle layout for current window only
+cmd_toggle() {
+ local W=$(get_win)
+ [[ -z "$W" ]] && return
+ local CUR=$(load_map "$W")
+ local i NEXT
+ for idx in "${!kb_layouts[@]}"; do
+ if [[ "${kb_layouts[idx]}" == "$CUR" ]]; then
+ i=$idx
+ break
+ fi
+ done
+ NEXT=$(( (i+1) % count ))
+ do_switch "$NEXT"
+ save_map "$W" "${kb_layouts[NEXT]}"
+ notify-send -u low -i "$ICON" "kb_layout: ${kb_layouts[NEXT]}"
+}
+
+# Restore layout on focus
+cmd_restore() {
+ local W=$(get_win)
+ [[ -z "$W" ]] && return
+ local LAY=$(load_map "$W")
+ for idx in "${!kb_layouts[@]}"; do
+ if [[ "${kb_layouts[idx]}" == "$LAY" ]]; then
+ do_switch "$idx"
+ break
+ fi
+ done
+}
+
+# Listen to focus events and restore window-specific layouts
+subscribe() {
+ local SOCKET2="$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock"
+ [[ -S "$SOCKET2" ]] || { echo "Error: Hyprland socket not found." >&2; exit 1; }
+
+ socat -u UNIX-CONNECT:"$SOCKET2" - | while read -r line; do
+ [[ "$line" =~ ^activewindow ]] && cmd_restore
+ done
+}
+
+# Ensure only one listener
+if ! pgrep -f "$SCRIPT_NAME.*--listener" >/dev/null; then
+ subscribe --listener &
+fi
+
+# CLI
+case "$1" in
+ toggle|"") cmd_toggle ;;
+ *) echo "Usage: $SCRIPT_NAME [toggle]" >&2; exit 1 ;;
+esac
diff --git a/config/hypr/scripts/sddm_wallpaper-v2.sh b/config/hypr/scripts/sddm_wallpaper-v2.sh
deleted file mode 100644
index a781156e..00000000
--- a/config/hypr/scripts/sddm_wallpaper-v2.sh
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/bin/bash
-# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */
-# SDDM Wallpaper and Wallust Colors Setter
-
-# for the upcoming changes on the simple_sddm_theme
-
-# variables
-terminal=kitty
-wallDIR="$HOME/Pictures/wallpapers"
-SCRIPTSDIR="$HOME/.config/hypr/scripts"
-wallpaper_current="$HOME/.config/hypr/wallpaper_effects/.wallpaper_current"
-wallpaper_modified="$HOME/.config/hypr/wallpaper_effects/.wallpaper_modified"
-sddm_simple="/usr/share/sddm/themes/simple_sddm_2"
-
-# rofi-wallust-sddm colors path
-rofi_wallust="$HOME/.config/rofi/wallust/colors-rofi.rasi"
-sddm_theme_conf="$sddm_simple/theme.conf"
-
-# Directory for swaync
-iDIR="$HOME/.config/swaync/images"
-iDIRi="$HOME/.config/swaync/icons"
-
-# Parse arguments
-mode="effects" # default
-if [[ "$1" == "--normal" ]]; then
- mode="normal"
-elif [[ "$1" == "--effects" ]]; then
- mode="effects"
-fi
-
-# Extract colors from rofi wallust config
-
-color0=$(grep -oP 'color1:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
-color1=$(grep -oP 'color0:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
-color7=$(grep -oP 'color14:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
-color10=$(grep -oP 'color10:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
-color12=$(grep -oP 'color12:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
-color13=$(grep -oP 'color13:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
-foreground=$(grep -oP 'foreground:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
-#background-color=$(grep -oP 'background:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
-
-# wallpaper to use
-if [[ "$mode" == "normal" ]]; then
- wallpaper_path="$wallpaper_current"
-else
- wallpaper_path="$wallpaper_modified"
-fi
-
-# Launch terminal and apply changes
-$terminal -e bash -c "
-echo 'Enter your password to update SDDM wallpapers and colors';
-
-# Update the colors in the SDDM config
-sudo sed -i \"s/HeaderTextColor=\\\"#.*\\\"/HeaderTextColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\"
-sudo sed -i \"s/DateTextColor=\\\"#.*\\\"/DateTextColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\"
-sudo sed -i \"s/TimeTextColor=\\\"#.*\\\"/TimeTextColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\"
-sudo sed -i \"s/DropdownSelectedBackgroundColor=\\\"#.*\\\"/DropdownSelectedBackgroundColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\"
-sudo sed -i \"s/SystemButtonsIconsColor=\\\"#.*\\\"/SystemButtonsIconsColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\"
-sudo sed -i \"s/SessionButtonTextColor=\\\"#.*\\\"/SessionButtonTextColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\"
-sudo sed -i \"s/VirtualKeyboardButtonTextColor=\\\"#.*\\\"/VirtualKeyboardButtonTextColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\"
-sudo sed -i \"s/HighlightBackgroundColor=\\\"#.*\\\"/HighlightBackgroundColor=\\\"$color12\\\"/\" \"$sddm_theme_conf\"
-sudo sed -i \"s/LoginFieldTextColor=\\\"#.*\\\"/LoginFieldTextColor=\\\"$color12\\\"/\" \"$sddm_theme_conf\"
-sudo sed -i \"s/PasswordFieldTextColor=\\\"#.*\\\"/PasswordFieldTextColor=\\\"$color12\\\"/\" \"$sddm_theme_conf\"
-
-sudo sed -i \"s/DropdownBackgroundColor=\\\"#.*\\\"/DropdownBackgroundColor=\\\"$color1\\\"/\" \"$sddm_theme_conf\"
-sudo sed -i \"s/HighlightTextColor=\\\"#.*\\\"/HighlightTextColor=\\\"$color10\\\"/\" \"$sddm_theme_conf\"
-
-sudo sed -i \"s/PlaceholderTextColor=\\\"#.*\\\"/PlaceholderTextColor=\\\"$color7\\\"/\" \"$sddm_theme_conf\"
-sudo sed -i \"s/UserIconColor=\\\"#.*\\\"/UserIconColor=\\\"$color7\\\"/\" \"$sddm_theme_conf\"
-sudo sed -i \"s/PasswordIconColor=\\\"#.*\\\"/PasswordIconColor=\\\"$color7\\\"/\" \"$sddm_theme_conf\"
-
-# Copy wallpaper to SDDM theme
-sudo cp \"$wallpaper_path\" \"$sddm_simple/Backgrounds/default\"
-
-notify-send -i \"$iDIR/ja.png\" \"SDDM\" \"Background SET\"
-" \ No newline at end of file
diff --git a/config/hypr/scripts/sddm_wallpaper.sh b/config/hypr/scripts/sddm_wallpaper.sh
index fd385fcd..a781156e 100755
--- a/config/hypr/scripts/sddm_wallpaper.sh
+++ b/config/hypr/scripts/sddm_wallpaper.sh
@@ -2,6 +2,8 @@
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */
# SDDM Wallpaper and Wallust Colors Setter
+# for the upcoming changes on the simple_sddm_theme
+
# variables
terminal=kitty
wallDIR="$HOME/Pictures/wallpapers"
@@ -27,11 +29,15 @@ elif [[ "$1" == "--effects" ]]; then
fi
# Extract colors from rofi wallust config
-main_color=$(grep -oP 'color13:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
-accent_color=$(grep -oP 'color12:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
-bg_color=$(grep -oP 'color0:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
-placeholder_color="$accent_color"
-icon_color=$(grep -oP 'foreground:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
+
+color0=$(grep -oP 'color1:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
+color1=$(grep -oP 'color0:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
+color7=$(grep -oP 'color14:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
+color10=$(grep -oP 'color10:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
+color12=$(grep -oP 'color12:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
+color13=$(grep -oP 'color13:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
+foreground=$(grep -oP 'foreground:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
+#background-color=$(grep -oP 'background:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust")
# wallpaper to use
if [[ "$mode" == "normal" ]]; then
@@ -43,14 +49,28 @@ fi
# Launch terminal and apply changes
$terminal -e bash -c "
echo 'Enter your password to update SDDM wallpapers and colors';
-sudo sed -i \"s/MainColor=\\\"#.*\\\"/MainColor=\\\"$main_color\\\"/\" \"$sddm_theme_conf\"
-sudo sed -i \"s/AccentColor=\\\"#.*\\\"/AccentColor=\\\"$accent_color\\\"/\" \"$sddm_theme_conf\"
-sudo sed -i \"s/BackgroundColor=\\\"#.*\\\"/BackgroundColor=\\\"$bg_color\\\"/\" \"$sddm_theme_conf\"
-sudo sed -i \"s/placeholderColor=\\\"#.*\\\"/placeholderColor=\\\"$placeholder_color\\\"/\" \"$sddm_theme_conf\"
-sudo sed -i \"s/IconColor=\\\"#.*\\\"/IconColor=\\\"$icon_color\\\"/\" \"$sddm_theme_conf\"
-# Copy wallpaper
+# Update the colors in the SDDM config
+sudo sed -i \"s/HeaderTextColor=\\\"#.*\\\"/HeaderTextColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\"
+sudo sed -i \"s/DateTextColor=\\\"#.*\\\"/DateTextColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\"
+sudo sed -i \"s/TimeTextColor=\\\"#.*\\\"/TimeTextColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\"
+sudo sed -i \"s/DropdownSelectedBackgroundColor=\\\"#.*\\\"/DropdownSelectedBackgroundColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\"
+sudo sed -i \"s/SystemButtonsIconsColor=\\\"#.*\\\"/SystemButtonsIconsColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\"
+sudo sed -i \"s/SessionButtonTextColor=\\\"#.*\\\"/SessionButtonTextColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\"
+sudo sed -i \"s/VirtualKeyboardButtonTextColor=\\\"#.*\\\"/VirtualKeyboardButtonTextColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\"
+sudo sed -i \"s/HighlightBackgroundColor=\\\"#.*\\\"/HighlightBackgroundColor=\\\"$color12\\\"/\" \"$sddm_theme_conf\"
+sudo sed -i \"s/LoginFieldTextColor=\\\"#.*\\\"/LoginFieldTextColor=\\\"$color12\\\"/\" \"$sddm_theme_conf\"
+sudo sed -i \"s/PasswordFieldTextColor=\\\"#.*\\\"/PasswordFieldTextColor=\\\"$color12\\\"/\" \"$sddm_theme_conf\"
+
+sudo sed -i \"s/DropdownBackgroundColor=\\\"#.*\\\"/DropdownBackgroundColor=\\\"$color1\\\"/\" \"$sddm_theme_conf\"
+sudo sed -i \"s/HighlightTextColor=\\\"#.*\\\"/HighlightTextColor=\\\"$color10\\\"/\" \"$sddm_theme_conf\"
+
+sudo sed -i \"s/PlaceholderTextColor=\\\"#.*\\\"/PlaceholderTextColor=\\\"$color7\\\"/\" \"$sddm_theme_conf\"
+sudo sed -i \"s/UserIconColor=\\\"#.*\\\"/UserIconColor=\\\"$color7\\\"/\" \"$sddm_theme_conf\"
+sudo sed -i \"s/PasswordIconColor=\\\"#.*\\\"/PasswordIconColor=\\\"$color7\\\"/\" \"$sddm_theme_conf\"
+
+# Copy wallpaper to SDDM theme
sudo cp \"$wallpaper_path\" \"$sddm_simple/Backgrounds/default\"
notify-send -i \"$iDIR/ja.png\" \"SDDM\" \"Background SET\"
-"
+" \ No newline at end of file
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage