diff options
| author | BossCode45 <human.cyborg42@gmail.com> | 2023-02-03 17:45:07 +1300 |
|---|---|---|
| committer | BossCode45 <human.cyborg42@gmail.com> | 2023-06-21 20:19:01 +1200 |
| commit | ab3d823a8190ae6ec4a1444aa3b5a01aaa018586 (patch) | |
| tree | 7ab08c3e4675a0b92383670da88e4e49db20cf28 /main.cpp | |
| parent | ef998ee445e8a59a1cc5c9d15d721aabea187fd7 (diff) | |
| download | YATwm-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.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -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); } |
