diff options
| author | L0Wigh <mathiotthomas@gmail.com> | 2025-08-06 17:42:31 +0200 |
|---|---|---|
| committer | L0Wigh <mathiotthomas@gmail.com> | 2025-09-02 18:47:53 +0200 |
| commit | 78d135a05d3a5ab69b6c2087074e86d43632d571 (patch) | |
| tree | f98c9f3880de55177ce72b8a7a9bd510fc640315 | |
| parent | 591c5503a05f9306709f9b4a4e59ea06ec7c91a6 (diff) | |
add: the window opacity is set to 100 when fullscreen and then reset when fullscreen is disabled
| -rw-r--r-- | src/sxwm.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -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); |
