Menú de sesión, pantallas con autorandr y alias de ssh
- 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
This commit is contained in:
parent
2850a4fc73
commit
68427bdf7a
10 changed files with 80 additions and 7 deletions
10
README.md
10
README.md
|
|
@ -91,6 +91,7 @@ tocado.
|
||||||
| Mod+Shift+l | Bloquear la pantalla con `slock` |
|
| Mod+Shift+l | Bloquear la pantalla con `slock` |
|
||||||
| Mod+n | Volver a mostrar la última notificación (historial de dunst) |
|
| Mod+n | Volver a mostrar la última notificación (historial de dunst) |
|
||||||
| Mod+Shift+n | Cerrar todas las notificaciones |
|
| Mod+Shift+n | Cerrar todas las notificaciones |
|
||||||
|
| Mod+Shift+Escape | Menú de sesión: bloquear, suspender, salir de dwm, reiniciar o apagar (los tres últimos piden confirmación) |
|
||||||
| Mod+`-` / Mod+`+` | Reducir / aumentar los gaps |
|
| Mod+`-` / Mod+`+` | Reducir / aumentar los gaps |
|
||||||
| Mod+Shift+`+` | Gaps a 0 |
|
| Mod+Shift+`+` | Gaps a 0 |
|
||||||
| Tecla de subir / bajar volumen | Volumen ±5% con `wpctl` (máximo 100%) |
|
| Tecla de subir / bajar volumen | Volumen ±5% con `wpctl` (máximo 100%) |
|
||||||
|
|
@ -112,8 +113,13 @@ y muestran una notificación.
|
||||||
tty no.
|
tty no.
|
||||||
- `.xinitrc` arranca también `gammastep` (luz cálida de 20:00 a 8:00, con
|
- `.xinitrc` arranca también `gammastep` (luz cálida de 20:00 a 8:00, con
|
||||||
transición de una hora) y `bateria` (avisa al 15 % y, en rojo, al 5 %; al
|
transición de una hora) y `bateria` (avisa al 15 % y, en rojo, al 5 %; al
|
||||||
3 % suspende con `sudo -n zzz`, permitido sin contraseña en
|
3 % suspende con `sudo -n zzz`). Suspender, apagar y reiniciar no piden
|
||||||
`sistema/etc/sudoers.d/zzz`).
|
contraseña (`sistema/etc/sudoers.d/energia`).
|
||||||
|
- Pantallas: `autorandr` las pone en fila (la del portátil a la izquierda y
|
||||||
|
como principal) al arrancar y cada vez que se conecta o desconecta una
|
||||||
|
(regla de udev en `sistema/`), y vuelve a pintar el fondo.
|
||||||
|
- `~/.ssh/config` con alias: `ssh server` (10.0.0.10) y `forgejo`. Sin
|
||||||
|
claves: las da gpg-agent.
|
||||||
- Tras 30 minutos sin tocar nada se bloquea con slock (`xss-lock`) y un
|
- Tras 30 minutos sin tocar nada se bloquea con slock (`xss-lock`) y un
|
||||||
minuto después se apaga la pantalla.
|
minuto después se apaga la pantalla.
|
||||||
- Memorias USB y tarjetas SD: el servicio `automontaje` (runit, como root)
|
- Memorias USB y tarjetas SD: el servicio `automontaje` (runit, como root)
|
||||||
|
|
|
||||||
6
home/.config/autorandr/postswitch
Executable file
6
home/.config/autorandr/postswitch
Executable file
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Tras cambiar de pantallas: la interna del portátil (eDP*/LVDS*) como
|
||||||
|
# principal y el fondo pintado de nuevo con la geometría nueva.
|
||||||
|
interna=$(xrandr | awk '/^(eDP|LVDS)[^ ]* connected/ { print $1; exit }')
|
||||||
|
[ -n "$interna" ] && xrandr --output "$interna" --primary
|
||||||
|
feh --no-fehbg --bg-fill "$HOME/.local/share/wallpaper.jpg"
|
||||||
28
home/.local/bin/apagado
Executable file
28
home/.local/bin/apagado
Executable file
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Menú de apagado con dmenu (Mod+Shift+Escape en dwm). Apagar, reiniciar y
|
||||||
|
# salir de dwm piden confirmación. Suspender, apagar y reiniciar usan sudo
|
||||||
|
# sin contraseña (sistema/etc/sudoers.d/energia).
|
||||||
|
|
||||||
|
menu() {
|
||||||
|
dmenu -i -p "$1" -fn "Fira Code:size=11" \
|
||||||
|
-nb "#2d353b" -nf "#d3c6aa" -sb "#a7c080" -sf "#2d353b"
|
||||||
|
}
|
||||||
|
|
||||||
|
confirmar() {
|
||||||
|
[ "$(printf 'No\nSí\n' | menu "¿$1?")" = "Sí" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
opcion=$(printf '%s\n' \
|
||||||
|
" Bloquear" \
|
||||||
|
" Suspender" \
|
||||||
|
" Salir de dwm" \
|
||||||
|
" Reiniciar" \
|
||||||
|
" Apagar" | menu "Sesión:")
|
||||||
|
|
||||||
|
case $opcion in
|
||||||
|
*Bloquear) slock ;;
|
||||||
|
*Suspender) sudo -n zzz ;;
|
||||||
|
*Salir*) confirmar "Salir de dwm" && pkill -TERM -x dwm ;;
|
||||||
|
*Reiniciar) confirmar "Reiniciar" && sudo -n reboot ;;
|
||||||
|
*Apagar) confirmar "Apagar" && sudo -n poweroff ;;
|
||||||
|
esac
|
||||||
22
home/.ssh/config
Normal file
22
home/.ssh/config
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
# Alias de mis máquinas. Aquí no hay claves: las da gpg-agent (SSH_AUTH_SOCK
|
||||||
|
# en .bashrc), así que este archivo puede ir en el repo sin problema.
|
||||||
|
|
||||||
|
# Servidor de casa (solo desde la red local)
|
||||||
|
Host server
|
||||||
|
HostName 10.0.0.10
|
||||||
|
User alejandro
|
||||||
|
|
||||||
|
# Forgejo: "git clone forgejo:alejandrogs73/suckless.git"
|
||||||
|
Host forgejo
|
||||||
|
HostName ssh.alejandrogs.es
|
||||||
|
User forgejo
|
||||||
|
|
||||||
|
Host ssh.alejandrogs.es
|
||||||
|
User forgejo
|
||||||
|
|
||||||
|
Host github.com
|
||||||
|
User git
|
||||||
|
|
||||||
|
Host *
|
||||||
|
# Mantener vivas las conexiones inactivas (evita cortes del router)
|
||||||
|
ServerAliveInterval 60
|
||||||
|
|
@ -18,8 +18,11 @@ fi
|
||||||
export QT_QPA_PLATFORMTHEME=qt5ct
|
export QT_QPA_PLATFORMTHEME=qt5ct
|
||||||
|
|
||||||
# Teclado y monitores primero; el fondo se pinta después con la geometría final.
|
# Teclado y monitores primero; el fondo se pinta después con la geometría final.
|
||||||
|
# autorandr pone las pantallas conectadas en fila (la del portátil a la
|
||||||
|
# izquierda); al conectar o desconectar una, lo repite solo (regla de udev en
|
||||||
|
# sistema/) y vuelve a pintar el fondo (~/.config/autorandr/postswitch).
|
||||||
setxkbmap es
|
setxkbmap es
|
||||||
xrandr --output eDP --primary --auto --output HDMI-A-0 --mode 1280x720 --rate 60.00 --right-of eDP
|
autorandr --change --default horizontal
|
||||||
feh --no-fehbg --bg-fill "$HOME/.local/share/wallpaper.jpg" &
|
feh --no-fehbg --bg-fill "$HOME/.local/share/wallpaper.jpg" &
|
||||||
|
|
||||||
pipewire &
|
pipewire &
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ PAQUETES="
|
||||||
libXrender-devel xorgproto imlib2-devel zlib-devel libxcrypt-devel
|
libXrender-devel xorgproto imlib2-devel zlib-devel libxcrypt-devel
|
||||||
|
|
||||||
xorg xinit setxkbmap xrandr dbus elogind polkit
|
xorg xinit setxkbmap xrandr dbus elogind polkit
|
||||||
picom dunst libnotify feh maim xclip gammastep xss-lock
|
picom dunst libnotify feh maim xclip gammastep xss-lock autorandr
|
||||||
pipewire wireplumber libspa-bluetooth alsa-pipewire rtkit pavucontrol
|
pipewire wireplumber libspa-bluetooth alsa-pipewire rtkit pavucontrol
|
||||||
NetworkManager bluez blueman acpid chrony tlp tlp-rdw
|
NetworkManager bluez blueman acpid chrony tlp tlp-rdw
|
||||||
font-firacode nerd-fonts-symbols-ttf papirus-icon-theme papirus-folders
|
font-firacode nerd-fonts-symbols-ttf papirus-icon-theme papirus-folders
|
||||||
|
|
@ -80,6 +80,8 @@ enlaces() {
|
||||||
|
|
||||||
# Las carpetas de home/.config/user-dirs.dirs (y la de las capturas)
|
# Las carpetas de home/.config/user-dirs.dirs (y la de las capturas)
|
||||||
mkdir -p "$HOME/Documents" "$HOME/Downloads" "$HOME/Images/Screenshots"
|
mkdir -p "$HOME/Documents" "$HOME/Downloads" "$HOME/Images/Screenshots"
|
||||||
|
# ssh no quiere ~/.ssh accesible para otros
|
||||||
|
chmod 700 "$HOME/.ssh"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Compila el tema GTK Everforest (verde, oscuro, paleta medium) en ~/.themes
|
# Compila el tema GTK Everforest (verde, oscuro, paleta medium) en ~/.themes
|
||||||
|
|
|
||||||
4
sistema/etc/sudoers.d/energia
Normal file
4
sistema/etc/sudoers.d/energia
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Suspender, apagar y reiniciar sin contraseña para los de wheel (solo esos
|
||||||
|
# comandos y sin argumentos). Los usan el script bateria (suspender al
|
||||||
|
# agotarse) y el menú de apagado (home/.local/bin/apagado).
|
||||||
|
%wheel ALL=(root) NOPASSWD: /usr/bin/zzz "", /usr/bin/poweroff "", /usr/bin/reboot ""
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
# El script bateria suspende con "sudo -n zzz" cuando la batería llega al
|
|
||||||
# límite. Solo zzz sin argumentos, sin contraseña, para los de wheel.
|
|
||||||
%wheel ALL=(root) NOPASSWD: /usr/bin/zzz ""
|
|
||||||
4
sistema/etc/udev/rules.d/40-monitor-hotplug.rules
Normal file
4
sistema/etc/udev/rules.d/40-monitor-hotplug.rules
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Sustituye a la regla de autorandr (/usr/lib/udev/rules.d): al conectar o
|
||||||
|
# desconectar una pantalla, colocarlas todas en fila ("horizontal") en vez
|
||||||
|
# de buscar un perfil guardado llamado "default".
|
||||||
|
ACTION=="change", SUBSYSTEM=="drm", RUN+="/usr/bin/autorandr --batch --change --default horizontal"
|
||||||
|
|
@ -136,6 +136,7 @@ static const Key keys[] = {
|
||||||
{ MODKEY|ShiftMask, XK_l, spawn, {.v = lockcmd } },
|
{ MODKEY|ShiftMask, XK_l, spawn, {.v = lockcmd } },
|
||||||
{ MODKEY, XK_n, spawn, SHCMD("dunstctl history-pop") },
|
{ MODKEY, XK_n, spawn, SHCMD("dunstctl history-pop") },
|
||||||
{ MODKEY|ShiftMask, XK_n, spawn, SHCMD("dunstctl close-all") },
|
{ MODKEY|ShiftMask, XK_n, spawn, SHCMD("dunstctl close-all") },
|
||||||
|
{ MODKEY|ShiftMask, XK_Escape, spawn, SHCMD("apagado") },
|
||||||
{ MODKEY, XK_b, togglebar, {0} },
|
{ MODKEY, XK_b, togglebar, {0} },
|
||||||
{ MODKEY, XK_j, focusstack, {.i = +1 } },
|
{ MODKEY, XK_j, focusstack, {.i = +1 } },
|
||||||
{ MODKEY, XK_k, focusstack, {.i = -1 } },
|
{ MODKEY, XK_k, focusstack, {.i = -1 } },
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue