Hello community,

here is the log from the commit of package xfce4-panel for openSUSE:Factory 
checked in at 2020-03-23 12:51:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xfce4-panel (Old)
 and      /work/SRC/openSUSE:Factory/.xfce4-panel.new.3160 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xfce4-panel"

Mon Mar 23 12:51:37 2020 rev:71 rq:787366 version:4.14.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/xfce4-panel/xfce4-panel.changes  2020-01-13 
22:21:15.402510780 +0100
+++ /work/SRC/openSUSE:Factory/.xfce4-panel.new.3160/xfce4-panel.changes        
2020-03-23 12:53:00.052048362 +0100
@@ -1,0 +2,6 @@
+Sun Mar 22 12:10:12 UTC 2020 - Maurizio Galli <maurizio.ga...@gmail.com>
+
+- Added systray-symbolic-icons.patch. Backport to enable symbolic 
+  icons in systray
+
+-------------------------------------------------------------------

New:
----
  systray-symbolic-icons.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xfce4-panel.spec ++++++
--- /var/tmp/diff_new_pack.SqfNo0/_old  2020-03-23 12:53:00.896048892 +0100
+++ /var/tmp/diff_new_pack.SqfNo0/_new  2020-03-23 12:53:00.900048895 +0100
@@ -31,6 +31,8 @@
 Source1:        %{name}-rpmlintrc
 Source2:        %{name}-restore-defaults
 Source3:        %{name}-restore-defaults.desktop
+# PATCH-FIX-UPSTREAM systray-symbolic-icons.patch maurizio.ga...@gmail.com -- 
Backport to enable symbolic icons in systray
+Patch0:         systray-symbolic-icons.patch
 BuildRequires:  desktop-file-utils
 BuildRequires:  ed
 BuildRequires:  fdupes
@@ -130,7 +132,7 @@
 %lang_package
 
 %prep
-%autosetup
+%autosetup -p1
 
 %build
 %if %{with git}

++++++ systray-symbolic-icons.patch ++++++
Only in b/common: .deps
Only in b/common: libpanel-common.la
Only in b/common: libpanel_common_la-panel-debug.lo
Only in b/common: libpanel_common_la-panel-utils.lo
Only in b/common: libpanel_common_la-panel-xfconf.lo
Only in b/common: .libs
Only in b/common: Makefile
Only in b: config.h
Only in b: config.log
Only in b: config.status
Only in b/docs: Makefile
Only in b/docs/references: Makefile
Only in b/icons/16x16: Makefile
Only in b/icons/22x22: Makefile
Only in b/icons/24x24: Makefile
Only in b/icons/32x32: Makefile
Only in b/icons/48x48: Makefile
Only in b/icons: Makefile
Only in b/icons/scalable: Makefile
Only in b: libtool
Only in b/libxfce4panel: .deps
Only in b/libxfce4panel: .libs
Only in b/libxfce4panel: libxfce4panel-1.0.la
Only in b/libxfce4panel: libxfce4panel_1_0_la-libxfce4panel-aliasdef.lo
Only in b/libxfce4panel: libxfce4panel_1_0_la-libxfce4panel-config.lo
Only in b/libxfce4panel: libxfce4panel_1_0_la-libxfce4panel-enum-types.lo
Only in b/libxfce4panel: libxfce4panel_1_0_la-libxfce4panel-marshal.lo
Only in b/libxfce4panel: libxfce4panel_1_0_la-xfce-arrow-button.lo
Only in b/libxfce4panel: libxfce4panel_1_0_la-xfce-hvbox.lo
Only in b/libxfce4panel: libxfce4panel_1_0_la-xfce-panel-convenience.lo
Only in b/libxfce4panel: libxfce4panel_1_0_la-xfce-panel-image.lo
Only in b/libxfce4panel: libxfce4panel_1_0_la-xfce-panel-plugin.lo
Only in b/libxfce4panel: libxfce4panel_1_0_la-xfce-panel-plugin-provider.lo
Only in b/libxfce4panel: libxfce4panel-1.0.pc
Only in b/libxfce4panel: libxfce4panel-2.0.la
Only in b/libxfce4panel: libxfce4panel_2_0_la-libxfce4panel-aliasdef.lo
Only in b/libxfce4panel: libxfce4panel_2_0_la-libxfce4panel-config.lo
Only in b/libxfce4panel: libxfce4panel_2_0_la-libxfce4panel-enum-types.lo
Only in b/libxfce4panel: libxfce4panel_2_0_la-libxfce4panel-marshal.lo
Only in b/libxfce4panel: libxfce4panel_2_0_la-xfce-arrow-button.lo
Only in b/libxfce4panel: libxfce4panel_2_0_la-xfce-panel-convenience.lo
Only in b/libxfce4panel: libxfce4panel_2_0_la-xfce-panel-image.lo
Only in b/libxfce4panel: libxfce4panel_2_0_la-xfce-panel-plugin.lo
Only in b/libxfce4panel: libxfce4panel_2_0_la-xfce-panel-plugin-provider.lo
Only in b/libxfce4panel: libxfce4panel-2.0.pc
Only in b/libxfce4panel: Makefile
Only in b: Makefile
Only in b/migrate: .deps
Only in b/migrate: .libs
Only in b/migrate: Makefile
Only in b/migrate: migrate
Only in b/migrate: migrate-main.o
Only in b/migrate: migrate-migrate-46.o
Only in b/migrate: migrate-migrate-config.o
Only in b/migrate: migrate-migrate-default.o
Only in b/panel: .deps
Only in b/panel: .libs
Only in b/panel: Makefile
Only in b/panel: xfce4-panel
Only in b/panel: xfce4_panel-main.o
Only in b/panel: xfce4_panel-panel-application.o
Only in b/panel: xfce4_panel-panel-base-window.o
Only in b/panel: xfce4_panel-panel-dbus-client.o
Only in b/panel: xfce4_panel-panel-dbus-service.o
Only in b/panel: xfce4_panel-panel-dialogs.o
Only in b/panel: xfce4_panel-panel-gdbus-exported-service.o
Only in b/panel: xfce4_panel-panel-itembar.o
Only in b/panel: xfce4_panel-panel-item-dialog.o
Only in b/panel: xfce4_panel-panel-marshal.o
Only in b/panel: xfce4_panel-panel-module-factory.o
Only in b/panel: xfce4_panel-panel-module.o
Only in b/panel: xfce4_panel-panel-plugin-external-46.o
Only in b/panel: xfce4_panel-panel-plugin-external.o
Only in b/panel: xfce4_panel-panel-plugin-external-wrapper-exported.o
Only in b/panel: xfce4_panel-panel-plugin-external-wrapper.o
Only in b/panel: xfce4_panel-panel-preferences-dialog.o
Only in b/panel: xfce4_panel-panel-tic-tac-toe.o
Only in b/panel: xfce4_panel-panel-window.o
Only in b: panel-desktop-handler.desktop
Only in b: panel-preferences.desktop
Only in b/plugins/actions: actions.desktop
Only in b/plugins/actions: actions.desktop.in
Only in b/plugins/actions: .deps
Only in b/plugins/actions: libactions.la
Only in b/plugins/actions: libactions_la-actions.lo
Only in b/plugins/actions: .libs
Only in b/plugins/actions: Makefile
Only in b/plugins/applicationsmenu: applicationsmenu.desktop
Only in b/plugins/applicationsmenu: applicationsmenu.desktop.in
Only in b/plugins/applicationsmenu: .deps
Only in b/plugins/applicationsmenu: libapplicationsmenu.la
Only in b/plugins/applicationsmenu: libapplicationsmenu_la-applicationsmenu.lo
Only in b/plugins/applicationsmenu: .libs
Only in b/plugins/applicationsmenu: Makefile
Only in b/plugins/applicationsmenu: xfce4-popup-applicationsmenu
Only in b/plugins/clock: clock.desktop
Only in b/plugins/clock: clock.desktop.in
Only in b/plugins/clock: .deps
Only in b/plugins/clock: libclock.la
Only in b/plugins/clock: libclock_la-clock-analog.lo
Only in b/plugins/clock: libclock_la-clock-binary.lo
Only in b/plugins/clock: libclock_la-clock-digital.lo
Only in b/plugins/clock: libclock_la-clock-fuzzy.lo
Only in b/plugins/clock: libclock_la-clock-lcd.lo
Only in b/plugins/clock: libclock_la-clock.lo
Only in b/plugins/clock: libclock_la-clock-time.lo
Only in b/plugins/clock: .libs
Only in b/plugins/clock: Makefile
Only in b/plugins/directorymenu: .deps
Only in b/plugins/directorymenu: directorymenu.desktop
Only in b/plugins/directorymenu: directorymenu.desktop.in
Only in b/plugins/directorymenu: libdirectorymenu.la
Only in b/plugins/directorymenu: libdirectorymenu_la-directorymenu.lo
Only in b/plugins/directorymenu: .libs
Only in b/plugins/directorymenu: Makefile
Only in b/plugins/directorymenu: xfce4-popup-directorymenu
Only in b/plugins/launcher: .deps
Only in b/plugins/launcher: launcher.desktop
Only in b/plugins/launcher: launcher.desktop.in
Only in b/plugins/launcher: liblauncher.la
Only in b/plugins/launcher: liblauncher_la-launcher-dialog.lo
Only in b/plugins/launcher: liblauncher_la-launcher.lo
Only in b/plugins/launcher: .libs
Only in b/plugins/launcher: Makefile
Only in b/plugins: Makefile
Only in b/plugins/pager: .deps
Only in b/plugins/pager: libpager.la
Only in b/plugins/pager: libpager_la-pager-buttons.lo
Only in b/plugins/pager: libpager_la-pager.lo
Only in b/plugins/pager: .libs
Only in b/plugins/pager: Makefile
Only in b/plugins/pager: pager.desktop
Only in b/plugins/pager: pager.desktop.in
Only in b/plugins/separator: .deps
Only in b/plugins/separator: .libs
Only in b/plugins/separator: libseparator.la
Only in b/plugins/separator: libseparator_la-separator.lo
Only in b/plugins/separator: Makefile
Only in b/plugins/separator: separator.desktop
Only in b/plugins/separator: separator.desktop.in
Only in b/plugins/showdesktop: .deps
Only in b/plugins/showdesktop: .libs
Only in b/plugins/showdesktop: libshowdesktop.la
Only in b/plugins/showdesktop: libshowdesktop_la-showdesktop.lo
Only in b/plugins/showdesktop: Makefile
Only in b/plugins/showdesktop: showdesktop.desktop
Only in b/plugins/showdesktop: showdesktop.desktop.in
Only in b/plugins/systray: .deps
Only in b/plugins/systray: .libs
Only in b/plugins/systray: libsystray.la
Only in b/plugins/systray: libsystray_la-systray-box.lo
Only in b/plugins/systray: libsystray_la-systray.lo
Only in b/plugins/systray: libsystray_la-systray-manager.lo
Only in b/plugins/systray: libsystray_la-systray-marshal.lo
Only in b/plugins/systray: libsystray_la-systray-socket.lo
Only in b/plugins/systray: Makefile
diff -rub a/plugins/systray/systray.c b/plugins/systray/systray.c
--- a/plugins/systray/systray.c 2020-01-13 05:50:04.000000000 +0800
+++ b/plugins/systray/systray.c 2020-03-23 11:39:25.831790959 +0800
@@ -21,6 +21,10 @@
 #include <config.h>
 #endif
 
+#include <gdk/gdk.h>
+#include <gdk/gdkx.h>
+#include <gtk/gtk.h>
+
 #include <libxfce4util/libxfce4util.h>
 #include <libxfce4ui/libxfce4ui.h>
 #include <common/panel-private.h>
@@ -34,7 +38,7 @@
 #include "systray-manager.h"
 #include "systray-dialog_ui.h"
 
-#define ICON_SIZE     (22)
+#define ICON_SIZE     (16)
 #define BUTTON_SIZE   (16)
 #define FRAME_SPACING (1)
 
@@ -565,12 +569,37 @@
 {
   SystrayPlugin *plugin = XFCE_SYSTRAY_PLUGIN (panel_plugin);
 
+
   gtk_orientable_set_orientation (GTK_ORIENTABLE (plugin->hvbox), orientation);
   systray_box_set_orientation (XFCE_SYSTRAY_BOX (plugin->box), orientation);
 
   if (G_LIKELY (plugin->manager != NULL))
     systray_manager_set_orientation (plugin->manager, orientation);
 
+  /* apply symbolic colors */
+  if (G_LIKELY (plugin->manager != NULL)) {
+    GtkStyleContext *context;
+    GdkRGBA rgba;
+    GdkColor color;
+    GdkColor fg;
+    GdkColor error;
+    GdkColor warning;
+    GdkColor success;
+
+    context = gtk_widget_get_style_context (GTK_WIDGET (plugin->box));
+    gtk_style_context_get_color (context, GTK_STATE_NORMAL, &rgba);
+
+    color.pixel = 0;
+    color.red = rgba.red * G_MAXUSHORT;
+    color.green = rgba.green * G_MAXUSHORT;
+    color.blue = rgba.blue * G_MAXUSHORT;
+
+    fg = error = warning = success = color;
+
+    systray_manager_set_colors (plugin->manager, &fg, &error, &warning, 
&success);
+  }
+
+
   if (orientation == GTK_ORIENTATION_HORIZONTAL)
     gtk_widget_set_size_request (plugin->button, BUTTON_SIZE, -1);
   else
Only in b/plugins/systray: systray.desktop
Only in b/plugins/systray: systray.desktop.in
diff -rub a/plugins/systray/systray-manager.c 
b/plugins/systray/systray-manager.c
--- a/plugins/systray/systray-manager.c 2019-09-27 06:23:37.000000000 +0800
+++ b/plugins/systray/systray-manager.c 2020-03-22 21:21:04.844060806 +0800
@@ -78,6 +78,7 @@
 static gboolean        systray_manager_handle_undock_request              
(GtkSocket           *socket,
                                                                            
gpointer             user_data);
 static void            systray_manager_set_visual                         
(SystrayManager      *manager);
+static void            systray_manager_set_colors_property                
(SystrayManager      *manager);
 static void            systray_manager_message_free                       
(SystrayMessage      *message);
 static void            systray_manager_message_remove_from_list           
(SystrayManager      *manager,
                                                                            
XClientMessageEvent *xevent);
@@ -109,6 +110,12 @@
   /* list of client sockets */
   GHashTable     *sockets;
 
+  /* symbolic colors */
+  GdkColor fg;
+  GdkColor error;
+  GdkColor warning;
+  GdkColor success;
+
   /* orientation of the tray */
   GtkOrientation  orientation;
 
@@ -218,6 +225,23 @@
   manager->orientation = GTK_ORIENTATION_HORIZONTAL;
   manager->messages = NULL;
   manager->sockets = g_hash_table_new (NULL, NULL);
+  
+  /* initialize symbolic colors */
+  manager->fg.red = 0.0;
+  manager->fg.green = 0.0;
+  manager->fg.blue = 0.0;
+
+  manager->error.red = 1.0;
+  manager->error.green = 0.0;
+  manager->error.blue = 0.0;
+
+  manager->warning.red = 1.0;
+  manager->warning.green = 1.0;
+  manager->warning.blue = 0.0;
+
+  manager->success.red = 0.0;
+  manager->success.green = 1.0;
+  manager->success.blue = 0.0;
 }
 
 
@@ -344,9 +368,12 @@
   /* set the invisible window and take a reference */
   manager->invisible = GTK_WIDGET (g_object_ref (G_OBJECT (invisible)));
 
-  /* set the visial property for transparent tray icons */
+  /* set the visual property for transparent tray icons */
   systray_manager_set_visual (manager);
 
+  /* set the property for symbolic color support */
+  systray_manager_set_colors_property (manager);
+
   /* get the current x server time stamp */
   timestamp = gdk_x11_get_server_time (gtk_widget_get_window (GTK_WIDGET 
(invisible)));
 
@@ -792,6 +819,63 @@
 }
 
 
+
+void
+systray_manager_set_colors (SystrayManager *manager,
+                            GdkColor       *fg,
+                            GdkColor       *error,
+                            GdkColor       *warning,
+                            GdkColor       *success)
+{
+  panel_return_if_fail (XFCE_IS_SYSTRAY_MANAGER (manager));
+
+  manager->fg = *fg;
+  manager->error = *error;
+  manager->warning = *warning;
+  manager->success = *success;
+
+  systray_manager_set_colors_property (manager);
+}
+
+
+
+static void
+systray_manager_set_colors_property (SystrayManager *manager)
+{
+  GdkWindow  *window;
+  GdkDisplay *display;
+  Atom        atom;
+  gulong      data[12];
+
+  g_return_if_fail (manager->invisible != NULL);
+  window = gtk_widget_get_window (manager->invisible);
+  g_return_if_fail (window != NULL);
+
+  display = gtk_widget_get_display (manager->invisible);
+  atom = gdk_x11_get_xatom_by_name_for_display (display, 
"_NET_SYSTEM_TRAY_COLORS");
+
+  data[0] = manager->fg.red;
+  data[1] = manager->fg.green;
+  data[2] = manager->fg.blue;
+  data[3] = manager->error.red;
+  data[4] = manager->error.green;
+  data[5] = manager->error.blue;
+  data[6] = manager->warning.red;
+  data[7] = manager->warning.green;
+  data[8] = manager->warning.blue;
+  data[9] = manager->success.red;
+  data[10] = manager->success.green;
+  data[11] = manager->success.blue;
+
+  XChangeProperty (GDK_DISPLAY_XDISPLAY (display),
+                   GDK_WINDOW_XID (window),
+                   atom,
+                   XA_CARDINAL, 32,
+                   PropModeReplace,
+                   (guchar *) &data, 12);
+}
+
+
 
 void
 systray_manager_set_orientation (SystrayManager *manager,
diff -rub a/plugins/systray/systray-manager.h 
b/plugins/systray/systray-manager.h
--- a/plugins/systray/systray-manager.h 2018-11-22 03:28:02.000000000 +0800
+++ b/plugins/systray/systray-manager.h 2020-03-22 21:21:57.727822642 +0800
@@ -64,6 +64,12 @@
 
 void            systray_manager_unregister           (SystrayManager      
*manager);
 
+void            systray_manager_set_colors           (SystrayManager *manager,
+                                                      GdkColor       *fg,
+                                                      GdkColor       *error,
+                                                      GdkColor       *warning,
+                                                      GdkColor       *success);
+
 void            systray_manager_set_orientation      (SystrayManager      
*manager,
                                                       GtkOrientation       
orientation);
 
Only in b/plugins/tasklist: .deps
Only in b/plugins/tasklist: .libs
Only in b/plugins/tasklist: libtasklist.la
Only in b/plugins/tasklist: libtasklist_la-tasklist.lo
Only in b/plugins/tasklist: libtasklist_la-tasklist-widget.lo
Only in b/plugins/tasklist: Makefile
Only in b/plugins/tasklist: tasklist.desktop
Only in b/plugins/tasklist: tasklist.desktop.in
Only in b/plugins/windowmenu: .deps
Only in b/plugins/windowmenu: .libs
Only in b/plugins/windowmenu: libwindowmenu.la
Only in b/plugins/windowmenu: libwindowmenu_la-windowmenu.lo
Only in b/plugins/windowmenu: Makefile
Only in b/plugins/windowmenu: windowmenu.desktop
Only in b/plugins/windowmenu: windowmenu.desktop.in
Only in b/plugins/windowmenu: xfce4-popup-windowmenu
Only in b/po: am.gmo
Only in b/po: ar.gmo
Only in b/po: ast.gmo
Only in b/po: be.gmo
Only in b/po: bg.gmo
Only in b/po: bn.gmo
Only in b/po: ca.gmo
Only in b/po: cs.gmo
Only in b/po: da.gmo
Only in b/po: de.gmo
Only in b/po: el.gmo
Only in b/po: en_AU.gmo
Only in b/po: en_GB.gmo
Only in b/po: eo.gmo
Only in b/po: es.gmo
Only in b/po: et.gmo
Only in b/po: eu.gmo
Only in b/po: fa_IR.gmo
Only in b/po: fi.gmo
Only in b/po: fr.gmo
Only in b/po: gl.gmo
Only in b/po: he.gmo
Only in b/po: hr.gmo
Only in b/po: hu.gmo
Only in b/po: hy_AM.gmo
Only in b/po: id.gmo
Only in b/po: ie.gmo
Only in b/po: .intltool-merge-cache
Only in b/po: .intltool-merge-cache.lock
Only in b/po: is.gmo
Only in b/po: it.gmo
Only in b/po: ja.gmo
Only in b/po: ka.gmo
Only in b/po: kk.gmo
Only in b/po: ko.gmo
Only in b/po: lt.gmo
Only in b/po: lv.gmo
Only in b/po: Makefile
Only in b/po: Makefile.in
Only in b/po: ms.gmo
Only in b/po: nb.gmo
Only in b/po: nl.gmo
Only in b/po: nn.gmo
Only in b/po: oc.gmo
Only in b/po: pa.gmo
Only in b/po: pl.gmo
Only in b/po: POTFILES
Only in b/po: pt_BR.gmo
Only in b/po: pt.gmo
Only in b/po: ro.gmo
Only in b/po: ru.gmo
Only in b/po: si.gmo
Only in b/po: sk.gmo
Only in b/po: sl.gmo
Only in b/po: sq.gmo
Only in b/po: sr.gmo
Only in b/po: stamp-it
Only in b/po: sv.gmo
Only in b/po: te.gmo
Only in b/po: th.gmo
Only in b/po: tr.gmo
Only in b/po: ug.gmo
Only in b/po: uk.gmo
Only in b/po: ur.gmo
Only in b/po: ur_PK.gmo
Only in b/po: vi.gmo
Only in b/po: zh_CN.gmo
Only in b/po: zh_HK.gmo
Only in b/po: zh_TW.gmo
Only in b: stamp-h1
Only in b/wrapper: .deps
Only in b/wrapper: .libs
Only in b/wrapper: Makefile
Only in b/wrapper: wrapper-1.0
Only in b/wrapper: wrapper_1_0-main.o
Only in b/wrapper: wrapper_1_0-wrapper-module.o
Only in b/wrapper: wrapper_1_0-wrapper-plug.o
Only in b/wrapper: wrapper-2.0
Only in b/wrapper: wrapper_2_0-main.o
Only in b/wrapper: wrapper_2_0-wrapper-module.o
Only in b/wrapper: wrapper_2_0-wrapper-plug.o

Reply via email to