Reloj con hora local y fecha en español que vive en el escritorio —sobre el wallpaper y detrás de las ventanas— en ambos monitores, reposicionable con el teclado. Construido para Arch Linux + Hyprland + HyDE.
12:00:25
jueves, 4 de junio de 2026
- Capa de escritorio (
bottomde layer-shell): sobre el wallpaper, detrás de las ventanas normales. No roba foco ni aparece en Alt-Tab. - Hora local leída de la timezone del sistema, 24h con segundos por defecto, con toggle 24h ⇄ 12h (AM/PM).
- Fecha en español sin depender del locale del sistema (los nombres de día/mes se generan en el script).
- En ambos monitores (
HDMI-A-1yHDMI-A-2), anclado a la esquina superior derecha. - Movible con el teclado mediante un submap dedicado de Hyprland; la posición persiste entre reinicios.
- Notificación al entrar/salir del modo de movimiento (vía dunst).
- Autostart al iniciar Hyprland.
| Dependencia | Para qué |
|---|---|
eww (0.5+) |
motor del widget (layer-shell) |
dunst |
notificación del modo reloj (dunstify) |
| JetBrainsMono Nerd Font | tipografía del reloj |
| Hyprland | compositor (submap + exec-once) |
Los archivos del widget viven en este repo y se enlazan a ~/.config/eww/clock:
ln -sfn "$PWD/eww/clock" ~/.config/eww/clockIntegración con Hyprland — añade el contenido de
hypr/userprefs-clock.conf al final de tu
~/.config/hypr/userprefs.conf (archivo de usuario que HyDE no sobrescribe):
cat hypr/userprefs-clock.conf >> ~/.config/hypr/userprefs.conf
hyprctl reloadArranca al iniciar Hyprland (vía exec-once). Para lanzarlo manualmente:
~/.config/eww/clock/scripts/launch.shEl reloj está siempre en el escritorio; lo ves cuando no hay ventanas tapándolo.
Modo reloj (mover / configurar) — pulsa SUPER + SHIFT + C; aparece una
notificación mientras está activo:
| Tecla | Acción |
|---|---|
← ↑ → ↓ |
mover el reloj (pasos de 20 px) |
R |
resetear a la esquina superior derecha |
F |
alternar formato 24h ⇄ 12h |
Esc / Enter |
salir del modo (cierra la notificación) |
La posición y el formato se guardan en state/ y sobreviven a reinicios.
eww/clock/
├── eww.yuck # widget: variables, polls, defwindow (capa bottom)
├── eww.scss # estilos (tipografía, sombra, transparencia)
├── scripts/
│ ├── launch.sh # arranca el daemon y abre el reloj en ambos monitores
│ ├── time.sh # hora (respeta el toggle 24/12h)
│ ├── date-es.sh # fecha en español (sin locale)
│ ├── move.sh # mueve/resetea y persiste la posición
│ ├── togglefmt.sh # alterna 24h ⇄ 12h
│ └── notify.sh # notificación al entrar/salir del modo reloj
└── state/
├── pos # posición persistida (posx posy)
└── fmt # formato persistido (24 / 12)
hypr/
└── userprefs-clock.conf # snippet de Hyprland (autostart + submap)
- Posición vía CLI, no variables: eww 0.5 no resuelve variables dentro de
defwindow :geometry, así que la posición se fija coneww open --pos "<x>x<y>" --anchor "top right"(los scripts reabren ambas ventanasclock-0/clock-1al mover). El ancho de la ventana es fijo y el texto se alinea a la derecha (hexpand) para que la hora no se trunque. - Capa
bottom: por encima del daemon de wallpaper (background) y por debajo de las ventanas normales. - HyDE-safe: toda la integración va en
userprefs.conf; no se tocanhyprland.confnikeybindings.conf(gestionados por HyDE).
El diseño y el plan de implementación detallados están en
docs/superpowers/.