blob: 229ede2348f634ad5cb1e1a240e84cb94123996b (
plain)
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
#!/bin/bash
HYPR_CONF="$HOME/.config/hypr/hyprland.conf"
DUNST_CONF="$HOME/.config/dunst/dunstrc"
ROFI_CONF="$HOME/.config/rofi/config.rasi"
WALL_CONF="$HOME/.config/rofi/wallpaper.rasi"
BTOP_CONF="$HOME/.config/btop/btop.conf"
ANIMATION_SCRIPT="$HOME/.config/scripts/animations.sh"
options="sharp/round toggle\nborder toggle\ngaps toggle\nanimations"
choice=$(echo -e "$options" | rofi -dmenu -i -p ">")
[[ -z "$choice" ]] && exit
case "$choice" in
*animations*)
$ANIMATION_SCRIPT
;;
*sharp/round*)
if grep -q "rounding = 0 #" "$HYPR_CONF"; then
sed -i '/@dynamic_rounding/c\ rounding = 15 # @dynamic_rounding' "$HYPR_CONF"
sed -i '/@dynamic_power/c\ rounding_power = 10 # @dynamic_power' "$HYPR_CONF"
sed -i '/@dynamic_corners/c\ corner_radius = 15 # @dynamic_corners' "$DUNST_CONF"
sed -i '/@dynamic_smartgaps/s/^\([^#]\)/#\1/' "$HYPR_CONF"
for conf in "$ROFI_CONF" "$WALL_CONF"; do
sed -i '/@dynamic_rofi_window/{n;s/border-radius: .*/border-radius: 15px;/}' "$conf"
sed -i '/@dynamic_rofi_element/{n;s/border-radius: .*/border-radius: 8px;/}' "$conf"
done
sed -i '/^rounded_corners =/c\rounded_corners = true' "$BTOP_CONF"
if grep -q "gaps_in = 0 #" "$HYPR_CONF"; then
sed -i '/@dynamic_gaps_in/c\ gaps_in = 5 # @dynamic_gaps_in' "$HYPR_CONF"
sed -i '/@dynamic_gaps_out/c\ gaps_out = 10 # @dynamic_gaps_out' "$HYPR_CONF"
hyprctl keyword general:gaps_in 5 > /dev/null
hyprctl keyword general:gaps_out 10 > /dev/null
fi
hyprctl keyword decoration:rounding 15 > /dev/null
hyprctl reload > /dev/null
killall dunst && dunst &
if pgrep -x "btop" > /dev/null; then
pkill -x "btop"
sleep 0.1
kitty btop &
fi
sleep 0.1
notify-send "toggled" "rounded"
else
sed -i '/@dynamic_rounding/c\ rounding = 0 # @dynamic_rounding' "$HYPR_CONF"
sed -i '/@dynamic_power/c\ rounding_power = 0 # @dynamic_power' "$HYPR_CONF"
sed -i '/@dynamic_dunst/c\ corner_radius = 0 # @dynamic_dunst' "$DUNST_CONF"
sed -i '/@dynamic_smartgaps/s/^#//g' "$HYPR_CONF"
for conf in "$ROFI_CONF" "$WALL_CONF"; do
sed -i '/@dynamic_rofi_window/{n;s/border-radius: .*/border-radius: 0px;/}' "$conf"
sed -i '/@dynamic_rofi_element/{n;s/border-radius: .*/border-radius: 0px;/}' "$conf"
done
sed -i '/^rounded_corners =/c\rounded_corners = false' "$BTOP_CONF"
hyprctl keyword decoration:rounding 0 > /dev/null
hyprctl reload > /dev/null
killall dunst && dunst &
if pgrep -x "btop" > /dev/null; then
pkill -x "btop"
sleep 0.1
kitty btop &
fi
sleep 0.1
notify-send "toggled" "sharp"
fi
;;
*border*)
if grep -q "border_size = 0 #" "$HYPR_CONF"; then
sed -i '/@dynamic_border/c\ border_size = 2 # @dynamic_border' "$HYPR_CONF"
sed -i '/@dynamic_smartgaps/s/^\([^#]\)/#\1/' "$HYPR_CONF"
hyprctl keyword general:border_size 2 > /dev/null
hyprctl reload > /dev/null
notify-send "borders" "enabled"
else
sed -i '/@dynamic_border/c\ border_size = 0 # @dynamic_border' "$HYPR_CONF"
sed -i '/@dynamic_smartgaps/s/^#//g' "$HYPR_CONF"
hyprctl keyword general:border_size 0 > /dev/null
hyprctl reload > /dev/null
notify-send "borders" "disabled"
fi
;;
*gaps*)
if ! grep -q "rounding = 0 #" "$HYPR_CONF"; then
notify-send "action denied" "gaps must stay on in rounded mode"
exit
fi
if grep -q "gaps_in = 0 #" "$HYPR_CONF"; then
sed -i '/@dynamic_gaps_in/c\ gaps_in = 5 # @dynamic_gaps_in' "$HYPR_CONF"
sed -i '/@dynamic_gaps_out/c\ gaps_out = 10 # @dynamic_gaps_out' "$HYPR_CONF"
hyprctl keyword general:gaps_in 5 > /dev/null
hyprctl keyword general:gaps_out 10 > /dev/null
notify-send "gaps" "on"
else
sed -i '/@dynamic_gaps_in/c\ gaps_in = 0 # @dynamic_gaps_in' "$HYPR_CONF"
sed -i '/@dynamic_gaps_out/c\ gaps_out = 0 # @dynamic_gaps_out' "$HYPR_CONF"
hyprctl keyword general:gaps_in 0 > /dev/null
hyprctl keyword general:gaps_out 0 > /dev/null
notify-send "gaps" "off"
fi
;;
esac
|