winboat icon indicating copy to clipboard operation
winboat copied to clipboard

[Bug] Acellus app takes priority upon having a window over it

Open sillynilah opened this issue 3 months ago • 2 comments

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

  1. Install Acellus
  2. Put a native window over your Acellus window

Logs

winboat.log

install.log

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.

sillynilah avatar Oct 08 '25 22:10 sillynilah

I have just tried 0.8.7, issue still persists

sillynilah avatar Oct 08 '25 22:10 sillynilah

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

AdianKozlica avatar Oct 19 '25 21:10 AdianKozlica