[Bug] Acellus app takes priority upon having a window over it
What version of WinBoat are you running?
0.8.5 prod
Your Environment
Linux Distro used: Arch DE: KDE FreeRDP version: 3.17.2-2 This app takes priority upon hovering over it. The Windows ISO I used to install was Windows 11 IoT LTSC 2024.
https://github.com/user-attachments/assets/ab82d36d-4712-4d86-9d52-17f089ab59bc
Steps to Reproduce / Context
- Install Acellus
- Put a native window over your Acellus window
Logs
Expected Behavior
The native window should have control above the Acellus window.
Current Behavior
The Acellus window takes control over it.
Possible Solution
No response
Quality Notice
- [x] I have checked the issue tracker and verified that this bug is a unique case.
I have just tried 0.8.7, issue still persists
Hello, the reason this occurs is because the X11 window has the "override redirect" flag, which means it won't be managed by your window manager (this then messes up how XWayland handles stuff I guess).
What you can do is, you can call the xwininfo -root -tree command, and then get the first window ID you see for the Acellus window.
In my case it was
❯ xwininfo -root -tree
xwininfo: Window id: 0x350 (the root window) (has no name)
Root window id: 0x350 (the root window) (has no name)
Parent window id: 0x0 (none)
46 children:
0x14000a2 "Total item count": ("RAIL" "winboat-File Explorer") 100x20+553+1012 +553+1012
0x140009c "Acellus | Sign In": ("RAIL" "winboat-File Explorer") 1424x748+-32000+-31967 +-32000+-31967
...
Then you can run the following using that window ID
xdotool set_window --overrideredirect 0 0x140009c
It should work fine, although I don't know how will the program in general behave, since I don't have the credentials to log in and test.
I have also forked FreeRDP (https://github.com/AdianKozlica/FreeRDP) and made a patch that should add a flag so you can disable the "override redirect" flag completely and just start your window and child windows normally. (If this ends up properly working, I will submit a PR then)
You can build it with the following commands (read this first for installing dependencies https://github.com/FreeRDP/FreeRDP/wiki/Compilation)
cmake . -DCHANNEL_URBDRC=OFF -DWITH_PULSE=ON -DWITH_OPENH264=ON -DWITH_FFMPEG=ON -DWITH_SWSCALE=ON -DWITH_DSP_FFMPEG=ON -DBUILD_SHARED_LIBS=OFF -B ./freerdp_build/
cd freerdp_build
make
sudo make install
Then after you installed it you can run
xfreerdp /u:"<username>" /p:"<password>" /v:127.0.0.1 /port:3389 /cert:ignore +clipboard -wallpaper /sound:sys:pulse /microphone:sys:pulse /floatbar /compression /scale:100 /wm-class:"<WM CLASS>" /app:program:"<Your Program path>",name:"<Your Program Name>" +x11-disable-override-redirect