summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD8
-rw-r--r--minus-backgroundmanager.patch236
-rw-r--r--minus-galaplugin.patch422
4 files changed, 273 insertions, 401 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 6efed2e79317..d5b2f1b89156 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = wingpanel-standalone-git
pkgdesc = Stylish top panel that holds indicators and spawns an application launcher (without Gala dependencies)
- pkgver = r349.a437def
- pkgrel = 3
+ pkgver = r351.ce82b43
+ pkgrel = 1
url = https://github.com/elementary/wingpanel
arch = i686
arch = x86_64
@@ -47,8 +47,8 @@ pkgbase = wingpanel-standalone-git
source = y-is-broken-cogl.patch
source = autohide.patch
sha256sums = SKIP
- sha256sums = 37b3853f5e8a84a4d86c392beb0b422e03c71c7c53519f49883bfa5550979ae8
- sha256sums = e56bc3b154539b6ae2ca7494f46f6f68c55f167b73203b92d645839bf8e9a5ea
+ sha256sums = edce8ae7810a0782cabb0a7cbe7857c47502ca11595d11a26c1d24234f76a54a
+ sha256sums = fa564fa2ce3da51adf4babaaa7dda4a18b1ce900acaf5e19df81d49b593200e3
sha256sums = 47934e9aff119cedcfe7d184078ad60d3d715e07f1ca7cb1715e50b2e0c517e8
sha256sums = b1902c1d44ac546df63cd0224a7d2ef2cb6394ca556512c30c370d387db7bbab
sha256sums = da77ed83459b7d49056f35b9de1dd8b487b3c51234911f43b2fa401a38b6dd4a
diff --git a/PKGBUILD b/PKGBUILD
index 243492b69c8e..4eaf0f19d723 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,8 +2,8 @@
# Contributor: Maxime Gauduin <alucryd@archlinux.org>
pkgname=wingpanel-standalone-git
-pkgver=r349.a437def
-pkgrel=3
+pkgver=r351.ce82b43
+pkgrel=1
pkgdesc='Stylish top panel that holds indicators and spawns an application launcher (without Gala dependencies)'
arch=('i686' 'x86_64')
url='https://github.com/elementary/wingpanel'
@@ -29,8 +29,8 @@ source=('git+https://github.com/elementary/wingpanel.git'
'y-is-broken-cogl.patch'
'autohide.patch')
sha256sums=('SKIP'
- '37b3853f5e8a84a4d86c392beb0b422e03c71c7c53519f49883bfa5550979ae8'
- 'e56bc3b154539b6ae2ca7494f46f6f68c55f167b73203b92d645839bf8e9a5ea'
+ 'edce8ae7810a0782cabb0a7cbe7857c47502ca11595d11a26c1d24234f76a54a'
+ 'fa564fa2ce3da51adf4babaaa7dda4a18b1ce900acaf5e19df81d49b593200e3'
'47934e9aff119cedcfe7d184078ad60d3d715e07f1ca7cb1715e50b2e0c517e8'
'b1902c1d44ac546df63cd0224a7d2ef2cb6394ca556512c30c370d387db7bbab'
'da77ed83459b7d49056f35b9de1dd8b487b3c51234911f43b2fa401a38b6dd4a')
diff --git a/minus-backgroundmanager.patch b/minus-backgroundmanager.patch
index 764b60342c93..9a54da96cfb9 100644
--- a/minus-backgroundmanager.patch
+++ b/minus-backgroundmanager.patch
@@ -108,9 +108,9 @@
)
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 @@
+--- src/wingpanel/wingpanel-interface/BackgroundManager.vala 2018-05-13 16:35:27.438070885 +0900
++++ /dev/null 2018-05-12 19:49:31.706719886 +0900
+@@ -1,204 +0,0 @@
-/*
- * Copyright (c) 2011-2015 Wingpanel Developers (http://launchpad.net/wingpanel)
- *
@@ -130,117 +130,189 @@
- * Boston, MA 02110-1301 USA.
- */
-
--namespace Wingpanel.Services {
-- public enum BackgroundState {
-- LIGHT,
-- DARK,
-- MAXIMIZED,
-- TRANSLUCENT_DARK,
-- TRANSLUCENT_LIGHT
+-public enum BackgroundState {
+- LIGHT,
+- DARK,
+- MAXIMIZED,
+- TRANSLUCENT_DARK,
+- TRANSLUCENT_LIGHT
+-}
+-
+-public class WingpanelInterface.BackgroundManager : Object {
+- private const int WALLPAPER_TRANSITION_DURATION = 150;
+- private const double ACUTANCE_THRESHOLD = 8;
+- private const double STD_THRESHOLD = 45;
+- private const double LUMINANCE_THRESHOLD = 180;
+-
+- public signal void state_changed (BackgroundState state, uint animation_duration);
+-
+- public int monitor { private get; construct; }
+- public int panel_height{ private get; construct; }
+-
+- private ulong wallpaper_hook_id;
+-
+- private Meta.Workspace? current_workspace = null;
+-
+- private BackgroundState current_state = BackgroundState.LIGHT;
+-
+- private Utils.ColorInformation? bk_color_info = null;
+-
+- public BackgroundManager (int monitor, int panel_height) {
+- Object (monitor : monitor, panel_height: panel_height);
+-
+- connect_signals ();
+- update_bk_color_info.begin ((obj, res) => {
+- update_bk_color_info.end (res);
+- update_current_workspace ();
+- });
+- }
+-
+- ~BackgroundManager () {
+- var signal_id = GLib.Signal.lookup ("changed", Main.wm.background_group.get_type ());
+- GLib.Signal.remove_emission_hook (signal_id, wallpaper_hook_id);
- }
-
-- [DBus (name = "org.pantheon.gala.WingpanelInterface")]
-- public interface InterfaceBus : Object {
-- public signal void state_changed (BackgroundState state, uint animation_duration);
+- private void connect_signals () {
+- Main.screen.workspace_switched.connect (() => {
+- update_current_workspace ();
+- });
-
-- 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;
+- var signal_id = GLib.Signal.lookup ("changed", Main.wm.background_group.get_type ());
+-
+- wallpaper_hook_id = GLib.Signal.add_emission_hook (signal_id, 0, (ihint, param_values) => {
+- update_bk_color_info.begin ((obj, res) => {
+- update_bk_color_info.end (res);
+- check_for_state_change (WALLPAPER_TRANSITION_DURATION);
+- });
+-
+- return true;
+-#if VALA_0_42
+- });
+-#else
+- }, null);
+-#endif
- }
-
-- public class BackgroundManager : Object {
-- private const string DBUS_NAME = "org.pantheon.gala.WingpanelInterface";
-- private const string DBUS_PATH = "/org/pantheon/gala/WingpanelInterface";
+- private void update_current_workspace () {
+- var workspace = Main.screen.get_workspace_by_index (Main.screen.get_active_workspace_index ());
+-
+- if (workspace == null) {
+- warning ("Cannot get active workspace");
-
-- private static BackgroundManager? instance = null;
+- return;
+- }
-
-- private InterfaceBus? bus = null;
+- if (current_workspace != null) {
+- current_workspace.window_added.disconnect (on_window_added);
+- current_workspace.window_removed.disconnect (on_window_removed);
+- }
-
-- private BackgroundState current_state = BackgroundState.LIGHT;
-- private bool use_transparency = true;
+- current_workspace = workspace;
-
-- private bool bus_available {
-- get {
-- return bus != null;
+- foreach (Meta.Window window in current_workspace.list_windows ()) {
+- if (window.is_on_primary_monitor ()) {
+- register_window (window);
- }
- }
-
-- private int monitor;
-- private int panel_height;
+- current_workspace.window_added.connect (on_window_added);
+- current_workspace.window_removed.connect (on_window_removed);
-
-- public signal void background_state_changed (BackgroundState state, uint animation_duration);
+- check_for_state_change (AnimationSettings.get_default ().workspace_switch_duration);
+- }
-
-- public static void initialize (int monitor, int panel_height) {
-- var manager = BackgroundManager.get_default ();
-- manager.monitor = monitor;
-- manager.panel_height = panel_height;
-- }
+- private void register_window (Meta.Window window) {
+- window.notify["maximized-vertically"].connect (() => {
+- check_for_state_change (AnimationSettings.get_default ().snap_duration);
+- });
-
-- private BackgroundManager () {
-- PanelSettings.get_default ().notify["use-transparency"].connect (() => {
-- use_transparency = PanelSettings.get_default ().use_transparency;
-- state_updated ();
-- });
+- window.notify["minimized"].connect (() => {
+- check_for_state_change (AnimationSettings.get_default ().minimize_duration);
+- });
+- }
-
-- use_transparency = PanelSettings.get_default ().use_transparency;
+- private void on_window_added (Meta.Window window) {
+- register_window (window);
-
-- Bus.watch_name (BusType.SESSION, DBUS_NAME, BusNameWatcherFlags.NONE,
-- () => connect_dbus (),
-- () => bus = null);
-- }
+- check_for_state_change (AnimationSettings.get_default ().snap_duration);
+- }
-
-- public void remember_window () {
-- if (!bus_available) {
-- return;
-- }
+- private void on_window_removed (Meta.Window window) {
+- check_for_state_change (AnimationSettings.get_default ().snap_duration);
+- }
+-
+- public async void update_bk_color_info () {
+- SourceFunc callback = update_bk_color_info.callback;
+- Gdk.Rectangle monitor_geometry;
-
+- Gdk.Screen.get_default ().get_monitor_geometry (monitor, out monitor_geometry);
+-
+- Utils.get_background_color_information.begin (Main.wm, monitor, 0, 0, monitor_geometry.width, panel_height, (obj, res) => {
- try {
-- bus.remember_focused_window ();
+- bk_color_info = Utils.get_background_color_information.end (res);
- } catch (Error e) {
-- warning ("Remembering focused window failed: %s", e.message);
+- warning (e.message);
+- } finally {
+- callback ();
- }
-- }
+- });
+-
+- yield;
+- }
-
-- public void restore_window () {
-- if (!bus_available) {
-- return;
-- }
+- /**
+- * Check if Wingpanel's background state should change.
+- *
+- * The state is defined as follows:
+- * - If there's a maximized window, the state should be MAXIMIZED;
+- * - If no information about the background could be gathered, it should be TRANSLUCENT;
+- * - If there's too much contrast or sharpness, it should be TRANSLUCENT;
+- * - If the background is too bright, it should be DARK;
+- * - Else it should be LIGHT.
+- */
+- private void check_for_state_change (uint animation_duration) {
+- bool has_maximized_window = false;
-
-- try {
-- bus.restore_focused_window ();
-- } catch (Error e) {
-- warning ("Restoring last focused window failed: %s", e.message);
+- foreach (Meta.Window window in current_workspace.list_windows ()) {
+- if (window.get_monitor () == monitor) {
+- if (!window.minimized && window.maximized_vertically) {
+- has_maximized_window = true;
+- break;
+- }
- }
- }
-
-- 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;
-- }
+- BackgroundState new_state;
-
-- bus.state_changed.connect ((state, animation_duration) => {
-- current_state = state;
-- state_updated (animation_duration);
-- });
+- if (has_maximized_window) {
+- new_state = BackgroundState.MAXIMIZED;
+- } else if (bk_color_info == null) {
+- new_state = BackgroundState.TRANSLUCENT_LIGHT;
+- } else {
+- var luminance_std = Math.sqrt (bk_color_info.luminance_variance);
-
-- state_updated ();
-- return true;
-- }
+- bool bg_is_busy = luminance_std > STD_THRESHOLD ||
+- (bk_color_info.mean_luminance < LUMINANCE_THRESHOLD &&
+- bk_color_info.mean_luminance + 1.645 * luminance_std > LUMINANCE_THRESHOLD ) ||
+- bk_color_info.mean_acutance > ACUTANCE_THRESHOLD;
-
-- private void state_updated (uint animation_duration = 0) {
-- background_state_changed (use_transparency ? current_state : BackgroundState.MAXIMIZED, animation_duration);
-- }
+- bool bg_is_dark = bk_color_info.mean_luminance > LUMINANCE_THRESHOLD;
+- bool bg_is_busy_dark = bk_color_info.mean_luminance * 1.25 > LUMINANCE_THRESHOLD;
-
-- public static BackgroundManager get_default () {
-- if (instance == null) {
-- instance = new BackgroundManager ();
-- }
+- if (bg_is_busy && bg_is_busy_dark) {
+- new_state = BackgroundState.TRANSLUCENT_DARK;
+- } else if (bg_is_busy) {
+- new_state = BackgroundState.TRANSLUCENT_LIGHT;
+- } else if (bg_is_dark) {
+- new_state = BackgroundState.DARK;
+- } else {
+- new_state = BackgroundState.LIGHT;
+- }
+- }
-
-- return instance;
+- if (new_state != current_state) {
+- state_changed (current_state = new_state, animation_duration);
- }
- }
-}
+
diff --git a/minus-galaplugin.patch b/minus-galaplugin.patch
index 9880b96da088..a4db0673fbe5 100644
--- a/minus-galaplugin.patch
+++ b/minus-galaplugin.patch
@@ -204,209 +204,6 @@
- return instance;
- }
-}
---- src/wingpanel/wingpanel-interface/BackgroundManager.vala 2018-03-04 00:34:31.570427741 +0900
-+++ /dev/null 2018-03-03 20:05:09.041298375 +0900
-@@ -1,200 +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.
-- */
--
--public enum BackgroundState {
-- LIGHT,
-- DARK,
-- MAXIMIZED,
-- TRANSLUCENT_DARK,
-- TRANSLUCENT_LIGHT
--}
--
--public class WingpanelInterface.BackgroundManager : Object {
-- private const int WALLPAPER_TRANSITION_DURATION = 150;
-- private const double ACUTANCE_THRESHOLD = 8;
-- private const double STD_THRESHOLD = 45;
-- private const double LUMINANCE_THRESHOLD = 180;
--
-- public signal void state_changed (BackgroundState state, uint animation_duration);
--
-- public int monitor { private get; construct; }
-- public int panel_height{ private get; construct; }
--
-- private ulong wallpaper_hook_id;
--
-- private Meta.Workspace? current_workspace = null;
--
-- private BackgroundState current_state = BackgroundState.LIGHT;
--
-- private Utils.ColorInformation? bk_color_info = null;
--
-- public BackgroundManager (int monitor, int panel_height) {
-- Object (monitor : monitor, panel_height: panel_height);
--
-- connect_signals ();
-- update_bk_color_info.begin ((obj, res) => {
-- update_bk_color_info.end (res);
-- update_current_workspace ();
-- });
-- }
--
-- ~BackgroundManager () {
-- var signal_id = GLib.Signal.lookup ("changed", Main.wm.background_group.get_type ());
-- GLib.Signal.remove_emission_hook (signal_id, wallpaper_hook_id);
-- }
--
-- private void connect_signals () {
-- Main.screen.workspace_switched.connect (() => {
-- update_current_workspace ();
-- });
--
-- var signal_id = GLib.Signal.lookup ("changed", Main.wm.background_group.get_type ());
--
-- wallpaper_hook_id = GLib.Signal.add_emission_hook (signal_id, 0, (ihint, param_values) => {
-- update_bk_color_info.begin ((obj, res) => {
-- update_bk_color_info.end (res);
-- check_for_state_change (WALLPAPER_TRANSITION_DURATION);
-- });
--
-- return true;
-- }, null);
-- }
--
-- private void update_current_workspace () {
-- var workspace = Main.screen.get_workspace_by_index (Main.screen.get_active_workspace_index ());
--
-- if (workspace == null) {
-- warning ("Cannot get active workspace");
--
-- return;
-- }
--
-- if (current_workspace != null) {
-- current_workspace.window_added.disconnect (on_window_added);
-- current_workspace.window_removed.disconnect (on_window_removed);
-- }
--
-- current_workspace = workspace;
--
-- foreach (Meta.Window window in current_workspace.list_windows ()) {
-- if (window.is_on_primary_monitor ()) {
-- register_window (window);
-- }
-- }
--
-- current_workspace.window_added.connect (on_window_added);
-- current_workspace.window_removed.connect (on_window_removed);
--
-- check_for_state_change (AnimationSettings.get_default ().workspace_switch_duration);
-- }
--
-- private void register_window (Meta.Window window) {
-- window.notify["maximized-vertically"].connect (() => {
-- check_for_state_change (AnimationSettings.get_default ().snap_duration);
-- });
--
-- window.notify["minimized"].connect (() => {
-- check_for_state_change (AnimationSettings.get_default ().minimize_duration);
-- });
-- }
--
-- private void on_window_added (Meta.Window window) {
-- register_window (window);
--
-- check_for_state_change (AnimationSettings.get_default ().snap_duration);
-- }
--
-- private void on_window_removed (Meta.Window window) {
-- check_for_state_change (AnimationSettings.get_default ().snap_duration);
-- }
--
-- public async void update_bk_color_info () {
-- SourceFunc callback = update_bk_color_info.callback;
-- Gdk.Rectangle monitor_geometry;
--
-- Gdk.Screen.get_default ().get_monitor_geometry (monitor, out monitor_geometry);
--
-- Utils.get_background_color_information.begin (Main.wm, monitor, 0, 0, monitor_geometry.width, panel_height, (obj, res) => {
-- try {
-- bk_color_info = Utils.get_background_color_information.end (res);
-- } catch (Error e) {
-- warning (e.message);
-- } finally {
-- callback ();
-- }
-- });
--
-- yield;
-- }
--
-- /**
-- * Check if Wingpanel's background state should change.
-- *
-- * The state is defined as follows:
-- * - If there's a maximized window, the state should be MAXIMIZED;
-- * - If no information about the background could be gathered, it should be TRANSLUCENT;
-- * - If there's too much contrast or sharpness, it should be TRANSLUCENT;
-- * - If the background is too bright, it should be DARK;
-- * - Else it should be LIGHT.
-- */
-- private void check_for_state_change (uint animation_duration) {
-- bool has_maximized_window = false;
--
-- foreach (Meta.Window window in current_workspace.list_windows ()) {
-- if (window.get_monitor () == monitor) {
-- if (!window.minimized && window.maximized_vertically) {
-- has_maximized_window = true;
-- break;
-- }
-- }
-- }
--
-- BackgroundState new_state;
--
-- if (has_maximized_window) {
-- new_state = BackgroundState.MAXIMIZED;
-- } else if (bk_color_info == null) {
-- new_state = BackgroundState.TRANSLUCENT_LIGHT;
-- } else {
-- var luminance_std = Math.sqrt (bk_color_info.luminance_variance);
--
-- bool bg_is_busy = luminance_std > STD_THRESHOLD ||
-- (bk_color_info.mean_luminance < LUMINANCE_THRESHOLD &&
-- bk_color_info.mean_luminance + 1.645 * luminance_std > LUMINANCE_THRESHOLD ) ||
-- bk_color_info.mean_acutance > ACUTANCE_THRESHOLD;
--
-- bool bg_is_dark = bk_color_info.mean_luminance > LUMINANCE_THRESHOLD;
-- bool bg_is_busy_dark = bk_color_info.mean_luminance * 1.25 > LUMINANCE_THRESHOLD;
--
-- if (bg_is_busy && bg_is_busy_dark) {
-- new_state = BackgroundState.TRANSLUCENT_DARK;
-- } else if (bg_is_busy) {
-- new_state = BackgroundState.TRANSLUCENT_LIGHT;
-- } else if (bg_is_dark) {
-- new_state = BackgroundState.DARK;
-- } else {
-- new_state = BackgroundState.LIGHT;
-- }
-- }
--
-- if (new_state != current_state) {
-- state_changed (current_state = new_state, animation_duration);
-- }
-- }
--}
--- src/wingpanel/wingpanel-interface/DBusServer.vala 2017-10-13 03:00:24.840092343 +0900
+++ /dev/null 2017-10-13 01:49:26.502721048 +0900
@@ -1,40 +0,0 @@
@@ -450,9 +247,113 @@
- FocusManager.get_default ().restore_focused_window ();
- }
-}
---- src/wingpanel/wingpanel-interface/Utils.vala 2017-10-13 03:00:24.841092296 +0900
-+++ /dev/null 2017-10-13 01:49:26.502721048 +0900
-@@ -1,199 +0,0 @@
+--- src/wingpanel/CMakeLists.txt 2017-10-13 03:25:28.007664080 +0900
++++ src/wingpanel/CMakeLists.txt.new 2017-10-13 03:27:00.135900068 +0900
+@@ -121,8 +121,6 @@
+ set (DEPS_LIBRARIES ${DEPS_LIBRARIES} ${LIB_NAME})
+ add_subdirectory (src)
+
+-add_subdirectory (wingpanel-interface)
+-
+ if (BUILD_SAMPLE)
+ add_subdirectory (sample)
+ endif ()
+--- src/wingpanel/wingpanel-interface/CMakeLists.txt 2018-03-05 15:53:08.967254520 +0900
++++ /dev/null 2018-03-05 14:42:26.994151215 +0900
+@@ -1,90 +0,0 @@
+-find_package (PkgConfig)
+-
+-pkg_check_modules (PLUGIN REQUIRED gala granite)
+-
+-add_definitions (${PLUGIN_CFLAGS})
+-link_directories (${PLUGIN_LIBRARY_DIRS})
+-set (WINGPANELINTERFACE "wingpanel-interface")
+-
+-find_package (Vala REQUIRED)
+-include (ValaVersion)
+-ensure_vala_version ("0.12.0" MINIMUM)
+-
+-# We need to know which version of the Mutter API is in use
+-pkg_check_modules(MUTTER320 QUIET libmutter>=3.19)
+-pkg_check_modules(MUTTER322 QUIET libmutter>=3.21)
+-pkg_check_modules(MUTTER324 QUIET libmutter-0>=3.23.90)
+-pkg_check_modules(MUTTER326 QUIET libmutter-1>=3.25.90)
+-pkg_check_modules(MUTTER328 QUIET libmutter-2>=3.27.91)
+-
+-set (EXTRA_VALA_FLAGS "")
+-set (EXTRA_MUTTER_PKS cogl-1.0 clutter-1.0 libmutter)
+-set (EXTRA_MUTTER_PACKAGES cogl-1.0 clutter-1.0 libmutter)
+-if (MUTTER320_FOUND)
+- set (EXTRA_VALA_FLAGS ${EXTRA_VALA_FLAGS} --define HAS_MUTTER320)
+-endif ()
+-
+-if (MUTTER322_FOUND)
+- set (EXTRA_VALA_FLAGS ${EXTRA_VALA_FLAGS} --define HAS_MUTTER322)
+- set (EXTRA_MUTTER_PKS mutter-cogl-1.0 mutter-cogl-pango-1.0 mutter-cogl-path-1.0 mutter-clutter-1.0 libmutter)
+- set (EXTRA_MUTTER_PACKAGES mutter-cogl-1.0 mutter-clutter-1.0)
+-endif ()
+-
+-if (MUTTER324_FOUND)
+- set (EXTRA_VALA_FLAGS ${EXTRA_VALA_FLAGS} --define HAS_MUTTER320 --define HAS_MUTTER322 --define HAS_MUTTER324)
+- set (EXTRA_MUTTER_PKS mutter-cogl-0 mutter-cogl-pango-0 mutter-cogl-path-0 mutter-clutter-0 libmutter-0)
+- set (EXTRA_MUTTER_PACKAGES mutter-cogl-0 mutter-clutter-0)
+-endif ()
+-
+-if (MUTTER326_FOUND)
+- set (EXTRA_VALA_FLAGS ${EXTRA_VALA_FLAGS} --define HAS_MUTTER320 --define HAS_MUTTER322 --define HAS_MUTTER324 --define HAS_MUTTER326)
+- set (EXTRA_MUTTER_PKS mutter-cogl-1 mutter-cogl-pango-1 mutter-cogl-path-1 mutter-clutter-1 libmutter-1)
+- set (EXTRA_MUTTER_PACKAGES mutter-cogl-1 mutter-clutter-1)
+-endif ()
+-
+-if (MUTTER328_FOUND)
+- set (EXTRA_VALA_FLAGS ${EXTRA_VALA_FLAGS} --define HAS_MUTTER320 --define HAS_MUTTER322 --define HAS_MUTTER324 --define HAS_MUTTER326 --define HAS_MUTTER328)
+- set (EXTRA_MUTTER_PKS mutter-cogl-2 mutter-cogl-pango-2 mutter-cogl-path-2 mutter-clutter-2 libmutter-2)
+- set (EXTRA_MUTTER_PACKAGES mutter-cogl-2 mutter-clutter-2)
+-endif ()
+-
+-pkg_check_modules (PLUGIN_MUTTER REQUIRED ${EXTRA_MUTTER_PKS})
+-
+-include (ValaPrecompile)
+-vala_precompile (VALA_C ${WINGPANELINTERFACE}
+- Main.vala
+- DBusServer.vala
+- BackgroundManager.vala
+- FocusManager.vala
+- Settings.vala
+- Utils.vala
+-PACKAGES
+- gala
+- granite
+- cogl-fixes
+- ${EXTRA_MUTTER_PACKAGES}
+-OPTIONS
+- --thread
+- --vapidir=${CMAKE_SOURCE_DIR}/vapi
+- ${EXTRA_VALA_FLAGS}
+-)
+-
+-add_library (${WINGPANELINTERFACE} MODULE ${VALA_C})
+-target_link_libraries(${WINGPANELINTERFACE} ${PLUGIN_LIBRARIES} ${PLUGIN_MUTTER_LIBRARIES} m)
+-
+-# Add -rpath ldflag if libgala is using mutter >= 3.21 to pick up libmutter-*.so
+-if (MUTTER328_FOUND)
+- _pkgconfig_invoke("libmutter-2" MUTTER TYPELIB_DIR "" "--variable=typelibdir")
+- set_target_properties(${WINGPANELINTERFACE} PROPERTIES LINK_FLAGS -Wl,-rpath,${MUTTER_TYPELIB_DIR})
+-elseif (MUTTER326_FOUND)
+- _pkgconfig_invoke("libmutter-1" MUTTER TYPELIB_DIR "" "--variable=typelibdir")
+- set_target_properties(${WINGPANELINTERFACE} PROPERTIES LINK_FLAGS -Wl,-rpath,${MUTTER_TYPELIB_DIR})
+-elseif (MUTTER324_FOUND)
+- _pkgconfig_invoke("libmutter-0" MUTTER TYPELIB_DIR "" "--variable=typelibdir")
+- set_target_properties(${WINGPANELINTERFACE} PROPERTIES LINK_FLAGS -Wl,-rpath,${MUTTER_TYPELIB_DIR})
+-elseif (MUTTER322_FOUND)
+- _pkgconfig_invoke("libmutter" MUTTER TYPELIB_DIR "" "--variable=typelibdir")
+- set_target_properties(${WINGPANELINTERFACE} PROPERTIES LINK_FLAGS -Wl,-rpath,${MUTTER_TYPELIB_DIR})
+-endif ()
+-
+-install (TARGETS ${WINGPANELINTERFACE} DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/gala/plugins)
+--- src/wingpanel/wingpanel-interface/Utils.vala 2018-05-13 16:35:27.438070885 +0900
++++ /dev/null 2018-05-12 19:49:31.706719886 +0900
+@@ -1,202 +0,0 @@
-/*
- * Copyright (c) 2011-2015 Wingpanel Developers (http://launchpad.net/wingpanel)
- *
@@ -486,7 +387,10 @@
-
- public override void post_paint () {
- base.post_paint ();
-- done_painting ();
+- Idle.add (() => {
+- done_painting ();
+- return false;
+- });
- }
- }
-
@@ -652,107 +556,3 @@
- }
-
-}
---- src/wingpanel/CMakeLists.txt 2017-10-13 03:25:28.007664080 +0900
-+++ src/wingpanel/CMakeLists.txt.new 2017-10-13 03:27:00.135900068 +0900
-@@ -121,8 +121,6 @@
- set (DEPS_LIBRARIES ${DEPS_LIBRARIES} ${LIB_NAME})
- add_subdirectory (src)
-
--add_subdirectory (wingpanel-interface)
--
- if (BUILD_SAMPLE)
- add_subdirectory (sample)
- endif ()
---- src/wingpanel/wingpanel-interface/CMakeLists.txt 2018-03-05 15:53:08.967254520 +0900
-+++ /dev/null 2018-03-05 14:42:26.994151215 +0900
-@@ -1,90 +0,0 @@
--find_package (PkgConfig)
--
--pkg_check_modules (PLUGIN REQUIRED gala granite)
--
--add_definitions (${PLUGIN_CFLAGS})
--link_directories (${PLUGIN_LIBRARY_DIRS})
--set (WINGPANELINTERFACE "wingpanel-interface")
--
--find_package (Vala REQUIRED)
--include (ValaVersion)
--ensure_vala_version ("0.12.0" MINIMUM)
--
--# We need to know which version of the Mutter API is in use
--pkg_check_modules(MUTTER320 QUIET libmutter>=3.19)
--pkg_check_modules(MUTTER322 QUIET libmutter>=3.21)
--pkg_check_modules(MUTTER324 QUIET libmutter-0>=3.23.90)
--pkg_check_modules(MUTTER326 QUIET libmutter-1>=3.25.90)
--pkg_check_modules(MUTTER328 QUIET libmutter-2>=3.27.91)
--
--set (EXTRA_VALA_FLAGS "")
--set (EXTRA_MUTTER_PKS cogl-1.0 clutter-1.0 libmutter)
--set (EXTRA_MUTTER_PACKAGES cogl-1.0 clutter-1.0 libmutter)
--if (MUTTER320_FOUND)
-- set (EXTRA_VALA_FLAGS ${EXTRA_VALA_FLAGS} --define HAS_MUTTER320)
--endif ()
--
--if (MUTTER322_FOUND)
-- set (EXTRA_VALA_FLAGS ${EXTRA_VALA_FLAGS} --define HAS_MUTTER322)
-- set (EXTRA_MUTTER_PKS mutter-cogl-1.0 mutter-cogl-pango-1.0 mutter-cogl-path-1.0 mutter-clutter-1.0 libmutter)
-- set (EXTRA_MUTTER_PACKAGES mutter-cogl-1.0 mutter-clutter-1.0)
--endif ()
--
--if (MUTTER324_FOUND)
-- set (EXTRA_VALA_FLAGS ${EXTRA_VALA_FLAGS} --define HAS_MUTTER320 --define HAS_MUTTER322 --define HAS_MUTTER324)
-- set (EXTRA_MUTTER_PKS mutter-cogl-0 mutter-cogl-pango-0 mutter-cogl-path-0 mutter-clutter-0 libmutter-0)
-- set (EXTRA_MUTTER_PACKAGES mutter-cogl-0 mutter-clutter-0)
--endif ()
--
--if (MUTTER326_FOUND)
-- set (EXTRA_VALA_FLAGS ${EXTRA_VALA_FLAGS} --define HAS_MUTTER320 --define HAS_MUTTER322 --define HAS_MUTTER324 --define HAS_MUTTER326)
-- set (EXTRA_MUTTER_PKS mutter-cogl-1 mutter-cogl-pango-1 mutter-cogl-path-1 mutter-clutter-1 libmutter-1)
-- set (EXTRA_MUTTER_PACKAGES mutter-cogl-1 mutter-clutter-1)
--endif ()
--
--if (MUTTER328_FOUND)
-- set (EXTRA_VALA_FLAGS ${EXTRA_VALA_FLAGS} --define HAS_MUTTER320 --define HAS_MUTTER322 --define HAS_MUTTER324 --define HAS_MUTTER326 --define HAS_MUTTER328)
-- set (EXTRA_MUTTER_PKS mutter-cogl-2 mutter-cogl-pango-2 mutter-cogl-path-2 mutter-clutter-2 libmutter-2)
-- set (EXTRA_MUTTER_PACKAGES mutter-cogl-2 mutter-clutter-2)
--endif ()
--
--pkg_check_modules (PLUGIN_MUTTER REQUIRED ${EXTRA_MUTTER_PKS})
--
--include (ValaPrecompile)
--vala_precompile (VALA_C ${WINGPANELINTERFACE}
-- Main.vala
-- DBusServer.vala
-- BackgroundManager.vala
-- FocusManager.vala
-- Settings.vala
-- Utils.vala
--PACKAGES
-- gala
-- granite
-- cogl-fixes
-- ${EXTRA_MUTTER_PACKAGES}
--OPTIONS
-- --thread
-- --vapidir=${CMAKE_SOURCE_DIR}/vapi
-- ${EXTRA_VALA_FLAGS}
--)
--
--add_library (${WINGPANELINTERFACE} MODULE ${VALA_C})
--target_link_libraries(${WINGPANELINTERFACE} ${PLUGIN_LIBRARIES} ${PLUGIN_MUTTER_LIBRARIES} m)
--
--# Add -rpath ldflag if libgala is using mutter >= 3.21 to pick up libmutter-*.so
--if (MUTTER328_FOUND)
-- _pkgconfig_invoke("libmutter-2" MUTTER TYPELIB_DIR "" "--variable=typelibdir")
-- set_target_properties(${WINGPANELINTERFACE} PROPERTIES LINK_FLAGS -Wl,-rpath,${MUTTER_TYPELIB_DIR})
--elseif (MUTTER326_FOUND)
-- _pkgconfig_invoke("libmutter-1" MUTTER TYPELIB_DIR "" "--variable=typelibdir")
-- set_target_properties(${WINGPANELINTERFACE} PROPERTIES LINK_FLAGS -Wl,-rpath,${MUTTER_TYPELIB_DIR})
--elseif (MUTTER324_FOUND)
-- _pkgconfig_invoke("libmutter-0" MUTTER TYPELIB_DIR "" "--variable=typelibdir")
-- set_target_properties(${WINGPANELINTERFACE} PROPERTIES LINK_FLAGS -Wl,-rpath,${MUTTER_TYPELIB_DIR})
--elseif (MUTTER322_FOUND)
-- _pkgconfig_invoke("libmutter" MUTTER TYPELIB_DIR "" "--variable=typelibdir")
-- set_target_properties(${WINGPANELINTERFACE} PROPERTIES LINK_FLAGS -Wl,-rpath,${MUTTER_TYPELIB_DIR})
--endif ()
--
--install (TARGETS ${WINGPANELINTERFACE} DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/gala/plugins)