summaryrefslogtreecommitdiffstats
path: root/roles/hyprtheme/files/scripts/theme-set
blob: 4cacd5b3ca188ab9f2b2e303607e1491f2f21f13 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/bin/bash

# Extracted from omarchy with a little modifications
if [[ -z $1 ]]; then
  echo "Usage: theme-set <theme-name>"
  exit 1
fi

THEMES_PATH="$HOME/.config/hyprtheme/themes"
CURRENT_THEME_PATH="$HOME/.config/hyprtheme/current"
THEME_NAME=$(echo "$1" | sed -E 's/<[^>]+>//g' | tr '[:upper:]' '[:lower:]' | tr ' ' '-')

if [[ ! -d "$THEMES_PATH/$THEME_NAME" ]]; then
  echo "Theme '$THEME_NAME' does not exist"
  exit 1
fi

# Get close to as atomic as possible.
ln -sfn "$THEMES_PATH/$THEME_NAME" "$CURRENT_THEME_PATH.new"
rm -rf "$CURRENT_THEME_PATH"
mv "$CURRENT_THEME_PATH.new" "$CURRENT_THEME_PATH"
./.config/hyprtheme/scripts/theme-bg-next

pkill -x waybar || true
setsid uwsm-app -- waybar >/dev/null 2>&1 &

# pkill -x swayosd-server || true
# setsid uwsm-app -- swayosd-server >/dev/null 2>&1 &

hyprctl reload >/dev/null 2>&1

pkill -SIGUSR2 btop || true

makoctl reload

if [[ -f ~/.config/alacritty/alacritty.toml ]]; then
  touch ~/.config/alacritty/alacritty.toml
fi
killall -SIGUSR1 kitty >/dev/null 2>&1 || true
killall -SIGUSR2 ghostty >/dev/null 2>&1 || true

if [[ -f ~/.config/hyprtheme/current/light.mode ]]; then
  gsettings set org.gnome.desktop.interface color-scheme "prefer-light"
  gsettings set org.gnome.desktop.interface gtk-theme "Adwaita"
  gsettings set org.gnome.desktop.interface font-name "Noto Sans"
else
  gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
  gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"
  gsettings set org.gnome.desktop.interface font-name "Noto Sans"
fi

# # Change gnome icon theme color
# GNOME_ICONS_THEME=~/.config/hyprtheme/current/icons.theme
# if [[ -f $GNOME_ICONS_THEME ]]; then
  # gsettings set org.gnome.desktop.interface icon-theme "$(<$GNOME_ICONS_THEME)"
# else
  # gsettings set org.gnome.desktop.interface icon-theme "Yaru-blue"
# fi