gimp but for windows: a wayland compositor
git clone https://github.com/m-col/wimp
Files | Refs | Readme

Commit c1d52b45869bb6a30b15eebd2eb1bc095c8ab7a9
Parent: 24863ef9f0533fcf3247d2ef342bce80490885a7
Author: mcol <mcol@posteo.net>
Date: 2021-01-20 00:23:45 +0000
Committer: mcol <mcol@posteo.net>
Committed: 2021-01-20 00:23:45 +0000

Reset original window dimensions when unsetting fullscreen

src/shell.c Modified

@@ -44,10 +44,14 @@
 
 
 void fullscreen_xdg_surface(struct server *server, struct wlr_xdg_surface *xdg_surface) {
-
+    struct wlr_box geo;
     struct wlr_xdg_surface *prev_surface = server->current_desk->fullscreened;
+
     if (prev_surface) {
 	wlr_xdg_toplevel_set_fullscreen(prev_surface, false);
+	geo = server->current_desk->fullscreened_saved_geo;
+	xdg_surface->toplevel->server_pending.width = geo.width;
+	xdg_surface->toplevel->server_pending.height = geo.height;
 	if (prev_surface == xdg_surface) {
 	    server->current_desk->fullscreened = NULL;
 	    return;
@@ -56,6 +60,10 @@
 
     wlr_xdg_toplevel_set_fullscreen(xdg_surface, true);
     server->current_desk->fullscreened = xdg_surface;
+    server->current_desk->fullscreened_saved_geo.width = xdg_surface->geometry.width;
+    server->current_desk->fullscreened_saved_geo.height = xdg_surface->geometry.height;
+    xdg_surface->toplevel->server_pending.width = 1000;
+    xdg_surface->toplevel->server_pending.height = 1000;
 }