From f4091dffe33f46aaf8f03f57a743782e07dbd7c5 Mon Sep 17 00:00:00 2001 From: hordepfo Date: Wed, 22 Jan 2014 16:15:58 +0000 Subject: [PATCH] Fixes transparency issues on first composited draw When using compositing and transparency, the first draw was only showing the shadow borders on the window. To fix this the opacity has to be set after the first show. Don't know why this is needed, but it's probably a bug in the underlying toolkits (maybe GTK or GDK). It still looks a little jerky the first time the window is drawn. --- usr/lib/linuxmint/mintMenu/mintMenu.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/usr/lib/linuxmint/mintMenu/mintMenu.py b/usr/lib/linuxmint/mintMenu/mintMenu.py index 0fd119e..9b6bf44 100755 --- a/usr/lib/linuxmint/mintMenu/mintMenu.py +++ b/usr/lib/linuxmint/mintMenu/mintMenu.py @@ -101,7 +101,6 @@ class MainWindow( object ): self.getSetGSettingEntries() self.SetupMintMenuBorder() - self.SetupMintMenuOpacity() self.tooltips = Gtk.Tooltips() if self.globalEnableTooltips and self.enableTooltips: @@ -124,6 +123,8 @@ class MainWindow( object ): self.settings.connect( "changed::custom-color", self.toggleCustomBackgroundColor ) self.settings.connect( "changed::border-width", self.toggleBorderWidth ) self.settings.connect( "changed::opacity", self.toggleOpacity ) + + self.firstTime = True; def on_window1_destroy (self, widget, data=None): Gtk.main_quit() @@ -436,6 +437,11 @@ class MainWindow( object ): def show( self ): self.window.present() + + # Hack for opacity not showing on first composited draw + if self.firstTime: + self.firstTime = False + self.SetupMintMenuOpacity() if ( "applications" in self.plugins ) and ( hasattr( self.plugins["applications"], "focusSearchEntry" ) ): if (self.startWithFavorites):