Componente lento: run_command con caché. slstatus.c cuenta las SIGUSR1
para que se refresque en cuanto un script o un clic lo pide. Así ya no se
lanzan wpctl y bluetoothctl cada 2 s.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C5v1qWDwgkaVM5kjVHGGh8
- wifi: menú de dmenu con wpa_cli (buscar, conectar y guardar redes).
- install.sh prepara wpa_supplicant.conf para wpa_cli sin root (wheel).
- polkitd ya no es un servicio: D-Bus lo arranca si algo lo pide.
- Audio en tiempo real con el grupo _pipewire en vez de rtkit.
- Clic derecho en la red: wpa_cli en una st flotante.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C5v1qWDwgkaVM5kjVHGGh8
- 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
- calendario (home/.local/bin): clic izquierdo en la fecha de la barra
(zona \004 en slstatus, statuscmd 4 en dwm) muestra el mes en una
notificación, empezando en lunes y con hoy en verde.
- .bashrc: rama de git en el prompt (git-prompt.sh, con * y +) e
historial grande, sin duplicados y compartido entre terminales.
- install.sh: cups, cups-filters y hplip, servicio cupsd y grupo lpadmin.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
- apagado (home/.local/bin, Mod+Shift+Escape): dmenu con bloquear,
suspender, salir de dwm, reiniciar y apagar; los tres últimos piden
confirmación.
- sudoers.d/zzz pasa a sudoers.d/energia: zzz, poweroff y reboot sin
argumentos y sin contraseña para wheel.
- autorandr en vez de la línea fija de xrandr: pantallas en fila al
arrancar y al conectar o desconectar una (regla de udev propia con el
perfil virtual horizontal); postswitch pone la interna como principal
y vuelve a pintar el fondo.
- ~/.ssh/config con los alias server y forgejo; install.sh deja ~/.ssh
en 700.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
- bateria (home/.local/bin): avisa al 15 % y, en rojo, al 5 % mientras
descarga. Se lanza desde .xinitrc.
- gammastep: luz cálida (4000 K) de 20:00 a 8:00 con transición de una
hora, por horas fijas en vez de ubicación.
- dwm: Mod+n recupera la última notificación y Mod+Shift+n las cierra.
- Carpetas del usuario en inglés y sin tildes (user-dirs.dirs); las
capturas pasan a ~/Images/Screenshots.
- .bash_profile lanza startx al entrar en tty1.
- btop con el tema everforest-dark-medium.
- gpg-agent recuerda la contraseña una hora (antes 10 minutos).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
- install.sh tiene un paso nuevo, gtk: compila Everforest-GTK-Theme
(verde, oscuro, medium) en ~/.themes desde un commit fijo, lo enlaza
para GTK 4 y pone verdes las carpetas de Papirus (papirus-folders).
- La parte de GTK 2 del tema trae los colores de Gruvbox, porque su
plantilla no coincide con lo que sustituye su script. Se cambian por
Everforest medium; pinentry-gtk es GTK 2 y se veía con otros colores.
- home/: .gtkrc-2.0 y settings.ini de GTK 3 y 4 con el tema y
Papirus-Dark.
- dwm: pinentry-gtk flota (antes ocupaba toda la pantalla).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
Las teclas de audio solo llamaban a wpctl y refrescaban slstatus, sin
avisar. Ahora pasan por el script volumen (home/.local/bin), que hace lo
mismo y además muestra una notificación con icono y barra de nivel. Se
sustituye a sí misma en vez de apilarse. Los clics en VOL de la barra
usan el mismo script.
Se añade rtkit a install.sh: sin él, cada llamada a wpctl (también las
de slstatus cada 2 s) llenaba el log de avisos de RTKit, y el audio no
tenía prioridad de tiempo real.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
Se rehace st desde el 0.9.3 original con los parches:
- kitty-graphics (oficial, 20251230): muestra imágenes en la terminal;
yazi lo detecta solo y no necesita ueberzugpp. Ya incluye anysize, así
que ese parche sobra.
- alpha, sin cambios.
- glyph-wide-support: los iconos anchos (Nerd Font) no se cortan.
- ligatures, con los conflictos resueltos como en la rama
graphics-with-patches de st-graphics, quitando lo de boxdraw.
config.h lleva los mismos cambios de antes sobre el config.def.h nuevo.
Necesita imlib2-devel para compilar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
Primer paso para convertir el repo en dotfiles: los programas de suckless
van juntos en una carpeta y la raíz queda para la configuración de la
sesión y el script de instalación.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m