diff --git a/twin/compton-tde/compton.c b/twin/compton-tde/compton.c
index 4a78f7f..e30d396 100644
--- a/twin/compton-tde/compton.c
+++ b/twin/compton-tde/compton.c
@@ -2511,7 +2511,7 @@
XFlush(ps->dpy);
/* This needs to be here since we don't get PropertyNotify when unmapped */
- w->opacity = wid_get_opacity_prop(ps, w->id, OPAQUE);
+ calc_opacity(ps, w);
w->greyscale_blended_background = determine_window_transparency_filter_greyscale_blended(ps, id);
w->show_root_tile = determine_window_transparent_to_desktop(ps, id);
w->show_black_background = determine_window_transparent_to_black(ps, id);
@@ -2562,10 +2562,6 @@
w->in_openclose = true;
set_fade_callback(ps, w, finish_map_win, true);
win_determine_fade(ps, w);
- if (w->fade) {
- // Make sure the new window fades in properly
- w->opacity = 0;
- }
win_determine_blur_background(ps, w);
|
diff --git a/twin/compton-tde/compton.c b/twin/compton-tde/compton.c
index e30d396..d8f6223 100644
--- a/twin/compton-tde/compton.c
+++ b/twin/compton-tde/compton.c
@@ -3245,7 +3245,7 @@
if (IsViewable != w->a.map_state)
return;
- bool greyscale_background_new = (determine_window_transparency_filter_greyscale(ps, w) ||
+ bool greyscale_background_new = (determine_window_transparency_filter_greyscale(ps, &w->id) ||
(ps->o.greyscale_background && !win_match(ps, w, ps->o.greyscale_background_blacklist, &w->cache_bbblst)));
win_set_greyscale_background(ps, w, greyscale_background_new);
|
diff --git a/twin/client.cpp b/twin/client.cpp
index 4d26bb8..6581889 100644
--- a/twin/client.cpp
+++ b/twin/client.cpp
@@ -2200,8 +2200,11 @@
if ( rules()->checkAcceptFocus( input ))
{
XSetInputFocus( tqt_xdisplay(), window(), RevertToPointerRoot, GET_QT_X_TIME() );
- // Signal that we took focus!
- setActive( true, true );
+ // Work around opacity bug
+ bool activePrev = active;
+ active = true;
+ updateOpacity();
+ active = activePrev;
}
if ( Ptakefocus )
{
|