# cosmic-idle — el que apaga la pantalla y dispara el bloqueo por inactividad. Cliente Wayland puro: # `wayland-client` + los protocolos `staging`/`wlr` de idle-notify, `calloop` para el bucle, y zbus # contra UPower para saber si hay batería. # # ── LLEVA libxkbcommon, Y EL RAZONAMIENTO DE QUE NO HACÍA FALTA ERA BUENO Y FALSO ─────────────── # Se escribió sin `[deps]` con este argumento: no usa smithay-client-toolkit —que es quien enlaza # libxkbcommon— y un demonio de inactividad no interpreta teclas, le alcanza con que el compositor le # avise que nadie tocó nada. El enlace lo refutó: `-lxkbcommon`, arrastrado por # **`cosmic-settings-config`**, que es de donde sale la tabla de atajos y **la usa TODO componente de # la suite**. O sea que la dep no viene de lo que el programa hace, sino de la librería de # configuración común — y por eso no se deduce mirando la función del paquete. # # La conclusión general está en el gotcha 7 del runbook: `libxkbcommon` + `pkgconf` van en TODA la # cola, sin excepción, incluso en las piezas sin interfaz. name = "cosmic-idle" version = "1.5.0" license = "GPL-3.0" [source] tarball = "https://github.com/pop-os/cosmic-idle/archive/epoch-1.5.0/cosmic-idle-epoch-1.5.0.tar.gz" sha256 = "f6eab0ed81bba6bd3a6dfb3ec78471a152852c59e6887a74206f4b59865df7c1" [build] compiler = "zig-cc" target = "x86_64-linux-musl" # ── DINÁMICO, Y NO ES UNA PREFERENCIA ────────────────────────────────────────────────────────── # `wayland-client` entra con la feature `dlopen`: no ENLAZA libwayland-client, la carga en runtime. # Un binario musl ESTÁTICO no tiene dlopen funcional, así que el cliente arranca y muere con # «The wayland library could not be loaded» — con el .so presente en el rootfs, que es lo que hace # el diagnóstico confuso: no falta la librería, falta poder abrirla. link = "dynamic" flags = ["--bin", "cosmic-idle"] [build.phases] install = ''' mkdir -p /out/usr/bin cp target/release/cosmic-idle /out/usr/bin/cosmic-idle chmod 755 /out/usr/bin/cosmic-idle ''' [deps] build = ["libxkbcommon", "pkgconf"]