mirror of
https://github.com/yshui/picom.git
synced 2024-11-11 13:51:02 -05:00
Honor opacity prop if set
If opacity prop is explicitly set on the window, active/inactive opacity shouldn't kick in.
This commit is contained in:
parent
91ca387723
commit
66785aae99
1 changed files with 12 additions and 10 deletions
|
@ -2377,19 +2377,21 @@ calc_opacity(session_t *ps, win *w) {
|
|||
opacity = 0;
|
||||
else {
|
||||
// Try obeying opacity property and window type opacity firstly
|
||||
if (OPAQUE == (opacity = w->opacity_prop)) {
|
||||
if(w->has_opacity_prop)
|
||||
opacity = w->opacity_prop;
|
||||
else {
|
||||
opacity = ps->o.wintype_opacity[w->window_type] * OPAQUE;
|
||||
}
|
||||
|
||||
// Respect inactive_opacity in some cases
|
||||
if (ps->o.inactive_opacity && false == w->focused
|
||||
&& (OPAQUE == opacity || ps->o.inactive_opacity_override)) {
|
||||
opacity = ps->o.inactive_opacity;
|
||||
}
|
||||
// Respect inactive_opacity in some cases
|
||||
if (ps->o.inactive_opacity && false == w->focused
|
||||
&& (OPAQUE == opacity || ps->o.inactive_opacity_override)) {
|
||||
opacity = ps->o.inactive_opacity;
|
||||
}
|
||||
|
||||
// Respect active_opacity only when the window is physically focused
|
||||
if (OPAQUE == opacity && ps->o.active_opacity && win_is_focused_real(ps, w))
|
||||
opacity = ps->o.active_opacity;
|
||||
// Respect active_opacity only when the window is physically focused
|
||||
if (OPAQUE == opacity && ps->o.active_opacity && win_is_focused_real(ps, w))
|
||||
opacity = ps->o.active_opacity;
|
||||
}
|
||||
}
|
||||
|
||||
w->opacity_tgt = opacity;
|
||||
|
|
Loading…
Reference in a new issue