picoe / Eto

Cross platform GUI framework for desktop and mobile applications in .NET
Other
3.57k stars 325 forks source link

Topmost Window property not respected on Gtk #2501

Closed jonko0493 closed 1 year ago

jonko0493 commented 1 year ago

Expected Behavior

When applying the Topmost property to a Form or using the FloatingForm class, that window should stay on top of all other windows (Topmost) or application windows (FloatingForm).

Actual Behavior

Neither of these happen. Selecting the main window causes it to go in front of the window marked Topmost.

Steps to Reproduce the Problem

  1. Create an Eto project with Gtk bindings.
  2. Create a new Form & set Topmost to true or just create a FloatingForm from within your MainForm class and call .Show().
  3. Run the program and observe that it works as expected on Windows & Mac but fails on Linux.

Code that Demonstrates the Problem

N/A, really, I was just using the FloatingForm class. This is the PR where I noticed the problem.

Specifications

cwensley commented 1 year ago

Eto simply sets GTK's KeepAbove property. If it isn't working, then it is your window manager ignoring it. If you are using Wayland, it does not support topmost windows.

jonko0493 commented 1 year ago

Got it. Thanks for your help as usual!