diff options
| author | allusive-dev <[email protected]> | 2023-11-03 13:07:38 +1100 |
|---|---|---|
| committer | allusive-dev <[email protected]> | 2023-11-03 13:07:38 +1100 |
| commit | 065ca0ccd1cf06a821e7273c4c922d9a9156f518 (patch) | |
| tree | 74ee093f12e668c2447408315f8f6cce03698242 | |
| parent | sample config update (diff) | |
| download | compfy-1.2.5.tar.xz compfy-1.2.5.zip | |
DWM inactive-opacity patches1.2.5
| -rw-r--r-- | meson.build | 4 | ||||
| -rw-r--r-- | src/config.c | 4 | ||||
| -rw-r--r-- | src/config.h | 1 | ||||
| -rw-r--r-- | src/win.c | 12 |
4 files changed, 15 insertions, 6 deletions
diff --git a/meson.build b/meson.build index 636c18d..716b100 100644 --- a/meson.build +++ b/meson.build @@ -1,10 +1,10 @@ -project('picom', 'c', version: '1.2.4', +project('picom', 'c', version: '1.2.5', default_options: ['c_std=c11', 'warning_level=1']) cc = meson.get_compiler('c') # use project version by default -version = 'v'+meson.project_version() +version = 'v1.2.5' # use git describe if that's available git = find_program('git', required: false) diff --git a/src/config.c b/src/config.c index d0724e8..754a7d3 100644 --- a/src/config.c +++ b/src/config.c @@ -785,8 +785,10 @@ enum open_window_animation parse_open_window_animation(const char *src) { enum wm_support parse_wm_support(const char *src) { if (strcmp(src, "none") == 0) { return WM_SUPPORT_NONE; - }else if (strcmp(src, "awesome") == 0) { + } else if (strcmp(src, "awesome") == 0) { return WM_SUPPORT_AWESOME; + } else if (strcmp(src, "dwm") == 0) { + return WM_SUPPORT_DWM; } return WM_SUPPORT_INVALID; } diff --git a/src/config.h b/src/config.h index e9f4172..d5b2107 100644 --- a/src/config.h +++ b/src/config.h @@ -57,6 +57,7 @@ enum open_window_animation { enum wm_support { WM_SUPPORT_NONE = 0, WM_SUPPORT_AWESOME, + WM_SUPPORT_DWM, WM_SUPPORT_INVALID, }; @@ -1143,9 +1143,15 @@ double win_calc_opacity_target(session_t *ps, const struct managed_win *w) { opacity = ps->o.inactive_opacity; } - // respect inactive override - if (ps->o.inactive_opacity_override && !w->focused) { - opacity = ps->o.inactive_opacity; + // Respect inactive opacity, with support for DWM. + if (ps->o.support_for_wm == WM_SUPPORT_DWM) { + if (ps->o.inactive_opacity_override && !win_is_focused_raw(ps, w)) { + opacity = ps->o.inactive_opacity; + } + } else { + if (ps->o.inactive_opacity_override && !w->focused) { + opacity = ps->o.inactive_opacity; + } } return opacity; |