-
Notifications
You must be signed in to change notification settings - Fork 193
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
wayland: use server-side decorations if possible #385
Conversation
Thank you for the patch! I will test it out and get back to you |
How does server-side decorations interact with the window size? I'm particularly concerned about the values passed to |
What is the performance impact of using server-side decorations together with the shared memory buffer? Can you run SwingMark and RenderPerf with and without the patch and post the results? |
xdg_surface_set_window_geometry is always called with the width/height from the configure event. These values are not affected by presence of client-side decorations. Client-side decorations only create an inset which causes the window contents (excluding the CSD) to be rendered into a smaller part of the surface.
It should not make a difference but I will take a look. |
This aligns with my understanding of CSD and this is why I specifically asked about server-side decorations. I don't know if the server counts the size the decorations it provides towards the window geometry or not. |
SwingMark is essentially unchanged with roughly the following results:
I was not able to get RenderPerfTest to work before or after these changes. After starting it, it just keeps asking to capture the output. If you allow it to capture the output, it just asks again.
It doesn't. If SSD is used, the geometry should be set to the size of the window contents. |
Strike that. I had forgotten to pass |
In addition to the always-present "maximize" button, it seems that decorating any window will make it resizable, for which many, if not all, IDEA dialogs are not prepared. |
I hadn't considered that you might want to have undecorated toplevels. This should now be fixed. |
There is currently no API to set an application icon. Some compositors read the icon from desktop files. |
Signed-off-by: Julian Orth <ju.orth@gmail.com>
@mahkoh All this Wayland-related work is intended to be committed to OpenJDK under the umbrella of project Wakefield some day. Since this patch is not created by a JetBrains employee, we won't be able to push it with the rest of the code, which will create some merging problems in the future. Would you be able to contribute this patch directly to OpenJDK so I can then pull it from there? |
I have signed the CLA which gives JetBrains a license to distribute the code under any license. Is this not sufficient? |
No. |
So should I create a PR in https://github.com/openjdk/wakefield/tree/jdk21.0.1-wayland? |
Are you an OpenJDK contributor? Have you signed https://oca.opensource.oracle.com/ already? |
I have now. |
Then you can open a PR against https://github.com/openjdk/wakefield/tree/jdk21.0.1-wayland |
FWIW, this is solved by placing |
This will be further tracked as openjdk/wakefield#7. Closing. |
This makes IntelliJ use native SSD on KDE, Sway, and Jay. On GNOME, it continues to use the existing CSD.
This solves the styling issue on compositors supporting SSD.