diff --git a/man/compton.1.asciidoc b/man/compton.1.asciidoc index 95729499..d4be4875 100644 --- a/man/compton.1.asciidoc +++ b/man/compton.1.asciidoc @@ -69,7 +69,7 @@ OPTIONS Equals to *-f*. Deprecated. *-i*, *--inactive-opacity*='OPACITY':: - Opacity of inactive windows. (0.1 - 1.0, disabled by default) + Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) *-e*, *--frame-opacity*='OPACITY':: Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) @@ -105,7 +105,7 @@ OPTIONS Let inactive opacity set by *-i* overrides the windows' '_NET_WM_OPACITY' values. *--active-opacity* 'OPACITY':: - Default opacity for active windows. (0.0 - 1.0) + Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) *--inactive-dim* 'VALUE':: Dim inactive windows. (0.0 - 1.0, defaults to 0.0) diff --git a/src/compton.c b/src/compton.c index 3be168dc..60149937 100644 --- a/src/compton.c +++ b/src/compton.c @@ -2379,22 +2379,19 @@ calc_opacity(session_t *ps, win *w) { // Try obeying opacity property and window type opacity firstly if(w->has_opacity_prop) opacity = w->opacity_prop; - else { - if (!isnan(ps->o.wintype_opacity[w->window_type])) + else if (!isnan(ps->o.wintype_opacity[w->window_type])) opacity = ps->o.wintype_opacity[w->window_type] * OPAQUE; - else { - // Respect active_opacity only when the window is physically focused - if (ps->o.active_opacity && win_is_focused_real(ps, w)) - opacity = ps->o.active_opacity; - else if (ps->o.inactive_opacity && false == w->focused) - // Respect inactive_opacity in some cases - opacity = ps->o.inactive_opacity; - } + else { + // Respect active_opacity only when the window is physically focused + if (win_is_focused_real(ps, w)) + opacity = ps->o.active_opacity; + else if (false == w->focused) + // Respect inactive_opacity in some cases + opacity = ps->o.inactive_opacity; } // respect inactive override - if (ps->o.inactive_opacity && false == w->focused && - ps->o.inactive_opacity_override) + if (ps->o.inactive_opacity_override && false == w->focused) opacity = ps->o.inactive_opacity; } @@ -6060,12 +6057,6 @@ get_cfg(session_t *ps, int argc, char *const *argv, bool first_pass) { cfgtmp.menu_opacity = normalize_d(cfgtmp.menu_opacity); ps->o.refresh_rate = normalize_i_range(ps->o.refresh_rate, 0, 300); ps->o.alpha_step = normalize_d_range(ps->o.alpha_step, 0.01, 1.0); - if (OPAQUE == ps->o.inactive_opacity) { - ps->o.inactive_opacity = 0; - } - if (OPAQUE == ps->o.active_opacity) { - ps->o.active_opacity = 0; - } if (shadow_enable) wintype_arr_enable(ps->o.wintype_shadow); ps->o.wintype_shadow[WINTYPE_DESKTOP] = false; @@ -6090,7 +6081,8 @@ get_cfg(session_t *ps, int argc, char *const *argv, bool first_pass) { // Other variables determined by options // Determine whether we need to track focus changes - if (ps->o.inactive_opacity || ps->o.active_opacity || ps->o.inactive_dim) { + if (ps->o.inactive_opacity != ps->o.active_opacity || + ps->o.inactive_dim) { ps->o.track_focus = true; } @@ -7027,9 +7019,9 @@ session_init(session_t *ps_old, int argc, char **argv) { .fade_blacklist = NULL, .wintype_opacity = { NAN }, - .inactive_opacity = 0, + .inactive_opacity = OPAQUE, .inactive_opacity_override = false, - .active_opacity = 0, + .active_opacity = OPAQUE, .frame_opacity = 0.0, .detect_client_opacity = false, .alpha_step = 0.03,