1
0

- Update to version 12.10.1+bzr20200706.298.

OBS-URL: https://build.opensuse.org/package/show/X11:Unity/libappindicator?expand=0&rev=40
This commit is contained in:
Alexei Sorokin 2021-11-26 21:00:03 +00:00 committed by Git OBS Bridge
parent 66733b3bcf
commit a14668d10f
7 changed files with 148 additions and 244 deletions

View File

@ -1,13 +0,0 @@
Index: libappindicator-12.10.1+bzr20170215/src/Makefile.am
===================================================================
--- libappindicator-12.10.1+bzr20170215.orig/src/Makefile.am
+++ libappindicator-12.10.1+bzr20170215/src/Makefile.am
@@ -76,7 +76,7 @@ libappindicator_la_LDFLAGS = \
libappindicator_la_CFLAGS = \
$(LIBRARY_CFLAGS) \
$(COVERAGE_CFLAGS) \
- -Wall -Werror -Wno-error=deprecated-declarations \
+ -Wall -Wno-error=deprecated-declarations \
-DG_LOG_DOMAIN=\"libappindicator\"
libappindicator_la_LIBADD = \

View File

@ -1,3 +1,26 @@
-------------------------------------------------------------------
Sat Nov 20 19:39:20 UTC 2021 - Alexei Sorokin <sor.alexei@meowr.ru>
- Update to version 12.10.1+bzr20200706.298 (chages since
12.10.1+bzr20170215):
* Fix build failures.
* Vendorise indicator-desktop-shortcuts (convenience wrapper
around gdesktopappinfo) from the libindicator project, to drop
the dependency on libindicator as none of the rest of it is
used.
* Don't build with -Werror.
* Drop Python 2 bindings and GObject Introspection for GTK 2
(lp#1740637).
* app-indicator: Don't pass unexpected parameter to signal
emissions (lp#1867996).
* app-indicator: Only check for item numbers when iterating
array (lp#1867996).
* Fall back to tray icon when StatusNotifierHost is not
available.
- Drop libappindicator-no-Werror.patch: fixed upstream.
- Drop only_require_python_for_gtk2.patch: no longer needed.
- Rebase xappstatusicon.patch.
------------------------------------------------------------------- -------------------------------------------------------------------
Sun Dec 20 16:34:27 UTC 2020 - Callum Farmer <gmbr3@opensuse.org> Sun Dec 20 16:34:27 UTC 2020 - Callum Farmer <gmbr3@opensuse.org>

View File

@ -1,7 +1,7 @@
# #
# spec file for package libappindicator # spec file
# #
# Copyright (c) 2020 SUSE LLC # Copyright (c) 2021 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -18,57 +18,43 @@
%global flavor @BUILD_FLAVOR@%{nil} %global flavor @BUILD_FLAVOR@%{nil}
%global sname libappindicator %global sname libappindicator
%if "%{flavor}" == ""
ExclusiveArch: do-not-build
%endif
%if "%{flavor}" == "gtk2" %if "%{flavor}" == "gtk2"
%bcond_without mono
%bcond_without python
%global gtkver 2 %global gtkver 2
%bcond_without mono
%endif %endif
%if "%{flavor}" == "gtk3" %if "%{flavor}" == "gtk3"
%bcond_with mono
%bcond_with python
%global psuffix 3 %global psuffix 3
%global gtkver 3 %global gtkver 3
%bcond_with mono
%endif %endif
%define sover 1 %define sover 1
%define _version 12.10.1+17.04.20170215 %define _version 12.10.1+20.10.20200706.1
Name: libappindicator%{?psuffix} Name: libappindicator%{?psuffix}
Version: 12.10.1+bzr20170215 Version: 12.10.1+bzr20200706.298
Release: 0 Release: 0
Summary: Application indicators library Summary: Application indicators library
License: LGPL-2.0-only AND LGPL-3.0-only AND GPL-3.0-only License: GPL-3.0-only AND LGPL-2.0-only AND LGPL-3.0-only
Group: System/Libraries Group: System/GUI/Other
URL: https://launchpad.net/libappindicator URL: https://launchpad.net/libappindicator
Source: https://launchpad.net/ubuntu/+archive/primary/+files/%{sname}_%{_version}.orig.tar.gz Source: https://launchpad.net/ubuntu/+archive/primary/+files/%{sname}_%{_version}.orig.tar.gz
# PATCH-FIX-UPSTREAM 0001_Fix_mono_dir.patch hrvoje.senjan@gmail.com -- Fix location of .pc files. # PATCH-FIX-UPSTREAM 0001_Fix_mono_dir.patch hrvoje.senjan@gmail.com -- Fix location of .pc files.
Patch0: 0001_Fix_mono_dir.patch Patch0: 0001_Fix_mono_dir.patch
# PATCH-FIX=UPSTREAM libappindicator-no-Werror.patch dimstar@opensuse.org -- Don't add -Werror on build: the code is aging and does not keep up
Patch2: libappindicator-no-Werror.patch
# PATCH-FIX-OPENSUSE only_require_python_for_gtk2.patch -- Only require Python when building for GTK2
Patch3: only_require_python_for_gtk2.patch
# PATCH-FIX-OPENSUSE make_gtk_doc_optional.patch -- Do not require macros from gtk-doc # PATCH-FIX-OPENSUSE make_gtk_doc_optional.patch -- Do not require macros from gtk-doc
Patch4: make_gtk_doc_optional.patch Patch1: make_gtk_doc_optional.patch
# PATCH-FIX-UPSTREAM xappstatusicon.patch maurizio.galli@gmail.com -- Original patch by Linux Mint. Include support for XAppStatusIcon by Linux Mint # PATCH-FIX-OPENSUSE xappstatusicon.patch maurizio.galli@gmail.com -- Original patch by Linux Mint. Include support for XAppStatusIcon by Linux Mint
Patch5: xappstatusicon.patch #Patch2: xappstatusicon.patch
BuildRequires: autoconf BuildRequires: autoconf
BuildRequires: automake BuildRequires: automake
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: libtool BuildRequires: libtool
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: vala
BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(gobject-introspection-1.0)
#BuildRequires: pkgconfig(xapp) >= 1.5.0 %if "%{flavor}" == ""
ExclusiveArch: do-not-build
%endif
%if "%{flavor}" == "gtk2" %if "%{flavor}" == "gtk2"
BuildRequires: pkgconfig(dbusmenu-gtk-0.4) BuildRequires: pkgconfig(dbusmenu-gtk-0.4)
BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(indicator-0.4)
%if %{with python}
BuildRequires: pkgconfig(pygtk-2.0)
%endif
%if %{with mono} %if %{with mono}
BuildRequires: pkgconfig(gapi-2.0) BuildRequires: pkgconfig(gapi-2.0)
BuildRequires: pkgconfig(gtk-sharp-2.0) BuildRequires: pkgconfig(gtk-sharp-2.0)
@ -76,9 +62,10 @@ BuildRequires: pkgconfig(mono)
BuildRequires: pkgconfig(nunit) BuildRequires: pkgconfig(nunit)
%endif %endif
%else %else
BuildRequires: vala
BuildRequires: pkgconfig(dbusmenu-gtk3-0.4) BuildRequires: pkgconfig(dbusmenu-gtk3-0.4)
BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(indicator3-0.4) #BuildRequires: pkgconfig(xapp) >= 1.5.0
%endif %endif
%description %description
@ -86,17 +73,6 @@ A library to allow applications to export a menu into the Unity Menu bar. Based
on KSNI it also works in KDE and will fallback to generic Systray support if on KSNI it also works in KDE and will fallback to generic Systray support if
none of those are available. none of those are available.
%package -n python2-appindicator
Summary: Python 2 bindings for libappindicator
Group: Development/Languages/Python
Requires: libappindicator%{sover} = %{version}
# python-appindicator was last used in openSUSE Leap 42.2.
Provides: python-appindicator = %{version}
Obsoletes: python-appindicator < %{version}
%description -n python2-appindicator
This package contains the Python 2 bindings for the appindicator library.
%package -n libappindicator%{sover} %package -n libappindicator%{sover}
Summary: Application indicators library Summary: Application indicators library
Group: System/Libraries Group: System/Libraries
@ -107,24 +83,8 @@ A library to allow applications to export a menu into the Unity Menu bar. Based
on KSNI it also works in KDE and will fallback to generic Systray support if on KSNI it also works in KDE and will fallback to generic Systray support if
none of those are available. none of those are available.
%package -n typelib-1_0-AppIndicator-0_1
Summary: Application indicators library
Group: System/Libraries
%description -n typelib-1_0-AppIndicator-0_1
This package contains the GObject Introspection bindings for the appindicator
library.
%package devel
Summary: Development files for libappindicator
Group: Development/Libraries/C and C++
Requires: libappindicator%{?psuffix:%{psuffix}-}%{sover} = %{version}
%description devel
This package contains the development files for the appindicator%{?psuffix} library.
%package -n libappindicator3-%{sover} %package -n libappindicator3-%{sover}
Summary: Application indicators library for GTK+3 Summary: Application indicators library for GTK 3
Group: System/Libraries Group: System/Libraries
# Fedora and friends compatibility symbol # Fedora and friends compatibility symbol
Provides: libappindicator-gtk3 = %{version} Provides: libappindicator-gtk3 = %{version}
@ -134,7 +94,7 @@ A library to allow applications to export a menu into the Unity Menu bar. Based
on KSNI it also works in KDE and will fallback to generic Systray support if on KSNI it also works in KDE and will fallback to generic Systray support if
none of those are available. none of those are available.
This package contains the GTK+ 3 version of this library. This package contains the GTK 3 version of the library.
%package -n typelib-1_0-AppIndicator3-0_1 %package -n typelib-1_0-AppIndicator3-0_1
Summary: Application indicators library Summary: Application indicators library
@ -144,15 +104,6 @@ Group: System/Libraries
This package contains the GObject Introspection bindings for the appindicator This package contains the GObject Introspection bindings for the appindicator
library. library.
%package doc
Summary: Documentation for libappindicator and libappindicator3
Group: Documentation/HTML
BuildArch: noarch
%description doc
This package contains the documentation for the appindicator and appindicator3
libraries.
%package -n appindicator-sharp %package -n appindicator-sharp
Summary: Application indicators library for C# Summary: Application indicators library for C#
Group: System/Libraries Group: System/Libraries
@ -171,17 +122,27 @@ Requires: appindicator-sharp = %{version}
%description -n appindicator-sharp-devel %description -n appindicator-sharp-devel
This package contains the development files for the appindicator-sharp library. This package contains the development files for the appindicator-sharp library.
%package devel
Summary: Development files for libappindicator
Group: Development/Libraries/C and C++
Requires: libappindicator%{?psuffix:%{psuffix}-}%{sover} = %{version}
%description devel
This package contains the development files for the appindicator%{?psuffix} library.
%package doc
Summary: Documentation for libappindicator and libappindicator3
Group: Documentation/HTML
BuildArch: noarch
%description doc
This package contains the documentation for the appindicator and appindicator3
libraries.
%prep %prep
%setup -q -c %autosetup -c -p1
cp ./src/app-indicator.c ./src/app-indicator-gtk2.c
%patch0 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
#patch5 -p1
%build %build
%global optflags %{optflags} -fcommon
# Create dummy file, to avoid dependency on gtk-doc # Create dummy file, to avoid dependency on gtk-doc
echo "EXTRA_DIST = " >> gtk-doc.make echo "EXTRA_DIST = " >> gtk-doc.make
autoreconf -vfi autoreconf -vfi
@ -194,12 +155,16 @@ export CSC=%{_bindir}/gmcs
--disable-gtk-doc \ --disable-gtk-doc \
--disable-mono-test \ --disable-mono-test \
--with-gtk=%{gtkver} --with-gtk=%{gtkver}
make -j1 V=1 %make_build
%install %install
%make_install %make_install
find %{buildroot} -type f -name "*.la" -delete -print find %{buildroot} -type f -name "*.la" -delete -print
%fdupes %{buildroot}%{python2_sitearch}
%if "%{flavor}" == "gtk2"
rm %{buildroot}%{_libdir}/girepository-1.0/AppIndicator3-0.1.typelib
rm %{buildroot}%{_datadir}/gir-1.0/AppIndicator3-0.1.gir
%endif
%post -n libappindicator%{sover} -p /sbin/ldconfig %post -n libappindicator%{sover} -p /sbin/ldconfig
@ -209,43 +174,36 @@ find %{buildroot} -type f -name "*.la" -delete -print
%postun -n libappindicator3-%{sover} -p /sbin/ldconfig %postun -n libappindicator3-%{sover} -p /sbin/ldconfig
%if %{with python}
%files -n python2-appindicator
%license COPYING COPYING.LGPL.2.1
%doc README
%dir %{python2_sitearch}/appindicator/
%{python2_sitearch}/appindicator/__init__.py*
%{python2_sitearch}/appindicator/_appindicator.so
%dir %{_datadir}/pygtk/
%dir %{_datadir}/pygtk/2.0/
%dir %{_datadir}/pygtk/2.0/defs/
%{_datadir}/pygtk/2.0/defs/appindicator.defs
%endif
%if "%{flavor}" == "gtk2" %if "%{flavor}" == "gtk2"
%files -n libappindicator%{sover} %files -n libappindicator%{sover}
%license COPYING COPYING.LGPL.2.1 %license COPYING COPYING.LGPL.2.1
%doc README %doc README
%{_libdir}/libappindicator.so.%{sover}* %{_libdir}/libappindicator.so.%{sover}*
%files -n typelib-1_0-AppIndicator-0_1 %if %{with mono}
%files -n appindicator-sharp
%license COPYING COPYING.LGPL.2.1 %license COPYING COPYING.LGPL.2.1
%doc README %doc README
%{_libdir}/girepository-1.0/AppIndicator-0.1.typelib %{_libdir}/appindicator-sharp-0.1/
%{_libexecdir}/mono/appindicator-sharp/
%{_libexecdir}/mono/gac/appindicator-sharp/
%{_libexecdir}/mono/gac/policy.0.0.appindicator-sharp/
%files -n appindicator-sharp-devel
%license COPYING COPYING.LGPL.2.1
%doc README
%{_libdir}/pkgconfig/appindicator-sharp-0.1.pc
%endif
%files devel %files devel
%license COPYING COPYING.LGPL.2.1 %license COPYING COPYING.LGPL.2.1
%doc README %doc README
%dir %{_includedir}/libappindicator-0.1/ %{_includedir}/libappindicator-0.1/
%dir %{_includedir}/libappindicator-0.1/libappindicator/
%{_includedir}/libappindicator-0.1/libappindicator/*.h
%{_libdir}/libappindicator.so %{_libdir}/libappindicator.so
%{_libdir}/pkgconfig/appindicator-0.1.pc %{_libdir}/pkgconfig/appindicator-0.1.pc
%{_datadir}/gir-1.0/AppIndicator-0.1.gir
%{_datadir}/vala/vapi/appindicator-0.1.vapi
%{_datadir}/vala/vapi/appindicator-0.1.deps
%else %else
%files -n libappindicator3-%{sover} %files -n libappindicator3-%{sover}
%license COPYING COPYING.LGPL.2.1 %license COPYING COPYING.LGPL.2.1
%doc README %doc README
@ -259,43 +217,11 @@ find %{buildroot} -type f -name "*.la" -delete -print
%files -n libappindicator3-devel %files -n libappindicator3-devel
%license COPYING COPYING.LGPL.2.1 %license COPYING COPYING.LGPL.2.1
%doc README %doc README
%dir %{_includedir}/libappindicator3-0.1/ %{_includedir}/libappindicator3-0.1/
%dir %{_includedir}/libappindicator3-0.1/libappindicator/
%{_includedir}/libappindicator3-0.1/libappindicator/*.h
%{_libdir}/libappindicator3.so %{_libdir}/libappindicator3.so
%{_libdir}/pkgconfig/appindicator3-0.1.pc %{_libdir}/pkgconfig/appindicator3-0.1.pc
%{_datadir}/gir-1.0/AppIndicator3-0.1.gir %{_datadir}/gir-1.0/AppIndicator3-0.1.gir
%{_datadir}/vala/vapi/appindicator3-0.1.vapi %{_datadir}/vala/vapi/appindicator3-0.1.*
%{_datadir}/vala/vapi/appindicator3-0.1.deps
%endif
%if %{with mono}
%files -n appindicator-sharp
%license COPYING COPYING.LGPL.2.1
%doc README
%dir %{_libdir}/appindicator-sharp-0.1/
%{_libdir}/appindicator-sharp-0.1/appindicator-sharp.dll
%{_libdir}/appindicator-sharp-0.1/appindicator-sharp.dll.config
%{_libdir}/appindicator-sharp-0.1/policy.0.0.appindicator-sharp.config
%{_libdir}/appindicator-sharp-0.1/policy.0.0.appindicator-sharp.dll
%{_libdir}/appindicator-sharp-0.1/policy.0.1.appindicator-sharp.config
%{_libdir}/appindicator-sharp-0.1/policy.0.1.appindicator-sharp.dll
%dir %{_prefix}/lib/mono/appindicator-sharp/
%{_prefix}/lib/mono/appindicator-sharp/appindicator-sharp.dll
%{_prefix}/lib/mono/appindicator-sharp/policy.0.0.appindicator-sharp.dll
%dir %{_prefix}/lib/mono/gac/appindicator-sharp/
%dir %{_prefix}/lib/mono/gac/appindicator-sharp/*/
%{_prefix}/lib/mono/gac/appindicator-sharp/*/appindicator-sharp.dll
%{_prefix}/lib/mono/gac/appindicator-sharp/*/appindicator-sharp.dll.config
%dir %{_prefix}/lib/mono/gac/policy.0.0.appindicator-sharp/
%dir %{_prefix}/lib/mono/gac/policy.0.0.appindicator-sharp/*/
%{_prefix}/lib/mono/gac/policy.0.0.appindicator-sharp/*/policy.0.0.appindicator-sharp.config
%{_prefix}/lib/mono/gac/policy.0.0.appindicator-sharp/*/policy.0.0.appindicator-sharp.dll
%files -n appindicator-sharp-devel
%license COPYING COPYING.LGPL.2.1
%doc README
%{_libdir}/pkgconfig/appindicator-sharp-0.1.pc
%endif %endif
%changelog %changelog

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1db7df6c5da6b64e7d016ac2adefb0519c8944ef2b32be4c64c55cc849a0577e
size 71240

BIN
libappindicator_12.10.1+20.10.20200706.1.orig.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,19 +0,0 @@
--- a/configure.ac 2019-09-18 20:01:29.244433451 +0200
+++ b/configure.ac 2019-09-18 20:06:01.479617139 +0200
@@ -185,6 +185,8 @@
# Python
###########################
+AS_IF([test "x$with_gtk" = x2],
+ [
PYGTK_REQUIRED=2.14.0
PYGOBJECT_REQUIRED=0.22
@@ -207,6 +209,7 @@
PYGTK_CODEGEN="$PYTHON `$PKG_CONFIG --variable=codegendir pygtk-2.0`/codegen.py"
AC_SUBST(PYGTK_CODEGEN)
AC_MSG_RESULT($PYGTK_CODEGEN)
+])
#########################
# Check if build tests

View File

@ -1,20 +1,18 @@
diff -rub a/configure.ac b/configure.ac --- a/configure.ac
--- a/configure.ac 2017-02-15 22:15:21.000000000 +0800 +++ b/configure.ac
+++ b/configure.ac 2020-02-13 00:42:12.928497295 +0800 @@ -61,7 +61,8 @@ AS_IF([test "x$with_gtk" = x3],
@@ -58,7 +58,8 @@
glib-2.0 >= $GLIB_REQUIRED_VERSION glib-2.0 >= $GLIB_REQUIRED_VERSION
gio-unix-2.0
gio-2.0 >= $GIO_REQUIRED_VERSION gio-2.0 >= $GIO_REQUIRED_VERSION
indicator3-0.4 >= $INDICATOR_REQUIRED_VERSION
- dbusmenu-gtk3-0.4 >= $DBUSMENUGTK_REQUIRED_VERSION) - dbusmenu-gtk3-0.4 >= $DBUSMENUGTK_REQUIRED_VERSION)
+ dbusmenu-gtk3-0.4 >= $DBUSMENUGTK_REQUIRED_VERSION + dbusmenu-gtk3-0.4 >= $DBUSMENUGTK_REQUIRED_VERSION
+ xapp >= 1.5.0) + xapp >= 1.5.0)
AC_DEFINE(HAVE_GTK3, 1, [whether gtk3 is available]) AC_DEFINE(HAVE_GTK3, 1, [whether gtk3 is available])
], ],
[test "x$with_gtk" = x2], [test "x$with_gtk" = x2],
diff -rub a/src/appindicator3-0.1.pc.in b/src/appindicator3-0.1.pc.in --- a/src/appindicator3-0.1.pc.in
--- a/src/appindicator3-0.1.pc.in 2017-02-15 22:15:21.000000000 +0800 +++ b/src/appindicator3-0.1.pc.in
+++ b/src/appindicator3-0.1.pc.in 2020-02-12 23:39:49.768066612 +0800 @@ -5,7 +5,7 @@ bindir=@bindir@
@@ -5,7 +5,7 @@
includedir=@includedir@ includedir=@includedir@
Cflags: -I${includedir}/libappindicator3-0.1 Cflags: -I${includedir}/libappindicator3-0.1
@ -23,10 +21,9 @@ diff -rub a/src/appindicator3-0.1.pc.in b/src/appindicator3-0.1.pc.in
Libs: -L${libdir} -lappindicator3 Libs: -L${libdir} -lappindicator3
Name: appindicator3-0.1 Name: appindicator3-0.1
diff -rub a/src/app-indicator.c b/src/app-indicator.c --- a/src/app-indicator.c
--- a/src/app-indicator.c 2017-02-15 22:15:36.000000000 +0800 +++ b/src/app-indicator.c
+++ b/src/app-indicator.c 2020-02-13 01:07:11.066450662 +0800 @@ -31,6 +31,8 @@ License version 3 and version 2.1 along
@@ -31,6 +31,8 @@
#include "config.h" #include "config.h"
#endif #endif
@ -35,7 +32,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
#include <libdbusmenu-glib/menuitem.h> #include <libdbusmenu-glib/menuitem.h>
#include <libdbusmenu-glib/server.h> #include <libdbusmenu-glib/server.h>
#include <libdbusmenu-gtk/client.h> #include <libdbusmenu-gtk/client.h>
@@ -52,6 +54,8 @@ @@ -52,6 +54,8 @@ License version 3 and version 2.1 along
#define PANEL_ICON_SUFFIX "panel" #define PANEL_ICON_SUFFIX "panel"
@ -44,7 +41,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
/** /**
* AppIndicatorPrivate: * AppIndicatorPrivate:
* All of the private data in an instance of an application indicator. * All of the private data in an instance of an application indicator.
@@ -90,7 +94,7 @@ @@ -90,7 +94,7 @@ struct _AppIndicatorPrivate {
gchar * att_accessible_desc; gchar * att_accessible_desc;
guint label_change_idle; guint label_change_idle;
@ -53,7 +50,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
gint fallback_timer; gint fallback_timer;
/* Fun stuff */ /* Fun stuff */
@@ -186,14 +190,11 @@ @@ -186,14 +190,11 @@ static void check_connect (AppIndicator
static void register_service_cb (GObject * obj, GAsyncResult * res, gpointer user_data); static void register_service_cb (GObject * obj, GAsyncResult * res, gpointer user_data);
static void start_fallback_timer (AppIndicator * self, gboolean disable_timeout); static void start_fallback_timer (AppIndicator * self, gboolean disable_timeout);
static gboolean fallback_timer_expire (gpointer data); static gboolean fallback_timer_expire (gpointer data);
@ -71,7 +68,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
static gchar * append_panel_icon_suffix (const gchar * icon_name); static gchar * append_panel_icon_suffix (const gchar * icon_name);
static gchar * get_real_theme_path (AppIndicator * self); static gchar * get_real_theme_path (AppIndicator * self);
static gchar * append_snap_prefix (const gchar * path); static gchar * append_snap_prefix (const gchar * path);
@@ -952,6 +953,9 @@ @@ -988,6 +989,9 @@ app_indicator_set_property (GObject * ob
if (g_strcmp0(oldlabel, priv->label) != 0) { if (g_strcmp0(oldlabel, priv->label) != 0) {
signal_label_change(APP_INDICATOR(object)); signal_label_change(APP_INDICATOR(object));
@ -81,7 +78,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
} }
if (oldlabel != NULL) { if (oldlabel != NULL) {
@@ -983,15 +987,16 @@ @@ -1019,15 +1023,16 @@ app_indicator_set_property (GObject * ob
g_warning("Unable to send signal for NewTitle: %s", error->message); g_warning("Unable to send signal for NewTitle: %s", error->message);
g_error_free(error); g_error_free(error);
} }
@ -101,7 +98,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
break; break;
} }
case PROP_LABEL_GUIDE: { case PROP_LABEL_GUIDE: {
@@ -1521,19 +1526,60 @@ @@ -1557,19 +1562,60 @@ theme_changed_cb (GtkIconTheme * theme,
return; return;
} }
@ -166,7 +163,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
g_signal_connect(G_OBJECT(self), APP_INDICATOR_SIGNAL_NEW_STATUS, g_signal_connect(G_OBJECT(self), APP_INDICATOR_SIGNAL_NEW_STATUS,
G_CALLBACK(status_icon_status_wrapper), icon); G_CALLBACK(status_icon_status_wrapper), icon);
g_signal_connect(G_OBJECT(self), APP_INDICATOR_SIGNAL_NEW_ICON, g_signal_connect(G_OBJECT(self), APP_INDICATOR_SIGNAL_NEW_ICON,
@@ -1541,12 +1587,11 @@ @@ -1577,12 +1623,11 @@ fallback (AppIndicator * self)
g_signal_connect(G_OBJECT(self), APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON, g_signal_connect(G_OBJECT(self), APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON,
G_CALLBACK(status_icon_changes), icon); G_CALLBACK(status_icon_changes), icon);
@ -182,7 +179,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
return icon; return icon;
} }
@@ -1561,49 +1606,22 @@ @@ -1597,49 +1642,22 @@ status_icon_status_wrapper (AppIndicator
/* A wrapper for redirecting the scroll events to the app-indicator from status /* A wrapper for redirecting the scroll events to the app-indicator from status
icon widget. */ icon widget. */
@ -192,6 +189,9 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
- g_return_val_if_fail(IS_APP_INDICATOR(data), FALSE); - g_return_val_if_fail(IS_APP_INDICATOR(data), FALSE);
- AppIndicator * app = APP_INDICATOR(data); - AppIndicator * app = APP_INDICATOR(data);
- g_signal_emit(app, signals[SCROLL_EVENT], 0, 1, event->direction); - g_signal_emit(app, signals[SCROLL_EVENT], 0, 1, event->direction);
-
- return TRUE;
-}
+// static gboolean +// static gboolean
+// scroll_event_wrapper (GtkWidget *status_icon, GdkEventScroll *event, gpointer data) +// scroll_event_wrapper (GtkWidget *status_icon, GdkEventScroll *event, gpointer data)
+// { +// {
@ -199,9 +199,6 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
+// AppIndicator * app = APP_INDICATOR(data); +// AppIndicator * app = APP_INDICATOR(data);
+// g_signal_emit(app, signals[SCROLL_EVENT], 0, 1, event->direction); +// g_signal_emit(app, signals[SCROLL_EVENT], 0, 1, event->direction);
- return TRUE;
-}
-
-static gboolean -static gboolean
-middle_click_wrapper (GtkWidget *status_icon, GdkEventButton *event, gpointer data) -middle_click_wrapper (GtkWidget *status_icon, GdkEventButton *event, gpointer data)
-{ -{
@ -241,7 +238,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
/* add the icon_theme_path once if needed */ /* add the icon_theme_path once if needed */
GtkIconTheme *icon_theme = gtk_icon_theme_get_default(); GtkIconTheme *icon_theme = gtk_icon_theme_get_default();
@@ -1632,17 +1650,17 @@ @@ -1668,17 +1686,17 @@ status_icon_changes (AppIndicator * self
switch (app_indicator_get_status(self)) { switch (app_indicator_get_status(self)) {
case APP_INDICATOR_STATUS_PASSIVE: case APP_INDICATOR_STATUS_PASSIVE:
/* hide first to avoid that the change is visible to the user */ /* hide first to avoid that the change is visible to the user */
@ -262,7 +259,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
break; break;
}; };
@@ -1650,65 +1668,66 @@ @@ -1686,16 +1704,45 @@ status_icon_changes (AppIndicator * self
gchar *snapped_icon = append_snap_prefix(icon_name); gchar *snapped_icon = append_snap_prefix(icon_name);
if (g_file_test(icon_name, G_FILE_TEST_EXISTS)) { if (g_file_test(icon_name, G_FILE_TEST_EXISTS)) {
@ -279,14 +276,12 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
+ xapp_status_icon_set_icon_name(icon, longname); + xapp_status_icon_set_icon_name(icon, longname);
} else { } else {
- gtk_status_icon_set_from_icon_name(icon, icon_name); - gtk_status_icon_set_from_icon_name(icon, icon_name);
- }
+ if (gtk_icon_theme_has_icon (icon_theme, icon_name)) { + if (gtk_icon_theme_has_icon (icon_theme, icon_name)) {
+ xapp_status_icon_set_icon_name(icon, icon_name); + xapp_status_icon_set_icon_name(icon, icon_name);
+ } else { + } else {
+ gint i; + gint i;
+ gchar *icon_path; + gchar *icon_path;
+
- g_free(longname);
+ const gchar *extensions[] = { + const gchar *extensions[] = {
+ "png", + "png",
+ "svg", + "svg",
@ -297,14 +292,11 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
+ +
+ if (g_file_test (icon_path, G_FILE_TEST_EXISTS)) { + if (g_file_test (icon_path, G_FILE_TEST_EXISTS)) {
+ break; + break;
} + }
+
- g_free(snapped_icon);
+ g_clear_pointer (&icon_path, g_free); + g_clear_pointer (&icon_path, g_free);
} + }
+
- return;
-}
+ if (icon_path) { + if (icon_path) {
+ xapp_status_icon_set_icon_name (icon, icon_path); + xapp_status_icon_set_icon_name (icon, icon_path);
+ g_free (icon_path); + g_free (icon_path);
@ -314,7 +306,12 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
+ xapp_status_icon_set_icon_name (icon, FALLBACK_ICON); + xapp_status_icon_set_icon_name (icon, FALLBACK_ICON);
+ } + }
+ } + }
+ } }
g_free(longname);
@@ -1707,44 +1754,16 @@ status_icon_changes (AppIndicator * self
return;
}
-/* Handles the activate action by the status icon by showing -/* Handles the activate action by the status icon by showing
- the menu in a popup. */ - the menu in a popup. */
@ -324,9 +321,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
- GtkMenu * menu = app_indicator_get_menu(APP_INDICATOR(data)); - GtkMenu * menu = app_indicator_get_menu(APP_INDICATOR(data));
- if (menu == NULL) - if (menu == NULL)
- return; - return;
+ g_free(longname); -
+ }
- gtk_menu_popup(menu, - gtk_menu_popup(menu,
- NULL, /* Parent Menu */ - NULL, /* Parent Menu */
- NULL, /* Parent item */ - NULL, /* Parent item */
@ -334,12 +329,10 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
- icon, - icon,
- 1, /* Button */ - 1, /* Button */
- gtk_get_current_event_time()); - gtk_get_current_event_time());
+ g_free(snapped_icon); -
+ } - return;
-}
return; -
}
-/* Handles the right-click action by the status icon by showing -/* Handles the right-click action by the status icon by showing
- the menu in a popup. */ - the menu in a popup. */
-static void -static void
@ -365,7 +358,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
g_object_unref(G_OBJECT(status_icon)); g_object_unref(G_OBJECT(status_icon));
return; return;
} }
@@ -1760,6 +1779,8 @@ @@ -1796,6 +1815,8 @@ sec_activate_target_parent_changed(GtkWi
g_return_if_fail(IS_APP_INDICATOR(data)); g_return_if_fail(IS_APP_INDICATOR(data));
AppIndicator *self = data; AppIndicator *self = data;
self->priv->sec_activate_enabled = widget_is_menu_child(self, menuitem); self->priv->sec_activate_enabled = widget_is_menu_child(self, menuitem);
@ -374,7 +367,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
} }
@@ -2053,6 +2074,7 @@ @@ -2089,6 +2110,7 @@ app_indicator_set_label (AppIndicator *s
PROP_LABEL_GUIDE_S, guide == NULL ? "" : guide, PROP_LABEL_GUIDE_S, guide == NULL ? "" : guide,
NULL); NULL);
@ -382,7 +375,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
return; return;
} }
@@ -2224,9 +2246,14 @@ @@ -2260,9 +2282,14 @@ app_indicator_set_menu (AppIndicator *se
priv->menu = GTK_WIDGET (menu); priv->menu = GTK_WIDGET (menu);
g_object_ref_sink (priv->menu); g_object_ref_sink (priv->menu);
@ -397,7 +390,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
check_connect (self); check_connect (self);
@@ -2280,6 +2307,7 @@ @@ -2316,6 +2343,7 @@ app_indicator_set_secondary_activate_tar
self); self);
g_object_unref(G_OBJECT(priv->sec_activate_target)); g_object_unref(G_OBJECT(priv->sec_activate_target));
priv->sec_activate_target = NULL; priv->sec_activate_target = NULL;
@ -405,21 +398,17 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c
} }
if (menuitem == NULL) { if (menuitem == NULL) {
@@ -2288,8 +2316,9 @@ @@ -2326,6 +2354,7 @@ app_indicator_set_secondary_activate_tar
g_return_if_fail (GTK_IS_WIDGET (menuitem)); priv->sec_activate_target = g_object_ref(menuitem);
- priv->sec_activate_target = g_object_ref(G_OBJECT(menuitem));
+ priv->sec_activate_target = g_object_ref(menuitem);
priv->sec_activate_enabled = widget_is_menu_child(self, menuitem); priv->sec_activate_enabled = widget_is_menu_child(self, menuitem);
+ status_icon_set_has_secondary_activate (priv->status_icon, priv->sec_activate_enabled); + status_icon_set_has_secondary_activate (priv->status_icon, priv->sec_activate_enabled);
g_signal_connect(menuitem, "parent-set", G_CALLBACK(sec_activate_target_parent_changed), self); g_signal_connect(menuitem, "parent-set", G_CALLBACK(sec_activate_target_parent_changed), self);
} }
diff -rub a/src/app-indicator.h b/src/app-indicator.h --- a/src/app-indicator.h
--- a/src/app-indicator.h 2017-02-15 22:15:21.000000000 +0800 +++ b/src/app-indicator.h
+++ b/src/app-indicator.h 2020-02-13 01:04:06.226176973 +0800 @@ -32,6 +32,14 @@ License version 3 and version 2.1 along
@@ -32,6 +32,14 @@
#include <gtk/gtk.h> #include <gtk/gtk.h>
@ -434,7 +423,7 @@ diff -rub a/src/app-indicator.h b/src/app-indicator.h
G_BEGIN_DECLS G_BEGIN_DECLS
/** /**
@@ -218,10 +226,18 @@ @@ -218,10 +226,18 @@ struct _AppIndicatorClass {
void (*app_indicator_reserved_ats)(void); void (*app_indicator_reserved_ats)(void);
/* Overridable Functions */ /* Overridable Functions */
@ -453,10 +442,9 @@ diff -rub a/src/app-indicator.h b/src/app-indicator.h
/* Reserved */ /* Reserved */
void (*app_indicator_reserved_1)(void); void (*app_indicator_reserved_1)(void);
void (*app_indicator_reserved_2)(void); void (*app_indicator_reserved_2)(void);
diff -rub a/src/Makefile.am b/src/Makefile.am --- a/src/Makefile.am
--- a/src/Makefile.am 2017-02-15 22:15:21.000000000 +0800 +++ b/src/Makefile.am
+++ b/src/Makefile.am 2020-02-13 00:11:49.889693111 +0800 @@ -57,7 +57,6 @@ libappindicatorinclude_HEADERS = \
@@ -57,7 +57,6 @@
libappindicator_la_SOURCES = \ libappindicator_la_SOURCES = \
$(libappindicator_headers) \ $(libappindicator_headers) \
app-indicator-enum-types.c \ app-indicator-enum-types.c \
@ -464,7 +452,7 @@ diff -rub a/src/Makefile.am b/src/Makefile.am
application-service-marshal.c \ application-service-marshal.c \
dbus-shared.h \ dbus-shared.h \
generate-id.h \ generate-id.h \
@@ -67,6 +66,14 @@ @@ -69,6 +68,14 @@ libappindicator_la_SOURCES = \
gen-notification-watcher.xml.h \ gen-notification-watcher.xml.h \
gen-notification-watcher.xml.c gen-notification-watcher.xml.c
@ -479,7 +467,7 @@ diff -rub a/src/Makefile.am b/src/Makefile.am
libappindicator_la_LDFLAGS = \ libappindicator_la_LDFLAGS = \
$(COVERAGE_LDFLAGS) \ $(COVERAGE_LDFLAGS) \
-version-info 1:0:0 \ -version-info 1:0:0 \
@@ -149,9 +156,15 @@ @@ -151,9 +158,15 @@ INTROSPECTION_COMPILER_ARGS = --included
if HAVE_INTROSPECTION if HAVE_INTROSPECTION
@ -493,12 +481,11 @@ diff -rub a/src/Makefile.am b/src/Makefile.am
+ $(addprefix $(srcdir)/,$(libappindicator_headers)) + $(addprefix $(srcdir)/,$(libappindicator_headers))
+endif +endif
AppIndicator$(VER)-0.1.gir: libappindicator$(VER).la AppIndicator3-0.1.gir: libappindicator3.la
diff -rub a/tests/test-libappindicator-fallback-item.c b/tests/test-libappindicator-fallback-item.c --- a/tests/test-libappindicator-fallback-item.c
--- a/tests/test-libappindicator-fallback-item.c 2017-02-15 22:15:21.000000000 +0800 +++ b/tests/test-libappindicator-fallback-item.c
+++ b/tests/test-libappindicator-fallback-item.c 2020-02-13 01:06:01.518347682 +0800 @@ -31,8 +31,14 @@ GType test_libappindicator_fallback_item
@@ -31,8 +31,14 @@
static void test_libappindicator_fallback_item_class_init (TestLibappindicatorFallbackItemClass *klass); static void test_libappindicator_fallback_item_class_init (TestLibappindicatorFallbackItemClass *klass);
static void test_libappindicator_fallback_item_init (TestLibappindicatorFallbackItem *self); static void test_libappindicator_fallback_item_init (TestLibappindicatorFallbackItem *self);
@ -513,7 +500,7 @@ diff -rub a/tests/test-libappindicator-fallback-item.c b/tests/test-libappindica
G_DEFINE_TYPE (TestLibappindicatorFallbackItem, test_libappindicator_fallback_item, APP_INDICATOR_TYPE); G_DEFINE_TYPE (TestLibappindicatorFallbackItem, test_libappindicator_fallback_item, APP_INDICATOR_TYPE);
@@ -63,6 +69,39 @@ @@ -63,6 +69,39 @@ enum {
gint state = STATE_INIT; gint state = STATE_INIT;
@ -553,7 +540,7 @@ diff -rub a/tests/test-libappindicator-fallback-item.c b/tests/test-libappindica
static GtkStatusIcon * static GtkStatusIcon *
fallback (AppIndicator * indicator) fallback (AppIndicator * indicator)
{ {
@@ -94,6 +133,7 @@ @@ -94,6 +133,7 @@ unfallback (AppIndicator * indicator, Gt
} }
return; return;
} }