dst/source/patch/fullscreen.d

27 lines
738 B
D
Raw Normal View History

2025-06-26 18:47:07 +00:00
module patch.fullscreen;
import st;
import x;
import config;
import patches;
import deimos.X11.Xlib;
import core.stdc.string;
static if (isPatchEnabled!"FULLSCREEN_PATCH") {
extern(C) void fullscreen(const(Arg)* arg) {
XEvent ev;
memset(&ev, 0, XEvent.sizeof);
ev.xclient.type = ClientMessage;
ev.xclient.message_type = xw.netwmstate;
ev.xclient.display = xw.dpy;
ev.xclient.window = xw.win;
ev.xclient.format = 32;
ev.xclient.data.l[0] = 2; /* _NET_WM_STATE_TOGGLE */
ev.xclient.data.l[1] = xw.netwmfullscreen;
XSendEvent(xw.dpy, DefaultRootWindow(xw.dpy), False,
SubstructureNotifyMask | SubstructureRedirectMask, &ev);
}
}