aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/config.c2
-rw-r--r--src/config.h1
-rw-r--r--src/picom.c9
3 files changed, 11 insertions, 1 deletions
diff --git a/src/config.c b/src/config.c
index e3ea9c6..53adeec 100644
--- a/src/config.c
+++ b/src/config.c
@@ -791,6 +791,8 @@ enum wm_support parse_wm_support(const char *src) {
return WM_SUPPORT_HERB;
} else if (strcmp(src, "dwm") == 0) {
return WM_SUPPORT_DWM;
+ } else if (strcmp(src, "legacy") == 0) {
+ return WM_SUPPORT_LEGACY;
}
return WM_SUPPORT_INVALID;
}
diff --git a/src/config.h b/src/config.h
index 4169bae..4276203 100644
--- a/src/config.h
+++ b/src/config.h
@@ -59,6 +59,7 @@ enum wm_support {
WM_SUPPORT_AWESOME,
WM_SUPPORT_HERB,
WM_SUPPORT_DWM,
+ WM_SUPPORT_LEGACY,
WM_SUPPORT_INVALID,
};
diff --git a/src/picom.c b/src/picom.c
index 6aad167..a3ed614 100644
--- a/src/picom.c
+++ b/src/picom.c
@@ -846,7 +846,14 @@ paint_preprocess(session_t *ps, bool *fade_running, bool *animation_running) {
// (uint)w->widthb, (uint)w->heightb);
// }
- win_update_bounding_shape(ps, w);
+ if (ps->o.support_for_wm == WM_SUPPORT_LEGACY) {
+ pixman_region32_clear(&w->bounding_shape);
+ pixman_region32_fini(&w->bounding_shape);
+ pixman_region32_init_rect(&w->bounding_shape, 0, 0,
+ (uint)w->widthb, (uint)w->heightb);
+ } else {
+ win_update_bounding_shape(ps, w);
+ }
if (w->state != WSTATE_DESTROYING)
win_clear_flags(w, WIN_FLAGS_PIXMAP_STALE);