- doas en vez de sudo (sistema/etc/doas.conf; xbps.d permite quitar sudo). - pinentry-dmenu en X y pinentry-curses en una tty (pinentry-menu); fuera GTK 2 (.gtkrc-2.0 y el arreglo de colores del tema). - bluetooth: menú de dmenu con bluetoothctl en vez de blueman. - pantallas: xrandr a pelo en vez de autorandr, también desde udev. - luz: sct cada minuto en vez de gammastep. - xwallpaper para el fondo y nsxiv para las imágenes de st, en vez de feh. - volumen salida en vez de pavucontrol; menu reúne los colores de dmenu. - mpv en vez de vlc; fuera btop. - install.sh: paso quitar para desinstalar lo sustituido. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C5v1qWDwgkaVM5kjVHGGh8
39 lines
1.3 KiB
Bash
Executable file
39 lines
1.3 KiB
Bash
Executable file
#!/bin/sh
|
|
# Pone en fila todas las pantallas conectadas, con la del portátil
|
|
# (eDP*/LVDS*) a la izquierda y como principal, apaga las desconectadas y
|
|
# vuelve a pintar el fondo. Lo lanzan .xinitrc al arrancar y la regla de udev
|
|
# (sistema/etc/udev/rules.d) al conectar o desconectar una pantalla.
|
|
#
|
|
# udev lo ejecuta como root: entonces se relanza como el usuario de la sesión
|
|
# de dwm, con su DISPLAY.
|
|
|
|
if [ "$(id -u)" -eq 0 ]; then
|
|
pid=$(pgrep -xo dwm) || exit 0
|
|
usuario=$(stat -c %U "/proc/$pid")
|
|
casa=$(getent passwd "$usuario" | cut -d: -f6)
|
|
entorno=$(tr '\0' '\n' <"/proc/$pid/environ" | grep -E '^(DISPLAY|XAUTHORITY)=')
|
|
# shellcheck disable=SC2086
|
|
exec env $entorno HOME="$casa" chpst -u "$usuario" "$0"
|
|
fi
|
|
|
|
estado=$(xrandr) || exit 1
|
|
interna=$(echo "$estado" | awk '/^(eDP|LVDS)[^ ]* connected/ { print $1 }')
|
|
otras=$(echo "$estado" | awk '/ connected/ && $1 !~ /^(eDP|LVDS)/ { print $1 }')
|
|
fuera=$(echo "$estado" | awk '/ disconnected/ { print $1 }')
|
|
|
|
set --
|
|
ant=
|
|
for o in $interna $otras; do
|
|
if [ -z "$ant" ]; then
|
|
set -- "$@" --output "$o" --auto --primary --pos 0x0
|
|
else
|
|
set -- "$@" --output "$o" --auto --right-of "$ant"
|
|
fi
|
|
ant=$o
|
|
done
|
|
for o in $fuera; do
|
|
set -- "$@" --output "$o" --off
|
|
done
|
|
[ $# -gt 0 ] && xrandr "$@"
|
|
|
|
xwallpaper --zoom "$HOME/.local/share/wallpaper.jpg"
|