community/xfce4-whiskermenu-plugin to 2.4.2-2

This commit is contained in:
Kevin Mihelich 2020-02-22 02:38:48 +00:00
parent 689ca80c95
commit 25a4b9f752
2 changed files with 91 additions and 3 deletions

View file

@ -0,0 +1,80 @@
From 02903f3a2ed1028f7a01d21bd2c216aaf2c42168 Mon Sep 17 00:00:00 2001
From: Graeme Gott <graeme@gottcode.org>
Date: Fri, 21 Feb 2020 08:57:23 -0500
Subject: [PATCH 1/1] Fix loading incorrect icons for some applications.
---
panel-plugin/category.cpp | 2 +-
panel-plugin/element.cpp | 10 ++++++----
panel-plugin/element.h | 2 +-
3 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/panel-plugin/category.cpp b/panel-plugin/category.cpp
index 4128394..0a150ad 100644
--- a/panel-plugin/category.cpp
+++ b/panel-plugin/category.cpp
@@ -49,7 +49,7 @@ Category::Category(GarconMenu* menu) :
{
text = _("All Applications");
}
- set_icon(!exo_str_is_empty(icon) ? icon : "applications-other");
+ set_icon(!exo_str_is_empty(icon) ? icon : "applications-other", true);
set_text(text ? text : "");
set_tooltip(tooltip ? tooltip : "");
}
diff --git a/panel-plugin/element.cpp b/panel-plugin/element.cpp
index 744627a..de71b6d 100644
--- a/panel-plugin/element.cpp
+++ b/panel-plugin/element.cpp
@@ -21,7 +21,7 @@ using namespace WhiskerMenu;
//-----------------------------------------------------------------------------
-void Element::set_icon(const gchar* icon)
+void Element::set_icon(const gchar* icon, bool use_fallbacks)
{
if (m_icon)
{
@@ -34,12 +34,14 @@ void Element::set_icon(const gchar* icon)
return;
}
+ auto themed_icon_new = use_fallbacks ? &g_themed_icon_new_with_default_fallbacks : &g_themed_icon_new;
+
if (!g_path_is_absolute(icon))
{
const gchar* pos = g_strrstr(icon, ".");
if (!pos)
{
- m_icon = g_themed_icon_new_with_default_fallbacks(icon);
+ m_icon = themed_icon_new(icon);
}
else
{
@@ -50,12 +52,12 @@ void Element::set_icon(const gchar* icon)
|| (g_strcmp0(suffix, ".svgz") == 0))
{
gchar* name = g_strndup(icon, pos - icon);
- m_icon = g_themed_icon_new_with_default_fallbacks(name);
+ m_icon = themed_icon_new(name);
g_free(name);
}
else
{
- m_icon = g_themed_icon_new_with_default_fallbacks(icon);
+ m_icon = themed_icon_new(icon);
}
g_free(suffix);
}
diff --git a/panel-plugin/element.h b/panel-plugin/element.h
index 44ed537..1bb8c67 100644
--- a/panel-plugin/element.h
+++ b/panel-plugin/element.h
@@ -79,7 +79,7 @@ public:
protected:
Element() = default;
- void set_icon(const gchar* icon);
+ void set_icon(const gchar* icon, bool use_fallbacks = false);
void set_text(const gchar* text)
{

View file

@ -7,7 +7,7 @@
pkgname=xfce4-whiskermenu-plugin
pkgver=2.4.2
pkgrel=1
pkgrel=2
pkgdesc='Menu for Xfce4'
arch=('x86_64')
url='https://gottcode.org/xfce4-whiskermenu-plugin/'
@ -15,8 +15,16 @@ groups=('xfce4-goodies')
license=('GPL2')
depends=('garcon' 'xfce4-panel' 'gtk3>=3.22')
makedepends=('cmake' 'ninja')
source=("https://archive.be.xfce.org/src/panel-plugins/xfce4-whiskermenu-plugin/${pkgver%.*}/xfce4-whiskermenu-plugin-$pkgver.tar.bz2") # no https available
sha256sums=('fb2e1d44744d851c5339900e7af9068397028efa9ee5235a66ab273e95740dee')
source=("https://archive.be.xfce.org/src/panel-plugins/xfce4-whiskermenu-plugin/${pkgver%.*}/xfce4-whiskermenu-plugin-$pkgver.tar.bz2"
'0001-Fix-loading-incorrect-icons-for-some-applications.patch')
sha256sums=('fb2e1d44744d851c5339900e7af9068397028efa9ee5235a66ab273e95740dee'
'48943613ee63562bf0a55757ae81272400e87e462d0471a9cc753dccd59083cf')
prepare() {
cd "$srcdir/$pkgname-$pkgver"
patch -Np1 < ../0001-Fix-loading-incorrect-icons-for-some-applications.patch
}
build() {
mkdir -p build