From ab3d823a8190ae6ec4a1444aa3b5a01aaa018586 Mon Sep 17 00:00:00 2001 From: BossCode45 Date: Fri, 3 Feb 2023 17:45:07 +1300 Subject: feat: Windows that request to be fullscreen should become fullscreen - more testing neededs --- main.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp index 6f1cd9b..01f01c7 100644 --- a/main.cpp +++ b/main.cpp @@ -589,6 +589,7 @@ void fullscreen(const KeyArg arg) int cID = getFrame(fID).cID; getClient(cID).fullscreen ^= true; tileRoots(); + setFullscreen(focusedWindow, getClient(cID).fullscreen); } void configureRequest(XConfigureRequestEvent e) @@ -862,6 +863,26 @@ void clientMessage(XClientMessageEvent e) setCurrentDesktop(currWS); */ } + else if(e.message_type == XInternAtom(dpy, "_NET_WM_STATE", false)) + { + if((Atom)e.data.l[0] == 0) + log("\tremove"); + if((Atom)e.data.l[0] == 1) + log("\ttoggle"); + if((Atom)e.data.l[0] == 2) + log("\tadd"); + char* prop1 = XGetAtomName(dpy, (Atom)e.data.l[1]); + log("\tprop1"); + if((Atom)e.data.l[1] == XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN", false)) + { + int fID = getFrameID(e.window); + int cID = getFrame(fID).cID; + getClient(cID).fullscreen = (Atom) e.data.l[0] == 1; + setFullscreen(e.window, (Atom) e.data.l[0] == 1); + tileRoots(); + } + XFree(prop1); + } XFree(name); } -- cgit v1.2.3