Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Reloj de escritorio para Hyprland (eww)

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.

estado: funcionando

   12:00:25
jueves, 4 de junio de 2026

Características

  • Capa de escritorio (bottom de 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-1 y HDMI-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.

Requisitos

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)

Instalación

Los archivos del widget viven en este repo y se enlazan a ~/.config/eww/clock:

ln -sfn "$PWD/eww/clock" ~/.config/eww/clock

Integració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 reload

Arranca al iniciar Hyprland (vía exec-once). Para lanzarlo manualmente:

~/.config/eww/clock/scripts/launch.sh

Uso

El 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.

Estructura

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)

Notas de implementación

  • Posición vía CLI, no variables: eww 0.5 no resuelve variables dentro de defwindow :geometry, así que la posición se fija con eww open --pos "<x>x<y>" --anchor "top right" (los scripts reabren ambas ventanas clock-0/clock-1 al 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 tocan hyprland.conf ni keybindings.conf (gestionados por HyDE).

Diseño y plan

El diseño y el plan de implementación detallados están en docs/superpowers/.

About

the clock widget i use in my arch installation with hyprland

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages