aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorJa.KooLit <ejhay.games@gmail.com>2023-12-17 01:28:40 +0900
committerJa.KooLit <ejhay.games@gmail.com>2023-12-17 01:28:40 +0900
commit9941024f526d25ce13d474f04940baa0d7c81d6a (patch)
tree8e0c9edc0ac12f643490105af07919d23f306133 /config
parentaa9a6ebfbb2f99f1301a1276dae3ea119a338ee9 (diff)
Optimized DarkLight script.
Diffstat (limited to 'config')
-rwxr-xr-xconfig/dunst/dunstrc12
-rw-r--r--config/hypr/configs/Settings.conf2
-rw-r--r--config/hypr/configs/WindowRules.conf5
-rwxr-xr-xconfig/hypr/scripts/DarkLight.sh154
-rwxr-xr-xconfig/hypr/scripts/PywalDunst.sh3
-rw-r--r--config/waybar/style/[Dark] Golden Noir.css (renamed from config/waybar/style/Golden Noir.css)0
-rw-r--r--config/waybar/style/[Dark] Purpl.css (renamed from config/waybar/style/Purpl.css)0
7 files changed, 123 insertions, 53 deletions
diff --git a/config/dunst/dunstrc b/config/dunst/dunstrc
index f5c3828e..77fd1ce6 100755
--- a/config/dunst/dunstrc
+++ b/config/dunst/dunstrc
@@ -54,7 +54,7 @@
frame_width = 2
# Defines color of the frame around the notification window.
- frame_color = "#6C89AE"
+ frame_color = "#838383"
# Define a color for the separator.
# possible values are:
@@ -76,7 +76,7 @@
### Text ###
- font = Fira Code Medium 12
+ font = Fira Code Medium 13
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
@@ -170,7 +170,7 @@
### Misc/Advanced ###
# dmenu path.
- # dmenu = /usr/bin/dmenu -p dunst:
+ dmenu = /usr/bin/rofi -p dunst:
# Browser for opening urls in context menu.
browser = /usr/bin/firefox -new-tab
@@ -232,7 +232,7 @@
# Otherwise the "#" and following would be interpreted as a comment.
background = "#00000095"
foreground = "#fafafa"
- frame_color = "#6C89AE"
+ frame_color = "#838383"
timeout = 2
# Icon for notifications with low urgency, uncomment to enable
icon = $HOME/.config/dunst/images/bell.png
@@ -240,7 +240,7 @@
[urgency_normal]
background = "#00000095"
foreground = "#fafafa"
- frame_color = "#6C89AE"
+ frame_color = "#838383"
timeout = 5
# Icon for notifications with normal urgency, uncomment to enable
icon = $HOME/.config/dunst/images/bell.png
@@ -248,7 +248,7 @@
[urgency_critical]
background = "#00000095"
foreground = "#fafafa"
- frame_color = "#6C89AE"
+ frame_color = "#838383"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
icon = $HOME/.config/dunst/images/bell.png
diff --git a/config/hypr/configs/Settings.conf b/config/hypr/configs/Settings.conf
index f2705d98..f0a642c9 100644
--- a/config/hypr/configs/Settings.conf
+++ b/config/hypr/configs/Settings.conf
@@ -45,7 +45,7 @@ decoration {
rounding = 8
active_opacity = 1.0
- inactive_opacity = 0.8
+ inactive_opacity = 0.9
fullscreen_opacity = 1.0
dim_inactive = true
diff --git a/config/hypr/configs/WindowRules.conf b/config/hypr/configs/WindowRules.conf
index f92f0cec..bfcb022c 100644
--- a/config/hypr/configs/WindowRules.conf
+++ b/config/hypr/configs/WindowRules.conf
@@ -39,11 +39,10 @@ windowrulev2 = workspace 9 silent, class:^(audacious)$
#opacity (transparent) #enable as desired
windowrulev2 = opacity 0.9 0.6, class:^([Rr]ofi)$
windowrulev2 = opacity 0.9 0.7, class:^(firefox)$
-windowrulev2 = opacity 0.9 0.7, class:^([Tt]hunar)$
+windowrulev2 = opacity 0.9 0.8, class:^([Tt]hunar)$
windowrulev2 = opacity 0.8 0.6, class:^(pcmanfm-qt)$
windowrulev2 = opacity 0.9 0.7, class:^(gedit)$
-#windowrulev2 = opacity 0.8 0.7, class:^(foot)$
-windowrulev2 = opacity 0.8 0.7, class:^(kitty)$
+windowrulev2 = opacity 0.9 0.8, class:^(kitty)$
#windowrulev2 = opacity 0.9 0.7, class:^(mousepad)$
windowrulev2 = opacity 0.9 0.7, class:^(codium-url-handler)$
windowrulev2 = opacity 0.9 0.7, class:^(VSCodium)$
diff --git a/config/hypr/scripts/DarkLight.sh b/config/hypr/scripts/DarkLight.sh
index dc7adda0..cdb2c5ae 100755
--- a/config/hypr/scripts/DarkLight.sh
+++ b/config/hypr/scripts/DarkLight.sh
@@ -1,24 +1,16 @@
#!/bin/bash
-set -x
-# Define the path
-wallpaper_path="$HOME/Pictures/wallpapers/Dynamic-Wallpapers"
+#set -x
+# Paths
+wallpaper_base_path="$HOME/Pictures/wallpapers/Dynamic-Wallpapers"
+dark_wallpapers="$wallpaper_base_path/Dark"
+light_wallpapers="$wallpaper_base_path/Light"
hypr_config_path="$HOME/.config/hypr"
-waybar_config="$HOME/.config/waybar"
dunst_config="$HOME/.config/dunst"
SCRIPTSDIR="$HOME/.config/hypr/scripts"
dunst_notif="$HOME/.config/dunst/images/bell.png"
-
dark_rofi_pywal="$HOME/.cache/wal/colors-rofi-dark.rasi"
light_rofi_pywal="$HOME/.cache/wal/colors-rofi-light.rasi"
-
-
-# Tokyo Night
-light_gtk_theme="Tokyonight-Light-B"
-dark_gtk_theme="Tokyonight-Dark-B"
-light_icon_theme="TokyoNight-SE"
-dark_icon_theme="TokyoNight-SE"
-
pkill swaybg
# Initialize swww if needed
@@ -28,58 +20,136 @@ swww query || swww init
swww="swww img"
effect="--transition-bezier .43,1.19,1,.4 --transition-fps 60 --transition-type grow --transition-pos 0.925,0.977 --transition-duration 2"
+# Function to notify user
notify_user() {
- dunstify -u normal -i "$dunst_notif" "Switching to $1 mode"
+ dunstify -u low -i "$dunst_notif" "Switching to $1 mode"
+}
+
+# Function to set Waybar style
+set_waybar_style() {
+ theme="$1"
+ waybar_styles="$HOME/.config/waybar/style"
+ waybar_style_link="$HOME/.config/waybar/style.css"
+ style_prefix="\\[${theme}\\].*\\.css$"
+
+ style_file=$(find "$waybar_styles" -maxdepth 1 -type f -regex ".*$style_prefix" | shuf -n 1)
+
+ if [ -n "$style_file" ]; then
+ ln -sf "$style_file" "$waybar_style_link"
+ else
+ echo "Style file not found for $theme theme."
+ fi
}
-# Determine the current wallpaper mode by checking a configuration file
-if [ "$(cat ~/.cache/.wallpaper_mode)" = "light" ]; then
- current_mode="light"
- next_mode="dark"
+# Determine current wallpaper mode
+if [ "$(cat ~/.cache/.wallpaper_mode)" = "Light" ]; then
+ next_mode="Dark"
+ wallpaper_path="$dark_wallpapers"
else
- current_mode="dark"
- next_mode="light"
+ next_mode="Light"
+ wallpaper_path="$light_wallpapers"
fi
-path_param=$(echo $next_mode | sed 's/.*/\u&/')
+
+# Call the function after determining the mode
+set_waybar_style "$next_mode"
notify_user "$next_mode"
# Change background for dunst
-if [ "$next_mode" = "dark" ]; then
+if [ "$next_mode" = "Dark" ]; then
sed -i '/background = /s/.*/ background = "#00000095"/' "${dunst_config}/dunstrc"
- sed -i '/foreground = /s/.*/ foreground = "#fafafa"/' "${dunst_config}/dunstrc"
+ sed -i '/foreground = /s/.*/ foreground = "#fafafa"/' "${dunst_config}/dunstrc"
else
- sed -i '/background = /s/.*/ background = "#FFFFFF80"/' "${dunst_config}/dunstrc"
- sed -i '/foreground = /s/.*/ foreground = "#00000095"/' "${dunst_config}/dunstrc"
+ sed -i '/background = /s/.*/ background = "#ffffff99"/' "${dunst_config}/dunstrc"
+ sed -i '/foreground = /s/.*/ foreground = "#00000095"/' "${dunst_config}/dunstrc"
fi
-# Symlink for rofi theme
-if [ "$next_mode" = "dark" ]; then
- ln -sf $dark_rofi_pywal "$HOME/.config/rofi/pywal-color/pywal-theme.rasi"
+# Set Rofi Themes
+if [ "$next_mode" = "Dark" ]; then
+ ln -sf $dark_rofi_pywal "$HOME/.config/rofi/pywal-color/pywal-theme.rasi"
else
- ln -sf $light_rofi_pywal "$HOME/.config/rofi/pywal-color/pywal-theme.rasi"
+ ln -sf $light_rofi_pywal "$HOME/.config/rofi/pywal-color/pywal-theme.rasi"
fi
-gtk_theme="${next_mode}_gtk_theme"
-icon_theme="${next_mode}_icon_theme"
-
-gsettings set org.gnome.desktop.interface gtk-theme "${!gtk_theme}"
-gsettings set org.gnome.desktop.interface icon-theme "${!icon_theme}"
-
-# Find the next wallpaper if one exists
-current_wallpaper="$(cat ~/.cache/.current_wallpaper)"
-next_wallpaper="${current_wallpaper/_"$current_mode"/_"$next_mode"}"
+# Set Dynamic Wallpaper for Dark Mode
+if [ "$next_mode" = "Dark" ]; then
+ next_wallpaper="$(find "${dark_wallpapers}" -type f -iname "*.jpg" -print0 | shuf -n1 -z | xargs -0)"
+fi
-if ! [ -f "$next_wallpaper" ]; then
- next_wallpaper="$(find "${wallpaper_path/"${path_param}"}" -type f -iname "*_"${next_mode}".jpg" -print0 | shuf -n1 -z | xargs -0)"
+# Set Dynamic Wallpaper for Light Mode
+if [ "$next_mode" = "Light" ]; then
+ next_wallpaper="$(find "${light_wallpapers}" -type f -iname "*.jpg" -print0 | shuf -n1 -z | xargs -0)"
fi
$swww "${next_wallpaper}" $effect
-# Update the configuration file to reflect the new wallpaper mode and current wallpaper
+# This is a referrence point for next cycle
echo "$next_mode" > ~/.cache/.wallpaper_mode
echo "$next_wallpaper" > ~/.cache/.current_wallpaper
+# GTK themes and icons switching
+set_custom_gtk_theme() {
+ mode=$1
+ gtk_themes_directory="$HOME/.themes"
+ icon_directory="$HOME/.icons"
+ theme_setting="org.gnome.desktop.interface gtk-theme"
+ icon_setting="org.gnome.desktop.interface icon-theme"
+
+ if [ "$mode" == "Light" ]; then
+ search_keywords="*Light*"
+ elif [ "$mode" == "Dark" ]; then
+ search_keywords="*Dark*"
+ else
+ echo "Invalid mode provided."
+ return 1
+ fi
+
+ themes=()
+ icons=()
+
+ while IFS= read -r -d '' theme_search; do
+ themes+=("$(basename "$theme_search")")
+ done < <(find "$gtk_themes_directory" -maxdepth 1 -type d -iname "$search_keywords" -print0)
+
+ while IFS= read -r -d '' icon_search; do
+ icons+=("$(basename "$icon_search")")
+ done < <(find "$icon_directory" -maxdepth 1 -type d -iname "$search_keywords" -print0)
+
+ if [ ${#themes[@]} -gt 0 ]; then
+ if [ "$mode" == "Dark" ]; then
+ selected_theme=${themes[RANDOM % ${#themes[@]}]}
+ else
+ selected_theme=${themes[$RANDOM % ${#themes[@]}]}
+ fi
+ echo "Selected GTK theme for $mode mode: $selected_theme"
+ gsettings set $theme_setting "$selected_theme"
+ else
+ echo "No $mode GTK theme found"
+ fi
+
+ if [ ${#icons[@]} -gt 0 ]; then
+ if [ "$mode" == "Dark" ]; then
+ selected_icon=${icons[RANDOM % ${#icons[@]}]}
+ else
+ selected_icon=${icons[$RANDOM % ${#icons[@]}]}
+ fi
+ echo "Selected icon theme for $mode mode: $selected_icon"
+ gsettings set $icon_setting "$selected_icon"
+ else
+ echo "No $mode icon theme found"
+ fi
+}
+
+# Call the function to set GTK theme and icon theme based on mode
+set_custom_gtk_theme "$next_mode"
+
+# Run remaining scripts
${SCRIPTSDIR}/PywalSwww.sh &
sleep 2
-${SCRIPTSDIR}/Refresh.sh \ No newline at end of file
+${SCRIPTSDIR}/Refresh.sh
+
+notify-send "GTK theme set to $selected_theme"
+notify-send "Icon theme set to $selected_icon"
+
+exit 0
+
diff --git a/config/hypr/scripts/PywalDunst.sh b/config/hypr/scripts/PywalDunst.sh
index 2a66aec6..1c9398f2 100755
--- a/config/hypr/scripts/PywalDunst.sh
+++ b/config/hypr/scripts/PywalDunst.sh
@@ -11,7 +11,7 @@
[ -f "$HOME/.cache/wal/colors.sh" ] && . "$HOME/.cache/wal/colors.sh"
-pidof dunst && pkill dunst
+pkill dunst
DUNST_FILE=~/.config/dunst/dunstrc
@@ -20,4 +20,5 @@ DUNST_FILE=~/.config/dunst/dunstrc
#sed -i '/foreground = /s/.*/ foreground = "'$color7'"/' $DUNST_FILE
sed -i '/frame_color = /s/.*/ frame_color = "'$color2'"/' $DUNST_FILE
+sleep 0.3
dunst -config ~/.config/dunst/dunstrc > /dev/null 2>&1 & \ No newline at end of file
diff --git a/config/waybar/style/Golden Noir.css b/config/waybar/style/[Dark] Golden Noir.css
index 25be8e80..25be8e80 100644
--- a/config/waybar/style/Golden Noir.css
+++ b/config/waybar/style/[Dark] Golden Noir.css
diff --git a/config/waybar/style/Purpl.css b/config/waybar/style/[Dark] Purpl.css
index e3a35731..e3a35731 100644
--- a/config/waybar/style/Purpl.css
+++ b/config/waybar/style/[Dark] Purpl.css
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage