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

Commit 30e7ee5cf61eb15806533bbe3e42f3fb91e84dba
Parent: 480be466081d23c0364fe708b2d791e837ef8c1b
Author: mcol <mcol@posteo.net>
Date: 2020-12-06 21:13:35 +0000
Committer: mcol <mcol@posteo.net>
Committed: 2020-12-06 21:13:35 +0000

add config parameter to fullscreen windows (implementation next)

src/config.c Modified

@@ -73,6 +73,8 @@
 	kb->data = calloc(strlen(data), sizeof(char));
 	strncpy(kb->data, data, strlen(data));
     }
+    else if (strcasecmp(name, "toggle_fullscreen") == 0)
+	kb->action = &toggle_fullscreen;
 }
 
 

src/action.h Modified

@@ -17,5 +17,6 @@
 void actually_set_mark(struct server *server, const xkb_keysym_t sym);
 void go_to_mark(struct server *server, void *data);
 void actually_go_to_mark(struct server *server, const xkb_keysym_t sym);
+void toggle_fullscreen(struct server *server, void *data);
 
 #endif

src/action.c Modified

@@ -187,3 +187,14 @@
 	}
     }
 }
+
+
+void toggle_fullscreen(struct server *server, void *data) {
+    struct wlr_surface *surface = server->seat->keyboard_state.focused_surface;
+    if (!surface)
+	return;
+
+    struct wlr_xdg_surface *xdg_surface = wlr_xdg_surface_from_wlr_surface(surface);
+    if (xdg_surface)
+	wlr_xdg_toplevel_set_fullscreen(xdg_surface, true);
+}

deskwm.conf Modified

@@ -38,6 +38,7 @@
 bind	Ctrl	q		close_current_window
 bind		Tab		next_desk
 bind		ISO_Left_Tab	prev_desk
+bind		f		toggle_fullscreen
 bind		i		zoom_in
 bind		o		zoom_out
 bind		r		reset_zoom