AvengeMedia / AvengeMedia/DankMaterialShell
Monitor rotado 90° se muestra horizontal: wlroutput.getState reporta transform=0 con 4 salidas activas
- Dominant language
- QML
- Stars
- 8.1k
- Forks
- 515
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 102
Description
### Compositor
Hyprland
### Distribution
CachyOS
### If Other, please specify
_No response_
### Select your Installation Method
DankInstaller
### Was this your original Installation method?
Yes
### If no, specify
_No response_
### dms doctor -vC
Click to expand
## DMS Doctor Report
**System**
- [ok] Operating System: CachyOS
- ID: cachyos, Version: rolling, Arch: amd64
- [ok] Architecture: amd64
- [ok] Display Server: Wayland
- WAYLAND_DISPLAY=wayland-1
**Versions**
- [ok] DMS CLI: dms v1.5.3
- /usr/bin/dms
- [ok] Quickshell: Quickshell 0.3.1 (revision , distributed by Arch Linux)
- /usr/bin/qs
- [ok] DMS Shell: v1.5.3
- /usr/share/quickshell/dms
**Installation**
- [ok] DMS Configuration: Found
- /usr/share/quickshell/dms
- [ok] shell.qml: Present
- /usr/share/quickshell/dms/shell.qml
- [info] Install Type: System package
- /usr/share/quickshell/dms
**Compositor**
- [ok] Hyprland: 0.56.2
- /usr/bin/hyprland
- [info] Active: Hyprland
- [ok] Background Blur: Supported
- Compositor supports ext-background-effect-v1
**Quickshell Features**
- [ok] Polkit: Available
- Authentication prompts
- [ok] IdleMonitor: Available
- Idle detection
- [ok] IdleInhibitor: Available
- Prevent idle/sleep
- [ok] ShortcutInhibitor: Available
- Allow shortcut management (niri)
- [ok] BackgroundBlur: Available
- Background blur API support in Quickshell
**Optional Features**
- [ok] accountsservice: Available
- User accounts
- [ok] power-profiles-daemon: Available
- Power profile management
- [ok] logind: Available
- Session management
- [warn] cups-pk-helper: Not available (install cups-pk-helper)
- Printer management
- [info] I2C/DDC: No monitors detected
- External monitor brightness control
- [ok] qt6-imageformats: Installed (1 formats)
- Formats: GIF (/usr/lib/qt6/plugins/imageformats:/usr/lib64/qt6/plugins/imageformats)
- [warn] kimageformats: Not installed
- AVIF, HEIF, JXL support
- [ok] Terminal: kitty, alacritty
- [ok] Network: NetworkManager
- NetworkManager present. Using NM API.
- [ok] matugen: Installed
- Dynamic theming
- [ok] dgop: Installed
- System monitoring
- [warn] cava: Missing
- Audio visualizer
- [info] khal: Not installed
- Calendar events
- [info] danksearch: Not installed
- File search
- [info] dankcalendar: Not installed
- Calendar app
- [info] fprintd: Not installed
- Fingerprint auth
**Config Files**
- [ok] settings.json: Present
- /home/rodry20x/.config/DankMaterialShell/settings.json
- [info] clsettings.json: Not yet created
- /home/rodry20x/.config/DankMaterialShell/clsettings.json
- [info] plugin_settings.json: Not yet created
- /home/rodry20x/.config/DankMaterialShell/plugin_settings.json
- [ok] session.json: Present
- /home/rodry20x/.local/state/DankMaterialShell/session.json
- [ok] dms-colors.json: Present
- /home/rodry20x/.cache/DankMaterialShell/dms-colors.json
**Services**
- [ok] dms.service: enabled, active
- [info] greetd: Not installed
- Optional greeter service
**Environment**
- [info] QT_QPA_PLATFORMTHEME: Not set
- [info] QS_ICON_THEME: Not set
- [info] XDG_MENU_PREFIX: Not set
**Fonts**
- [warn] Normal Font: 'Inter Variable' not found
- Font is not registered. Try running 'fc-cache -fv' or install the font.
- [warn] Monospace Font: 'Fira Code' not found
- Font is not registered. Try running 'fc-cache -fv' or install the font.
---
**Summary:** 0 error(s), 5 warning(s), 27 ok
### Description
El backend de la shell (wlroutput) reporta un estado de salidas desincronizado/incorrecto. Hay 4 monitores conectados a la vez: un monitor principal DP-8 (2560x1440@165), una pantalla externa DP-6 (1920x1080@144), una pantalla externa DP-10 (1920x1080@144) girada 90° y la pantalla de la laptop eDP-1 (1920x1080@144). La pantalla girada a 90° aparece con transform: 0, las posiciones aparecen amontonadas y una salida encendida aparece enabled:false. La previsualización de "Configuración de Monitor" usa ese estado, por lo que dibuja las pantallas giradas como horizontales y regraba configuraciones erróneas al usar "Aplicar cambios" (puede quitarle la rotación a un monitor o apagar la laptop).
### Expected Behavior
wlroutput.getState debería reflejar el estado real del compositor (transform, posición, enabled) — el mismo que reporta hyprctl -j monitors.
### Steps to Reproduce
1. Tener 4 salidas conectadas a la vez, con un monitor (DP-10) rotado 90° activo vía outputs.lua (Hyprland).
2. hyprctl -j monitors → muestra transform: 1 (correcto).
3. Consultar wlroutput.getState por el socket de DMS → devuelve transform: 0 (incorrecto), posiciones incorrectas y eDP-1 enabled:false aunque está encendida.
4. dms ipc call outputs refresh → el estado permanece igual (serial no cambia).
Evidencia:
# hyprctl -j monitors (Hyprland, verdad real)
DP-8 pos=(1920,160) transform=0
DP-10 pos=(840,160) transform=1 <- rotada 90°
eDP-1 pos=(4480,0) transform=0 <- encendida
DP-6 pos=(2242,1600) transform=0
# wlroutput.getState (backend DMS)
DP-8 transform=0 x=0 y=160 enabled=True
DP-10 transform=0 x=0 y=160 enabled=True <- transform perdido
eDP-1 transform=0 x=4480 y=0 enabled=False <- aparece apagada
DP-6 transform=0 x=0 y=160 enabled=True
### Error Messages/Logs
_No response_
### Screenshots/Recordings
_No response_
Contributor guide
Research direction
Start by reproducing the four-output setup and compare wlroutput.getState from the DMS socket with hyprctl -j monitors. Trace dms ipc call outputs refresh and verify that transform, position, and enabled match the compositor state, including the rotated DP-10 and active eDP-1.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend, desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100