Commit Diff


commit - 427abd1ebdbd44d5c40936fcd4f3b02fea86f7ec
commit + 71f6d60fcf93722d77d1dd52ad5d03c214db879b
blob - e56429eb510f0c008c82ef67c0eb1e733c031c5c
blob + b91054f2e1ed4cf994980822345697d3048425b3
--- src/cmd/rio/dat.h
+++ src/cmd/rio/dat.h
@@ -162,7 +162,8 @@ extern Atom 		wm_delete;
 extern Atom 		wm_take_focus;
 extern Atom		wm_lose_focus;
 extern Atom 		wm_colormaps;
-
+extern Atom		wm_state_fullscreen;
+extern Atom		wm_state;
 /* client.c */
 extern Client		*clients;
 extern Client		*current;
blob - c7ae135c86def4dedce9bd35d92cb831b10aa5f1
blob + 0420c2bdc8025703384b574a60dcb68126521d9f
--- src/cmd/rio/event.c
+++ src/cmd/rio/event.c
@@ -337,6 +337,15 @@ clientmesg(XClientMessageEvent *e)
 				(int)e->format, (int)e->data.l[0], (int)e->window);
 		return;
 	}
+	if(e->message_type == wm_state){
+//		c = getclient(e->window, 0);
+//		if(e->format == 32 && e->data.l[1] == wm_state_fullscreen){
+//		}else
+		fprintf(stderr, "rio: WM_STATE: format %d data %d %d w 0x%x\n",
+			(int)e->format, (int)e->data.l[0], (int)e->data.l[1],
+			(int)e->window);
+		return;
+	}
 	fprintf(stderr, "rio: strange ClientMessage, type 0x%x window 0x%x\n",
 		(int)e->message_type, (int)e->window);
 }
blob - a7f3162a7e9552fe76023a2fb08e3fa6c5d8e520
blob + 4bf87852e79573958839127241cec5ed9a6a764c
--- src/cmd/rio/main.c
+++ src/cmd/rio/main.c
@@ -53,6 +53,8 @@ Atom		wm_lose_focus;
 Atom		wm_colormaps;
 Atom		_rio_running;
 Atom		_rio_hold_mode;
+Atom		wm_state_fullscreen;
+Atom		wm_state;
 
 char	*fontlist[] = {
 	"lucm.latin1.9",
@@ -180,6 +182,8 @@ main(int argc, char *argv[])
 	wm_colormaps = XInternAtom(dpy, "WM_COLORMAP_WINDOWS", False);
 	_rio_running = XInternAtom(dpy, "_9WM_RUNNING", False);
 	_rio_hold_mode = XInternAtom(dpy, "_9WM_HOLD_MODE", False);
+	wm_state = XInternAtom(dpy, "_NET_WM_STATE", False);
+	wm_state_fullscreen = XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN", False);
 
 	if(fname != 0)
 		if((font = XLoadQueryFont(dpy, fname)) == 0)