--- src/wingpanel/src/PanelWindow.vala 2016-10-21 23:51:49.434036000 +0900 +++ src/wingpanel/src/PanelWindow.vala.new 2016-10-22 00:21:00.991151961 +0900 @@ -86,7 +86,7 @@ private void on_realize () { update_panel_dimensions (); - Services.BackgroundManager.initialize (this.monitor_number, panel_height); + //Services.BackgroundManager.initialize (this.monitor_number, panel_height); timeout = Timeout.add (100 / panel_height, animation_step); } @@ -152,7 +152,7 @@ public void set_expanded (bool expanded) { if (expand && !this.expanded) { - Services.BackgroundManager.get_default ().remember_window (); + //Services.BackgroundManager.get_default ().remember_window (); this.expanded = true; @@ -163,7 +163,7 @@ this.set_size_request (monitor_width, monitor_height); } else if (!expand) { - Services.BackgroundManager.get_default ().restore_window (); + //Services.BackgroundManager.get_default ().restore_window (); this.expanded = false; --- src/wingpanel/src/Widgets/Panel.vala 2016-10-22 00:14:45.485792472 +0900 +++ src/wingpanel/src/Widgets/Panel.vala.new 2016-10-22 00:15:13.386112571 +0900 @@ -60,7 +60,7 @@ style_context = this.get_style_context (); - Services.BackgroundManager.get_default ().background_state_changed.connect (update_background); + //Services.BackgroundManager.get_default ().background_state_changed.connect (update_background); } private void add_indicator (Indicator indicator) { @@ -102,7 +102,7 @@ } } - private void update_background (Services.BackgroundState state, uint animation_duration) { + /* private void update_background (Services.BackgroundState state, uint animation_duration) { if (style_provider == null) { style_provider = new Gtk.CssProvider (); style_context.add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); @@ -146,5 +146,5 @@ style_context.remove_class ("maximized"); break; } - } + } */ } --- src/wingpanel/src/CMakeLists.txt 2017-10-13 03:28:23.119421691 +0900 +++ src/wingpanel/src/CMakeLists.txt.new 2017-10-13 03:30:12.838158479 +0900 @@ -10,7 +10,6 @@ Services/IndicatorSorter.vala Services/PopoverManager.vala Services/Settings.vala - Services/BackgroundManager.vala ) vala_precompile (CLIENT_VALA_C ${CMAKE_PROJECT_NAME} --- src/wingpanel/src/Services/BackgroundManager.vala 2018-03-04 00:30:27.781440874 +0900 +++ /dev/null 2018-03-03 20:05:09.041298375 +0900 @@ -1,133 +0,0 @@ -/* - * Copyright (c) 2011-2015 Wingpanel Developers (http://launchpad.net/wingpanel) - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program; if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA. - */ - -namespace Wingpanel.Services { - public enum BackgroundState { - LIGHT, - DARK, - MAXIMIZED, - TRANSLUCENT_DARK, - TRANSLUCENT_LIGHT - } - - [DBus (name = "org.pantheon.gala.WingpanelInterface")] - public interface InterfaceBus : Object { - public signal void state_changed (BackgroundState state, uint animation_duration); - - public abstract void initialize (int monitor, int panel_height) throws IOError; - public abstract void remember_focused_window () throws IOError; - public abstract void restore_focused_window () throws IOError; - } - - public class BackgroundManager : Object { - private const string DBUS_NAME = "org.pantheon.gala.WingpanelInterface"; - private const string DBUS_PATH = "/org/pantheon/gala/WingpanelInterface"; - - private static BackgroundManager? instance = null; - - private InterfaceBus? bus = null; - - private BackgroundState current_state = BackgroundState.LIGHT; - private bool use_transparency = true; - - private bool bus_available { - get { - return bus != null; - } - } - - private int monitor; - private int panel_height; - - public signal void background_state_changed (BackgroundState state, uint animation_duration); - - public static void initialize (int monitor, int panel_height) { - var manager = BackgroundManager.get_default (); - manager.monitor = monitor; - manager.panel_height = panel_height; - } - - private BackgroundManager () { - PanelSettings.get_default ().notify["use-transparency"].connect (() => { - use_transparency = PanelSettings.get_default ().use_transparency; - state_updated (); - }); - - use_transparency = PanelSettings.get_default ().use_transparency; - - Bus.watch_name (BusType.SESSION, DBUS_NAME, BusNameWatcherFlags.NONE, - () => connect_dbus (), - () => bus = null); - } - - public void remember_window () { - if (!bus_available) { - return; - } - - try { - bus.remember_focused_window (); - } catch (Error e) { - warning ("Remembering focused window failed: %s", e.message); - } - } - - public void restore_window () { - if (!bus_available) { - return; - } - - try { - bus.restore_focused_window (); - } catch (Error e) { - warning ("Restoring last focused window failed: %s", e.message); - } - } - - private bool connect_dbus () { - try { - bus = Bus.get_proxy_sync (BusType.SESSION, DBUS_NAME, DBUS_PATH); - bus.initialize (monitor, panel_height); - } catch (Error e) { - warning ("Connecting to \"%s\" failed: %s", DBUS_NAME, e.message); - return false; - } - - bus.state_changed.connect ((state, animation_duration) => { - current_state = state; - state_updated (animation_duration); - }); - - state_updated (); - return true; - } - - private void state_updated (uint animation_duration = 0) { - background_state_changed (use_transparency ? current_state : BackgroundState.MAXIMIZED, animation_duration); - } - - public static BackgroundManager get_default () { - if (instance == null) { - instance = new BackgroundManager (); - } - - return instance; - } - } -}