Repository navigation
fix(linux): la tira y el detalle se ajustan a su contenido en Hyprland (#250) - #251
Open
DonatoSilva wants to merge 4 commits into
Open
DonatoSilva wants to merge 4 commits into
DonatoSilva wants to merge 4 commits into
Conversation
…gdev6#250) Los compositores que no respetan el tamaño de la ventana (Hyprland en Wayland nativo, medido: 1270x1026 cuando se pide 61x181) reciben ahora, antes de aplicar la petición, la petición de tamaño y las pistas min == max que el ciclo X11 ya mandaba. Sin ellas la ruta sin ciclo no toca la geometría y la ventana queda con el tamaño con el que el compositor la mapeó. El efecto es una bandera del perfil por compositor (window_fit.rs, módulo nuevo): sólo Hyprland la activa; GNOME/Ubuntu y el resto conservan el comportamiento de siempre (test que fija que su fila no pide ninguna llamada). La conversión a píxeles lógicos (hint_size) queda probada a escala x2, como el hallazgo HiDPI de egdev6#224.
…ev6#250) Hyprland coloca la ventana en mosaico bajo XWayland (medido: floating=false, 1262x1022) y el layout fija el tamaño de una ventana en mosaico: el ciclo X11 informa SizeRefused aunque mande las pistas. Con el tipo de ventana Utility declarado antes del primer show, Hyprland la flota y las pistas se respetan (medido: 61x181 y sin foco al mapearse; Dialog también flota pero toma foco). La bandera es del perfil por compositor y el type hint se aplica sólo con transporte X11 real (en Wayland nativo no hay tipo de ventana: medido, sin efecto). El cableado en start_main_ui no tiene test unitario: se declara en el PR y se valida a mano en Hyprland.
El inventario fija el hash de src-tauri/src además de src/: los dos commits de egdev6#250 lo invalidan aunque no cambien textos de interfaz.
…#250) La fila deja de estar pendiente de contribuidor: install y app:dev medidos en Wayland nativo y XWayland, y el widget ajustado a la tira con el fix (61x181). Nota en §6.1 con la causa medida por backend y la puerta por perfil. Registro honesto de los controles invalidados por el entorno de medición (L7) y de la ventana Ajustes en mosaico (L8).
2 tasks done
egdev6
requested changes
Nov 9, 2026
egdev6
left a comment
Owner
There was a problem hiding this comment.
Gracias por el diagnóstico y las mediciones, @DonatoSilva. Antes de integrar, ¿puedes revisar estos puntos?
- Corregir o revalidar la escala del detalle al abrirlo oculto:
src-tauri/src/detail_placement.rs:330-336convierte los bounds con la escala de una ventana aún no mostrada, que en monitores con DPI mixto puede diferir de la del monitor seleccionado. Añadir una prueba de regresión. - Añadir pruebas del cableado real: pistas en ambas ventanas,
Utilityantes de mostrar y ausencia de llamadas nuevas fuera de Hyprland. Ahora mismo los tests dewindow_fit_test.rsseguirían pasando si se eliminaran esas llamadas. - Tratar el fallo o timeout de
on_uien lugar de descartarlo, y cubrir la cancelación de una colocación pendiente. - Confirmar manualmente el cierre por hover en Wayland nativo, como se pidió en #250.
- Precisar en la matriz (
docs/build-linux.md:188) qué instalación se probó y separar Omarchy de lo medido en CachyOS.
¡Gracias!
Owner
|
@DonatoSilva, he hecho otra pasada y añado algunos puntos a la revisión anterior. Los pendientes de esa revisión siguen en pie.
Menores:
¡Gracias! |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related issue / Issue relacionada
Issue: Closes #250
ODD:
odd/tasks/250-hyprland-window-fit.md— alcance propuesto en la propia issue y asignado por el mantenedor (status:approved,type:bug).Scope / Alcance
En Hyprland la ventana no se ajusta a la tira en los dos backends (medido con
hyprctl clients -j):place()no manda la petición de tamaño ni las pistasmin == max(solo las manda el ciclo X11) y no verifica. El fix mandaset_size_constraintsen esa ruta, antes deapply_widget, cuando el perfil del compositor lo pide (medido: 61×181 a los 69–83 ms; 5/5 corridas de la medición).SizeRefused, 2/2). El fix declara_NET_WM_WINDOW_TYPE_UTILITYantes del primershow(medido: flotante, 61×181 y sin foco al mapearse; 4/4;dialogtambién flota pero toma foco).Ambos efectos son banderas de un perfil por compositor (
window_fit.rs, módulo nuevo, funciones puras sobre la detección dewm_compat.rs): solo Hyprland las activa; GNOME/Ubuntu y el resto conservan el comportamiento de siempre, con un test que fija que la fila por defecto no pide ningún ajuste ni emite llamadas nativas nuevas. La conversión física→lógica de las pistas está probada a escala ×2 (el hallazgo HiDPI de #224).Cuatro commits: código nativo (
ceb9c9f), código XWayland (958e055), inventario i18n regenerado (c1b1094; fija también el hash desrc-tauri/src) y la fila de Hyprland de la matriz dedocs/build-linux.mdcon la evidencia (9d4c88f).Fuera de alcance (declarado en la issue): la posición en Wayland nativo (#180; el arrastre nativo sigue siendo el gesto del compositor, sin imán ni persistencia, que ahora es visible porque la ventana ya tiene el tamaño de la tira), el borde/blur/redondeo del compositor, la ventana «Ajustes» en mosaico en nativo (observada durante la validación) y el falso
PositionRefuseddel ciclo X11.Coordination / Coordinación
Contributor / Contribuidor: @DonatoSilva
Claim or agreement evidence / Evidencia de asignación o acuerdo: asignación del mantenedor en la issue (#250), con
status:approvedytype:bug.Acceptance and validation / Aceptación y validación
x11_float_hintcon stubs) y en verde después.cargo fmt --checkycargo test --locked: 520 tests, 515 pasan, 5 ignorados en vivo, 0 fallos.npm test(vitest y node --test 298),npm run typecheckynpm run build: sin errores.node scripts/i18n-inventory.mjs --check: correcto (inventario regenerado en su propio commit).start_main_uino tiene test unitario (declarado en el ODD); su efecto está validado a mano en XWayland.An open PR does not mean integration. Release, secrets and signing operations require separate authorization.
Una PR abierta no implica integración. Release, secretos y firma requieren autorización separada.