You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reported in version: HG 2.0 Reported for operating system, platform: Linux, All
Comments on the original bug report:
On 2021-02-06 23:22:42 +0000, Ethan Lee wrote:
As of the latest SDL revision, Wayland support with compositors that support XDG-Shell is nearly at feature parity - two notable absences are window position and border sizes, which we probably won't ever get Because Wayland, but a third notable issue is that the desktop has no way of knowing what our window bounds really are. As a result, a fixed-size window will still have resize UI at the borders and a maximize button that does some really strange things to the window when you click it.
Luckily this is very easy for us to fix: Much like X11 we can explicitly set the min/max size via toplevel_set_min/max_size, and the desktop will know to avoid the resize UI (on KDE it still shows a maximize button but it thankfully does nothing, not sure if making this button disappear is something for KDE to fix or what...).
I believe the places we have to add this are identical to X11, and for the most part the logic will also be the same minus skipping a few X quirks here and there:
CreateWindow
SetWindowSize
SetWindowResizable
SetWindowFullscreen
New SetWindowMinimum/SetWindowMaximum implementations
The callbacks should be able to stay as they are with no problems.
On 2021-02-07 06:20:03 +0000, Ethan Lee wrote:
Created attachment 4770
Min/Max patch for xdg-shell
This patch does the work to set min/max as described in the OP. Functionally it seems fine but Plasma's having trouble with it for some reason. I suspect we're just missing a message somewhere that will fix it, if you toggle the border (either via SetWindowBordered or SetWindowFullscreen) it correctly toggles the maximize button once it's been refreshed.
To make testing easier, here's a quick program... mind the uninitialized framebuffer:
#include <SDL.h>
int main(int argc, char **argv)
{
SDL_Window *window;
SDL_GLContext context;
SDL_Event evt;
int w;
Uint8 run = 1;
This bug report was migrated from our old Bugzilla tracker.
These attachments are available in the static archive:
Reported in version: HG 2.0
Reported for operating system, platform: Linux, All
Comments on the original bug report:
On 2021-02-06 23:22:42 +0000, Ethan Lee wrote:
On 2021-02-07 06:20:03 +0000, Ethan Lee wrote:
The text was updated successfully, but these errors were encountered: