summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorL0Wigh <mathiotthomas@gmail.com>2025-08-06 17:42:31 +0200
committerL0Wigh <mathiotthomas@gmail.com>2025-09-02 18:47:53 +0200
commit78d135a05d3a5ab69b6c2087074e86d43632d571 (patch)
treef98c9f3880de55177ce72b8a7a9bd510fc640315 /src
parent591c5503a05f9306709f9b4a4e59ea06ec7c91a6 (diff)
add: the window opacity is set to 100 when fullscreen and then reset when fullscreen is disabled
Diffstat (limited to 'src')
-rw-r--r--src/sxwm.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/sxwm.c b/src/sxwm.c
index 843b133..1b3902b 100644
--- a/src/sxwm.c
+++ b/src/sxwm.c
@@ -2630,6 +2630,22 @@ void toggle_floating_global(void)
update_borders();
}
+void set_opacity(Window w, double opacity)
+{
+ unsigned long op = (unsigned long)(opacity * 0xFFFFFFFF);
+ Atom atom = XInternAtom(dpy, "_NET_WM_WINDOW_OPACITY", False);
+
+ if (opacity < 0.0) opacity = 0.0;
+ if (opacity > 1.0) opacity = 1.0;
+ XChangeProperty(dpy, w, atom, XA_CARDINAL, 32, PropModeReplace, (unsigned char *)&op, 1);
+}
+
+void reset_opacity(Window w)
+{
+ Atom atom = XInternAtom(dpy, "_NET_WM_WINDOW_OPACITY", False);
+ XDeleteProperty(dpy, w, atom);
+}
+
void toggle_fullscreen(void)
{
if (!focused) {
@@ -2659,10 +2675,12 @@ void toggle_fullscreen(void)
XSetWindowBorderWidth(dpy, focused->win, 0);
XMoveResizeWindow(dpy, focused->win, fs_x, fs_y, fs_w, fs_h);
XRaiseWindow(dpy, focused->win);
+ set_opacity(focused->win, 100);
}
else {
XMoveResizeWindow(dpy, focused->win, focused->orig_x, focused->orig_y, focused->orig_w, focused->orig_h);
XSetWindowBorderWidth(dpy, focused->win, user_config.border_width);
+ reset_opacity(focused->win);
if (!focused->floating) {
focused->mon = get_monitor_for(focused);