- 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
- Commits y tags firmados con la clave 1CFF10953BEE333C.
- init.defaultBranch = master.
- pull con rebase (y autoStash), push que crea la rama remota, fetch que
limpia ramas borradas, diffs con histogram y colorMoved, conflictos en
zdiff3, rerere, ramas ordenadas por fecha y alias lg y st.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
Las apps Qt 5 (VLC) y Qt 6 (OBS, PrismLauncher) se ven como las de GTK:
estilo Fusion, una paleta Everforest dark medium propia y Papirus-Dark.
- home/.config/qt5ct y qt6ct: configuración y paleta. La ruta de la
paleta va con $HOME, que qt5ct/qt6ct expanden.
- .xinitrc exporta QT_QPA_PLATFORMTHEME=qt5ct; el plugin de qt6ct también
responde a ese nombre, así que vale para las dos versiones.
- install.sh instala qt5ct y qt6ct.
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
Fuera flatpak, emacs, opencode, Antigravity (PATH duplicado) y los alias
data, factorio y cstrike.
La línea de flatpak además rompía cosas: dejaba XDG_DATA_DIRS sin
/usr/share, así que nada encontraba los temas de iconos ni la base de
datos MIME (dunst no podía ni abrir un PNG).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
Configuración nueva desde cero (solo lo que cambia respecto al valor por
defecto), a juego con el resto: borde de 2 px como las ventanas de dwm
(verde normal, gris baja, rojo crítica), esquinas de 8 px como picom,
debajo de la barra de dwm y con separación entre notificaciones.
- Iconos de Papirus-Dark: Adwaita ya solo trae iconos simbólicos y las
notificaciones con nombre de icono salían sin él. Se añade
papirus-icon-theme a install.sh.
- dmenu con los colores en formato rgb:, porque dunst trata "#" como
comentario y la línea se cortaba.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
Los separadores redondeados de yazi (U+E0B4 y U+E0B6) salían como una
"i" y una "T": fontconfig elegía Linux Libertine G / Biolinum G (de
LibreOffice), que usan esa zona de uso privado para otras cosas. Se les
quita la zona al escanearlas y Symbols Nerd Font pasa a ser la primera
fuente de reserva de Fira Code.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
- home/: xinitrc, bashrc, bash_profile, gitconfig, picom, dunst,
mimeapps.list y el fondo de pantalla. Se enlazan en ~ con la misma ruta.
- xinitrc: feh directamente en vez de .fehbg, y XDG_RUNTIME_DIR a mano solo
si elogind no lo ha creado.
- mimeapps.list: firefox.desktop en vez del .desktop autogenerado.
- install.sh: instala los paquetes de Void, compila los programas, enlaza
home/, prepara GnuPG (permisos, pinentry-gtk y agente SSH), copia
sistema/ y activa servicios y grupos.
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
git subtree busca el último squash de cada programa por su carpeta
(git-subtree-dir) y ya no los encontraba tras moverlos. Este merge une
una copia de cada squash con la carpeta nueva; no cambia ningún archivo.
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
El fondo es fijo y el color del estado (inicio, escribiendo, error) pasa a
una barra inferior. Se muestran la hora, la fecha, un punto por carácter
tecleado, el usuario y la batería, refrescando reloj y batería cada
segundo. Usa Xft y los iconos de Symbols Nerd Font.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
elogind ignora la tapa y los botones para que solo actúe acpid (zzz), y un
hook de zzz lanza slock antes de suspender.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MymT1wzMgXhfC3ZwHqNAVF
- Mod+Shift+r reinicia dwm sin cerrar ventanas y cada una sigue en su tag
- Clics en la barra: red (nmtui), volumen (pavucontrol, silenciar, micro,
rueda) y bluetooth (blueman, encender/apagar)
- swallow: lo que se abre desde st sustituye a la terminal
- Reglas: flotan centradas pavucontrol, blueman, nmtui y ventanas de Firefox
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MymT1wzMgXhfC3ZwHqNAVF
Aplicados en ese orden desde st/patches/. anysize se resolvió a mano
en xmakeglyphfontspecs() y xdrawglyphfontspecs() (usar win.hborderpx y
win.vborderpx en vez de borderpx), y lo mismo para la posición del IME.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- config.h regenerado desde config.def.h (faltaban los atajos de setgaps)
e indentado con tabuladores
- gaps: Mod+-/Mod++ (teclado español) y Mod+Shift++ para quitarlos
- volumen limitado a 100% y refresco inmediato de slstatus
- silenciar micro con Mod+ñ y XF86AudioMicMute
- slock con Mod+Shift+l, clipmenu con Mod+v
- capturas con Impr (pantalla) y Shift+Impr (selección) usando maim
- quitar regla de Firefox que no hacía nada
- arreglar indentación de tile() tras el parche fullgaps
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>