diff options
author | Que Quotion | 2017-10-13 03:50:13 +0900 |
---|---|---|
committer | Que Quotion | 2017-10-13 03:50:13 +0900 |
commit | 4e4b2d03ce2bdfa22feac1c89144d7482828e8eb (patch) | |
tree | 6441ca0a9f934ea3e41df799dcbd173ef8eba68d /minus-galaplugin.patch | |
parent | ffae3d86b902ad0652fa180f4ea9d5c62c46a868 (diff) | |
download | aur-4e4b2d03ce2bdfa22feac1c89144d7482828e8eb.tar.gz |
Updates! More effective patching.
Diffstat (limited to 'minus-galaplugin.patch')
-rw-r--r-- | minus-galaplugin.patch | 861 |
1 files changed, 723 insertions, 138 deletions
diff --git a/minus-galaplugin.patch b/minus-galaplugin.patch index a3bca265d032..9e2f97649445 100644 --- a/minus-galaplugin.patch +++ b/minus-galaplugin.patch @@ -1,150 +1,735 @@ ---- src/wingpanel/wingpanel-interface/BackgroundManager.vala 2016-10-21 23:51:49.434036000 +0900 -+++ src/wingpanel/wingpanel-interface/BackgroundManager.vala.new 2016-10-22 00:31:35.323418157 +0900 -@@ -17,7 +17,7 @@ - * Boston, MA 02111-1307, USA. - */ - --public enum BackgroundState { -+/* public enum BackgroundState { - LIGHT, - DARK, - MAXIMIZED, -@@ -152,7 +152,7 @@ - * - If the background is too bright, it should be DARK; - * - Else it should be LIGHT. - */ -- private void check_for_state_change (uint animation_duration) { -+ /*private void check_for_state_change (uint animation_duration) { - bool has_maximized_window = false; - - foreach (Meta.Window window in current_workspace.list_windows ()) { -@@ -184,4 +184,4 @@ - state_changed (current_state = new_state, animation_duration); - } - } +--- src/wingpanel/wingpanel-interface/Main.vala 2017-10-12 18:58:46.125181484 +0900 ++++ /dev/null 2017-10-12 18:36:39.960762875 +0900 +@@ -1,83 +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. +- */ +- +-/* +- * This plugin adds a dbus-interface to gala that provides additional information +- * about windows and workspaces for the panel. +- */ +- +-public class WingpanelInterface.Main : Gala.Plugin { +- private const string DBUS_NAME = "org.pantheon.gala.WingpanelInterface"; +- private const string DBUS_PATH = "/org/pantheon/gala/WingpanelInterface"; +- +- public static Gala.WindowManager wm; +- public static Meta.Screen screen; +- +- private DBusConnection? dbus_connection = null; +- +- public override void initialize (Gala.WindowManager _wm) { +- if (_wm == null) { +- return; +- } +- +- wm = _wm; +- screen = wm.get_screen (); +- +- Bus.own_name (BusType.SESSION, +- DBUS_NAME, +- BusNameOwnerFlags.NONE, +- on_bus_aquired, +- null, +- () => warning ("Aquirering \"%s\" failed.", DBUS_NAME)); +- } +- +- public override void destroy () { +- try { +- if (dbus_connection != null) { +- dbus_connection.close_sync (); +- } +- } catch (Error e) { +- warning ("Closing DBus service failed: %s", e.message); +- } +- } +- +- private void on_bus_aquired (DBusConnection connection) { +- dbus_connection = connection; +- +- try { +- var server = new DBusServer (); +- +- dbus_connection.register_object (DBUS_PATH, server); +- +- debug ("DBus service registered."); +- } catch (Error e) { +- warning ("Registering DBus service failed: %s", e.message); +- } +- } -} -+} */ ---- src/wingpanel/wingpanel-interface/DBusServer.vala 2016-10-22 00:31:41.667214839 +0900 -+++ src/wingpanel/wingpanel-interface/DBusServer.vala.new 2016-10-22 00:31:51.473900535 +0900 -@@ -17,7 +17,7 @@ - * Boston, MA 02111-1307, USA. - */ - --[DBus (name = "org.pantheon.gala.WingpanelInterface")] -+/* [DBus (name = "org.pantheon.gala.WingpanelInterface")] - public class WingpanelInterface.DBusServer : Object { - private BackgroundManager background_manager; - -@@ -37,4 +37,4 @@ - public void restore_focused_window () { - FocusManager.get_default ().restore_focused_window (); - } +- +-public Gala.PluginInfo register_plugin () { +- return { +- "wingpanel-interface", +- "Wingpanel Developers", +- typeof (WingpanelInterface.Main), +- Gala.PluginFunction.ADDITION, +- Gala.LoadPriority.IMMEDIATE +- }; -} -+} */ ---- src/wingpanel/wingpanel-interface/FocusManager.vala 2016-10-21 23:51:49.434036000 +0900 -+++ src/wingpanel/wingpanel-interface/FocusManager.vala.new 2016-10-22 00:32:26.189787894 +0900 -@@ -17,7 +17,7 @@ - * Boston, MA 02111-1307, USA. - */ - +--- src/wingpanel/wingpanel-interface/Settings.vala 2017-10-12 18:58:46.125181484 +0900 ++++ /dev/null 2017-10-12 18:36:39.960762875 +0900 +@@ -1,42 +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 class WingpanelInterface.AnimationSettings : Granite.Services.Settings { +- public bool enable_animations { get; set; } +- public int open_duration { get; set; } +- public int snap_duration { get; set; } +- public int close_duration { get; set; } +- public int minimize_duration { get; set; } +- public int workspace_switch_duration { get; set; } +- public int menu_duration { get; set; } +- +- static AnimationSettings? instance = null; +- +- private AnimationSettings () { +- base ("org.pantheon.desktop.gala.animations"); +- } +- +- public static unowned AnimationSettings get_default () { +- if (instance == null) { +- instance = new AnimationSettings (); +- } +- +- return instance; +- } +-} +--- src/wingpanel/wingpanel-interface/FocusManager.vala 2017-10-12 18:58:46.125181484 +0900 ++++ /dev/null 2017-10-12 18:36:39.960762875 +0900 +@@ -1,72 +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 class WingpanelInterface.FocusManager : Object { -+/* public class WingpanelInterface.FocusManager : Object { - private static FocusManager? instance = null; - - private Meta.Workspace? current_workspace = null; -@@ -69,4 +69,4 @@ - - return instance; - } +- private static FocusManager? instance = null; +- +- private Meta.Workspace? current_workspace = null; +- private Meta.Window? last_focused_window = null; +- +- public FocusManager () { +- Main.screen.workspace_switched.connect (() => { +- update_current_workspace (); +- }); +- +- update_current_workspace (); +- } +- +- public void remember_focused_window () { +- var windows = current_workspace.list_windows (); +- +- foreach (Meta.Window window in windows) { +- if (window.has_focus ()) { +- last_focused_window = window; +- +- return; +- } +- } +- } +- +- public void restore_focused_window () { +- if (last_focused_window != null) { +- var display = Main.screen.get_display (); +- last_focused_window.focus (display.get_current_time ()); +- } +- } +- +- 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; +- } +- +- current_workspace = workspace; +- } +- +- public static FocusManager get_default () { +- if (instance == null) { +- instance = new FocusManager (); +- } +- +- return instance; +- } -} -\ No newline at end of file -+} */ ---- src/wingpanel/wingpanel-interface/Main.vala 2016-10-21 23:51:49.434036000 +0900 -+++ src/wingpanel/wingpanel-interface/Main.vala.new 2016-10-22 00:33:13.987255987 +0900 -@@ -22,7 +22,7 @@ - * about windows and workspaces for the panel. - */ - --public class WingpanelInterface.Main : Gala.Plugin { -+/* public class WingpanelInterface.Main : Gala.Plugin { - private const string DBUS_NAME = "org.pantheon.gala.WingpanelInterface"; - private const string DBUS_PATH = "/org/pantheon/gala/WingpanelInterface"; - -@@ -80,4 +80,4 @@ - Gala.PluginFunction.ADDITION, - Gala.LoadPriority.IMMEDIATE - }; +--- src/wingpanel/wingpanel-interface/BackgroundManager.vala 2017-10-13 03:00:24.840092343 +0900 ++++ /dev/null 2017-10-13 01:49:26.502721048 +0900 +@@ -1,187 +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 -} -\ No newline at end of file -+} */ ---- src/wingpanel/wingpanel-interface/Settings.vala 2016-10-21 23:51:49.434036000 +0900 -+++ src/wingpanel/wingpanel-interface/Settings.vala.new 2016-10-22 00:33:49.443163806 +0900 -@@ -17,7 +17,7 @@ - * Boston, MA 02111-1307, USA. - */ - --public class WingpanelInterface.AnimationSettings : Granite.Services.Settings { -+/* public class WingpanelInterface.AnimationSettings : Granite.Services.Settings { - public bool enable_animations { get; set; } - public int open_duration { get; set; } - public int snap_duration { get; set; } -@@ -39,4 +39,4 @@ - - return instance; - } +- +-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; +- } else { +- var luminance_std = Math.sqrt (bk_color_info.luminance_variance); +- +- new_state = 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 ? BackgroundState.TRANSLUCENT : +- bk_color_info.mean_luminance > LUMINANCE_THRESHOLD ? BackgroundState.DARK : BackgroundState.LIGHT; +- } +- +- if (new_state != current_state) { +- state_changed (current_state = new_state, animation_duration); +- } +- } -} -\ No newline at end of file -+} */ ---- src/wingpanel/wingpanel-interface/Utils.vala 2016-10-21 23:51:49.434036000 +0900 -+++ src/wingpanel/wingpanel-interface/Utils.vala.new 2016-10-22 00:34:59.172928972 +0900 -@@ -22,7 +22,7 @@ - * related to it are copied from Gala.DBus. - */ - +--- 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 @@ +-/* +- * 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. +- */ +- +-[DBus (name = "org.pantheon.gala.WingpanelInterface")] +-public class WingpanelInterface.DBusServer : Object { +- private BackgroundManager background_manager; +- +- public signal void state_changed (BackgroundState state, uint animation_duration); +- +- public void initialize (int monitor, int panel_height) { +- background_manager = new BackgroundManager (monitor, panel_height); +- background_manager.state_changed.connect ((state, animation_duration) => { +- state_changed (state, animation_duration); +- }); +- } +- +- public void remember_focused_window () { +- FocusManager.get_default ().remember_focused_window (); +- } +- +- public void restore_focused_window () { +- 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 @@ +-/* +- * 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. +- */ +- +-/* +- * The method for calculating the background information and the classes that are +- * related to it are copied from Gala.DBus. +- */ +- -namespace WingpanelInterface.Utils { -+/* namespace WingpanelInterface.Utils { - private const double SATURATION_WEIGHT = 1.5; - private const double WEIGHT_THRESHOLD = 1.0; - -@@ -92,7 +92,7 @@ - * plank's lib/Drawing/DrawingService.vala average_color() - * http://bazaar.launchpad.net/~docky-core/plank/trunk/view/head:/lib/Drawing/DrawingService.vala - */ +- private const double SATURATION_WEIGHT = 1.5; +- private const double WEIGHT_THRESHOLD = 1.0; +- +- private class DummyOffscreenEffect : Clutter.OffscreenEffect { +- public signal void done_painting (); +- +- public override void post_paint () { +- base.post_paint (); +- done_painting (); +- } +- } +- +- public struct ColorInformation { +- double average_red; +- double average_green; +- double average_blue; +- double mean_luminance; +- double luminance_variance; +- double mean_acutance; +- } +- +- public async ColorInformation get_background_color_information (Gala.WindowManager wm, int monitor, +- int reference_x, int reference_y, int reference_width, int reference_height) throws DBusError { +- var background = wm.background_group.get_child_at_index (monitor); +- +- if (background == null) { +- throw new DBusError.INVALID_ARGS ("Invalid monitor requested: %i".printf (monitor)); +- } +- +- var effect = new DummyOffscreenEffect (); +- background.add_effect (effect); +- +- var tex_width = (int)background.width; +- var tex_height = (int)background.height; +- +- int x_start = reference_x; +- int y_start = reference_y; +- int width = int.min (tex_width - reference_x, reference_width); +- int height = int.min (tex_height - reference_y, reference_height); +- +- if (x_start > tex_width || x_start > tex_height || width <= 0 || height <= 0) { +- throw new DBusError.INVALID_ARGS ("Invalid rectangle specified: %i, %i, %i, %i".printf (x_start, y_start, width, height)); +- } +- +- double mean_acutance = 0, variance = 0, mean = 0, rTotal = 0, gTotal = 0, bTotal = 0; +- ulong paint_signal_handler = 0; +- +- paint_signal_handler = effect.done_painting.connect (() => { +- SignalHandler.disconnect (effect, paint_signal_handler); +- background.remove_effect (effect); +- +- var texture = (Cogl.Texture)effect.get_texture (); +- var pixels = new uint8[texture.get_width () * texture.get_height () * 4]; +- var pixel_lums = new double[texture.get_width () * texture.get_height ()]; +- +- CoglFixes.texture_get_data (texture, Cogl.PixelFormat.BGRA_8888_PRE, 0, pixels); +- +- int size = width * height; +- +- double mean_squares = 0; +- double pixel = 0; +- +- double max, min, score, delta, scoreTotal = 0, rTotal2 = 0, gTotal2 = 0, bTotal2 = 0; +- +- /* +- * code to calculate weighted average color is copied from +- * plank's lib/Drawing/DrawingService.vala average_color() +- * http://bazaar.launchpad.net/~docky-core/plank/trunk/view/head:/lib/Drawing/DrawingService.vala +- */ - for (int y = y_start; y < height; y++) { -+ /* for (int y = y_start; y < height; y++) { - for (int x = x_start; x < width; x++) { - int i = y * width * 4 + x * 4; - -@@ -110,7 +110,7 @@ - delta = max - min; - - /* prefer colored pixels over shades of grey */ +- for (int x = x_start; x < width; x++) { +- int i = y * width * 4 + x * 4; +- +- uint8 r = pixels[i]; +- uint8 g = pixels[i + 1]; +- uint8 b = pixels[i + 2]; +- +- pixel = (0.3 * r + 0.59 * g + 0.11 * b) ; +- +- pixel_lums[y * width + x] = pixel; +- +- min = uint8.min (r, uint8.min (g, b)); +- max = uint8.max (r, uint8.max (g, b)); +- +- delta = max - min; +- +- /* prefer colored pixels over shades of grey */ - score = SATURATION_WEIGHT * (delta == 0 ? 0.0 : delta / max); -+ /*score = SATURATION_WEIGHT * (delta == 0 ? 0.0 : delta / max); - - rTotal += score * r; - gTotal += score * g; -@@ -161,7 +161,7 @@ - * if saturation isn't reasonable enough - * s = 0.0 -> f = 0.0 ; s = WEIGHT_THRESHOLD -> f = 1.0 - */ +- +- rTotal += score * r; +- gTotal += score * g; +- bTotal += score * b; +- scoreTotal += score; +- +- rTotal += r; +- gTotal += g; +- bTotal += b; +- +- mean += pixel; +- mean_squares += pixel * pixel; +- } +- } +- +- for (int y = y_start + 1; y < height - 1; y++) { +- for (int x = x_start + 1; x < width - 1; x++) { +- var acutance = +- (pixel_lums[y * width + x] * 4) - +- ( +- pixel_lums[y * width + x - 1] + +- pixel_lums[y * width + x + 1] + +- pixel_lums[(y - 1) * width + x] + +- pixel_lums[(y + 1) * width + x] +- ); +- +- mean_acutance += acutance > 0 ? acutance : -acutance; +- } +- } +- +- scoreTotal /= size; +- bTotal /= size; +- gTotal /= size; +- rTotal /= size; +- +- if (scoreTotal > 0.0) { +- bTotal /= scoreTotal; +- gTotal /= scoreTotal; +- rTotal /= scoreTotal; +- } +- +- bTotal2 /= size * uint8.MAX; +- gTotal2 /= size * uint8.MAX; +- rTotal2 /= size * uint8.MAX; +- +- /* +- * combine weighted and not weighted sum depending on the average "saturation" +- * if saturation isn't reasonable enough +- * s = 0.0 -> f = 0.0 ; s = WEIGHT_THRESHOLD -> f = 1.0 +- */ - if (scoreTotal <= WEIGHT_THRESHOLD) { -+ /* if (scoreTotal <= WEIGHT_THRESHOLD) { - var f = 1.0 / WEIGHT_THRESHOLD * scoreTotal; - var rf = 1.0 - f; - -@@ -171,7 +171,7 @@ - } - - /* there shouldn't be values larger then 1.0 */ +- var f = 1.0 / WEIGHT_THRESHOLD * scoreTotal; +- var rf = 1.0 - f; +- +- bTotal = bTotal * f + bTotal2 * rf; +- gTotal = gTotal * f + gTotal2 * rf; +- rTotal = rTotal * f + rTotal2 * rf; +- } +- +- /* there shouldn't be values larger then 1.0 */ - var max_val = double.max (rTotal, double.max (gTotal, bTotal)); -+ /* var max_val = double.max (rTotal, double.max (gTotal, bTotal)); - - if (max_val > 1.0) { - bTotal /= max_val; -@@ -196,4 +196,4 @@ - return { rTotal, gTotal, bTotal, mean, variance, mean_acutance }; - } - +- +- if (max_val > 1.0) { +- bTotal /= max_val; +- gTotal /= max_val; +- rTotal /= max_val; +- } +- +- mean /= size; +- mean_squares = mean_squares / size; +- +- variance = (mean_squares - (mean * mean)); +- +- mean_acutance /= (width - 2) * (height - 2); +- +- get_background_color_information.callback (); +- }); +- +- background.queue_redraw (); +- +- yield; +- +- return { rTotal, gTotal, bTotal, mean, variance, mean_acutance }; +- } +- -} -+} */ +--- src/wingpanel/wingpanel-interface/CMakeLists.txt 2017-10-13 03:17:01.659234024 +0900 ++++ /dev/null 2017-10-13 01:49:26.502721048 +0900 +@@ -1,80 +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) +- +-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 () +- +-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}) +- +-# Add -rpath ldflag if libgala is using mutter >= 3.21 to pick up libmutter-*.so +-if (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/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 () |