summaryrefslogtreecommitdiff
path: root/main.cpp
diff options
context:
space:
mode:
authorBossCode45 <human.cyborg42@gmail.com>2023-02-03 17:45:07 +1300
committerBossCode45 <human.cyborg42@gmail.com>2023-06-21 20:19:01 +1200
commitab3d823a8190ae6ec4a1444aa3b5a01aaa018586 (patch)
tree7ab08c3e4675a0b92383670da88e4e49db20cf28 /main.cpp
parentef998ee445e8a59a1cc5c9d15d721aabea187fd7 (diff)
downloadYATwm-ab3d823a8190ae6ec4a1444aa3b5a01aaa018586.tar.gz
YATwm-ab3d823a8190ae6ec4a1444aa3b5a01aaa018586.zip
feat: Windows that request to be fullscreen should become fullscreen - more testing neededs
Diffstat (limited to 'main.cpp')
-rw-r--r--main.cpp21
1 files changed, 21 insertions, 0 deletions
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);
}