Skip to content

Conversation

@btzy
Copy link
Owner

@btzy btzy commented Dec 6, 2024

#136 added support for passing a parent window handle, ensuring that the file dialog always stays on top of the parent window and other platform-specific effects. Support was not added for Wayland then, due to implementation complexity and the scarcity of good documentation for the unstable xdg-foreign protocol for Wayland. This PR adds this missing support.

Under Wayland, a process cannot simply hand over a window handle to another process. The sending process calls a Wayland function that takes a window handle and returns a string token representing it (known as exporting the window), and then sends that token over to the receiving process. The receiving process then calls another Wayland function that takes the string token and returns a "foreign" window handle (known as importing the window). The receiving process can then make this "foreign" window the transient parent of its own windows.

NOCOMMIT: This PR will currently cause NFDe to have a runtime dependency on wayland-client, which provide the exporting and importing APIs. This is undesirable as it will cause applications using NFDe to fail to start on a pure X11 system.

@btzy btzy force-pushed the nativewindow-wayland branch 9 times, most recently from e703e7a to 4c40579 Compare December 9, 2024 17:44
@btzy btzy force-pushed the nativewindow-wayland branch from 4c40579 to cdb7b25 Compare January 1, 2025 17:11
@btzy btzy force-pushed the nativewindow-wayland branch 6 times, most recently from 373c0f7 to b39eea4 Compare March 15, 2025 10:45
@btzy btzy force-pushed the master branch 2 times, most recently from 6fc3f6c to a1a4010 Compare March 15, 2025 16:17
@btzy btzy force-pushed the nativewindow-wayland branch 7 times, most recently from 79af96c to 06096fa Compare March 16, 2025 06:06
@btzy btzy force-pushed the nativewindow-wayland branch from 06096fa to ce1a059 Compare April 5, 2025 10:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant