This commit is contained in:
2024-12-13 01:01:50 -07:00
parent 0a0a444a2d
commit 2600016096
24 changed files with 330 additions and 139 deletions

View File

@@ -1,14 +1,52 @@
#!/bin/env bash
monitors=($(xrandr | grep " connected " | awk '{ print$1 }'))
monitorcount=${#monitors[*]}
names=(I II III IV V)
path="$HOME/.config/bspwm/bspwmrc"
tmp=$(mktemp)
primary=$(xrandr | grep " connected" | rofi -dmenu -a | awk '{ print $1 }')
secondary=$(xrandr | grep " connected" | grep -v "^$primary" | awk '{ print $1 }')
use_secondary=$(printf 'Yes\nNo\n' | rofi -dmenu -e "Use secondary displays?" -format i)
if [ $monitorcount -eq 1 ]; then
bspc monitor -d ${names[@]}
else
for((i=0; i<${monitorcount}; i++)); do
name=${names[$i]}
bspc monitor ${monitors[$i]} -d ${name}-0 ${name}-1
done
fi
p() {
if [ -n "$secondary" ] && [ "$use_secondary" == 0 ]; then
printf 'bspc monitor %s -d I II III IV\n' "$primary"
printf 'bspc monitor %s -d %s\n' "$secondary" "$secondary"
else
printf 'bspc monitor %s -d I II III IV V\n' "$primary"
bspc monitor "$secondary" -r
fi
}
p | awk -v blockstart="# START MONITOR BLOCK" \
-v blockend="# END MONITOR BLOCK" \
-v sq="'" \
-v nl="\n" '
FILENAME == "-" {
block=block $0 nl
next
}
!inblock { print }
inblock {
lines[++bi] = $0
}
$0 ~ blockstart {
inblock = 1;
bi = 0;
printf block
next
}
$0 == blockend && inblock {
inblock = 0;
print blockend;
next;
}
ENDFILE {
if(inblock) {
print nl blockend;
for(i=1;i<=bi;i++) {
print lines[i];
}
}
}
' - "$path" > "$tmp" && mv "$tmp" "$path"
chmod +x "$path"
"$path"

View File

@@ -18,14 +18,15 @@ fi
shchemes inject "$HOME/.profile"
shchemes inject "$HOME/.config/qutebrowser/config.py"
shchemes create_theme css > "$HOME/.config/base16.css"
shchemes create_theme css > "$HOME/.config/qutebrowser/base16.css"
pkill -HUP qutebrowser
BSPWM_THEME="$HOME/.config/bspwm/colors"
shchemes create_theme bspwm > "$BSPWM_THEME"
"$BSPWM_THEME"
shchemes inject "$HOME/.config/kitty/kitty.conf"
pkill -SIGUSR1 kitty
shchemes create_theme xfce4-terminal | shchemes merge "$HOME/.config/xfce4/terminal/terminalrc"
shchemes create_theme rofi > "$HOME/.config/rofi/theme.rasi"
shchemes create_theme better-discord > "$HOME/.config/vesktop/themes/theme.css"
@@ -37,7 +38,7 @@ shchemes create_theme obsidian > "$HOME/media/vault/.obsidian/themes/base16.css"
xfconf-query -c xsettings -p /Net/ThemeName -r
xfconf-query -c xsettings -p /Net/ThemeName -s base16
le-wallpaper
xrandr | awk '$2 == "connected" { system("le-wallpaper " $1) }'
# WALLPAPER_OUT="$HOME/.wallpaper.png"
# shchemes create_theme imagemagick \

View File

@@ -4,18 +4,22 @@ if [ -f "$HOME/.profile" ]; then
source "$HOME/.profile"
fi
# Note: In the future, when multi-monitor support is added, the monitor offset could be retrieved from xrandr
# here and fed into feh using --geometry
monitor=($(xrandr | grep " connected" | head -n 1 | awk '{ split($4, a, /[+x]/); print $1 " " a[1] " " a[2]; }'))
monitor=($(xrandr | awk -v name="$1" '$1 == name && $2 == "connected" {
for(i=1;i<=NF;i++) {
if($i ~ /[0-9]+x[0-9]+\+[0-9]+\+[0-9]+/) {
split($i, a, /[+x]/); print $1 " " a[1] " " a[2]; exit
}
}
}'))
monitor_name="${monitor[0]}"
monitor_width="${monitor[1]}"
monitor_height="${monitor[2]}"
prop="/backdrop/screen0/monitor${monitor_name}/workspace0/last-image"
path="$1"
path="$2"
wallpaper_dir="$HOME/.local/share/le_wallpaper"
wallpaper_path="${wallpaper_dir}/wallpaper.png"
wallpaper_store="${wallpaper_dir}/source_path"
wallpaper_path="${wallpaper_dir}/${monitor_name}.png"
wallpaper_store="${wallpaper_dir}/${monitor_name}_path"
mkdir -p "$wallpaper_dir"
@@ -55,4 +59,5 @@ shchemes create_theme imagemagick \
echo "Setting wallpaper: $path"
xfconf-query -c xfce4-desktop -p "$prop" -s "$wallpaper_path"
echo "$path" > "$wallpaper_store"
feh --bg-center "$wallpaper_path"
le-wallpaper-open

View File

@@ -8,7 +8,7 @@ _proto_version=1
_ipc_socket="${XDG_RUNTIME_DIR}/qutebrowser/ipc-$(echo -n "$USER" | md5sum | cut -d' ' -f1)"
_qute_bin="/home/dakedres/repos/qutebrowser/.venv/bin/qutebrowser"
printf '{"args": ["%s"], "target_arg": null, "version": "%s", "protocol_version": %d, "cwd": "%s"}\n' \
printf '{"args": ["%s"], "target_arg": "window", "version": "%s", "protocol_version": %d, "cwd": "%s"}\n' \
"${_url}" \
"${_qb_version}" \
"${_proto_version}" \

View File

@@ -1,16 +1,10 @@
#!/bin/env bash
monitors=($(xrandr | grep " connected " | awk '{ print$1 }'))
monitor="${monitors[0]}"
prop="/backdrop/screen0/monitor${monitor}/workspace0/last-image"
wallpaper_dir="$HOME/.local/share/le_wallpaper"
wallpaper_path="${wallpaper_dir}/wallpaper.png"
# xrandr | awk '$2 == "connected" && $3 ~ /[0-9]+x[0-9]+\+[0-9]+\+[0-9]+/ { split($3, a, "+"); b[bi] = a[2]; c[bi] = $1; bi++ } END { PROCINFO["sorted_in"] = "@val_num_asc"; d = "feh --bg-center"; for(i in b) { d=d " $HOME/.local/share/le_wallpaper/" c[i] ".png" }; system(d) }'
feh --bg-scale "$wallpaper_path"
le-wallpaper-open
xfconf-query -c xfce4-desktop -p "$prop" -m | while read -r line; do
if echo "$line" | grep -e "^set:"; then
echo "Wallpaper updated, reacting"
le-wallpaper
fi
done
xfconf-query -c xfce4-desktop -m | awk -F '/' '
$2 == "backdrop" && $3 == "screen0" && $4 ~ /^monitor/ {
system("le-wallpaper " substr($4, 8))
}'