summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBalló György2015-07-25 00:49:56 +0200
committerBalló György2015-07-25 00:49:56 +0200
commitb725fb7106b40a9ca52472fa6fd2d07ad201cb8e (patch)
tree8b9a0e0a77f235bdbc5b1f0114ef5c8886e4f921
parent40f1c09b85fdf141845abea7880085468103ae74 (diff)
downloadaur-b725fb7106b40a9ca52472fa6fd2d07ad201cb8e.tar.gz
upgpkg: lxlauncher-gtk3 0.2.4-2
Fixes for GTK+ 3
-rw-r--r--.SRCINFO6
-rw-r--r--0001-Workaround-for-invisible-icons-on-GTK-3.patch60
-rw-r--r--0002-Add-styling-support-for-GTK-3.patch149
-rw-r--r--PKGBUILD20
4 files changed, 231 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ea7d3b5197e9..4ea91595753d 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = lxlauncher-gtk3
pkgdesc = Open source clone of the Asus launcher for EeePC (GTK+ 3 version)
pkgver = 0.2.4
- pkgrel = 1
+ pkgrel = 2
url = http://lxde.org/
arch = i686
arch = x86_64
@@ -17,7 +17,11 @@ pkgbase = lxlauncher-gtk3
backup = etc/xdg/lxlauncher/gtkrc
backup = etc/xdg/lxlauncher/settings.conf
source = http://downloads.sourceforge.net/lxde/lxlauncher-0.2.4.tar.xz
+ source = 0001-Workaround-for-invisible-icons-on-GTK-3.patch
+ source = 0002-Add-styling-support-for-GTK-3.patch
md5sums = 8a21590c085ad82f4f50e4affb7ad0ab
+ md5sums = 843235c45fd98a74c11ec76c423bf730
+ md5sums = ba2df6587d2699ac74291f099a311dc7
pkgname = lxlauncher-gtk3
diff --git a/0001-Workaround-for-invisible-icons-on-GTK-3.patch b/0001-Workaround-for-invisible-icons-on-GTK-3.patch
new file mode 100644
index 000000000000..73a3a435acdf
--- /dev/null
+++ b/0001-Workaround-for-invisible-icons-on-GTK-3.patch
@@ -0,0 +1,60 @@
+From c038ca07ccd599a568bb1a9901742d2197184a03 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor@gmail.com>
+Date: Sat, 25 Jul 2015 00:38:11 +0200
+Subject: [PATCH 1/2] Workaround for invisible icons on GTK+ 3
+
+- Fix background drawing.
+- Button label size hack is not needed on GTK+ 3.
+- Disable monitoring changes in menu on GTK+ 3, as it currently causes invisible icons.
+---
+ src/lxlauncher.c | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/src/lxlauncher.c b/src/lxlauncher.c
+index 17f91f9..b6f566e 100644
+--- a/src/lxlauncher.c
++++ b/src/lxlauncher.c
+@@ -197,6 +197,7 @@ static GtkWidget* add_btn( GtkWidget* table, const char* text, GdkPixbuf* icon,
+
+ gtk_widget_set_tooltip_text(btn, tip);
+
++#if !GTK_CHECK_VERSION(3, 0, 0)
+ /* Adjust the size of label and set line wrapping is needed.
+ * FIXME: this is too dirty, and the effect is quite limited.
+ * However, due to the unfortunate design flaws of gtk+, the
+@@ -223,11 +224,6 @@ static GtkWidget* add_btn( GtkWidget* table, const char* text, GdkPixbuf* icon,
+ }
+
+ gtk_widget_set_app_paintable( btn, TRUE );
+-#if GTK_CHECK_VERSION(3, 0, 0)
+- GdkRGBA color;
+- gdk_rgba_parse(&color, "none");
+- gtk_widget_override_background_color ((GtkWidget*)btn, GTK_STATE_FLAG_NORMAL, &color);
+-#else
+ gdk_window_set_back_pixmap( ((GtkWidget*)btn)->window, NULL, TRUE );
+ #endif
+ return btn;
+@@ -291,6 +287,9 @@ static gboolean on_viewport_draw( GtkWidget* w, cairo_t *cr1, gpointer data )
+ {
+ pixbuf = gdk_pixbuf_scale_simple(pixbuf, alloc.width, alloc.height,
+ GDK_INTERP_BILINEAR);
++ GdkRGBA color;
++ gdk_rgba_parse(&color, "none");
++ gtk_widget_override_background_color (w, GTK_STATE_FLAG_NORMAL, &color);
+ g_object_set_data_full(G_OBJECT(w), "LXLauncher:background",
+ pixbuf, g_object_unref);
+ }
+@@ -989,7 +988,10 @@ int main(int argc, char** argv)
+ #else
+ root_dir = MENU_CACHE_DIR(menu_cache_item_ref(MENU_CACHE_ITEM(menu_cache_get_root_dir( menu_tree ))));
+ #endif
++#if !GTK_CHECK_VERSION(3, 0, 0)
++ /* FIXME: apps become invisible on GTK+ 3.*/
+ reload_notify_id = menu_cache_add_reload_notify( menu_tree, on_menu_tree_changed, NULL );
++#endif
+
+ create_notebook_pages();
+
+--
+2.4.6
+
diff --git a/0002-Add-styling-support-for-GTK-3.patch b/0002-Add-styling-support-for-GTK-3.patch
new file mode 100644
index 000000000000..22581d89e0ac
--- /dev/null
+++ b/0002-Add-styling-support-for-GTK-3.patch
@@ -0,0 +1,149 @@
+From bf9e12f494b3ca8ba928844bbbaceb6b6ffd8855 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor@gmail.com>
+Date: Sat, 25 Jul 2015 00:36:58 +0200
+Subject: [PATCH 2/2] Add styling support for GTK+ 3
+
+Styling is done via CSS files. Add a default CSS style.
+---
+ Makefile.am | 4 +++-
+ README | 6 ++++--
+ data/lxlauncher.1.in | 5 ++++-
+ gtk.css | 26 ++++++++++++++++++++++++++
+ src/lxlauncher.c | 26 ++++++++++++++++++++++++++
+ 5 files changed, 63 insertions(+), 4 deletions(-)
+ create mode 100644 gtk.css
+
+diff --git a/Makefile.am b/Makefile.am
+index d939271..e99f472 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -7,7 +7,9 @@ conf_in_files=settings.conf.in
+ conf_DATA=$(conf_in_files:.conf.in=.conf)
+
+ themedir=$(confdir)
+-theme_DATA=gtkrc
++theme_DATA=\
++ gtkrc \
++ gtk.css
+
+ menufiledir=$(sysconfdir)/xdg/menus
+ menufile_DATA=\
+diff --git a/README b/README
+index 3be4e9c..122ca01 100644
+--- a/README
++++ b/README
+@@ -16,7 +16,7 @@ Also, if you put the tab icons of Asus launcher under
+ /usr/share/lxlauncher/icons, they will be used in the tabs.
+ Otherwise, some icons from the gtk+ icon theme will be used instead.
+
+-The LXLauncher has two configuration files to be tuned by users:
++The LXLauncher has three configuration files to be tuned by users:
+
+ 1) ~/.config/lxlauncher/settings.conf which is an init-style file with
+ contents defaults as below:
+@@ -25,7 +25,9 @@ contents defaults as below:
+ BUTTON_SIZE = 120
+ IMG_SIZE = 48
+
+-2) ~/.config/lxlauncher/gtkrc which is an RC file with custom style.
++2) ~/.config/lxlauncher/gtkrc which is a GTK+ 2 RC file with custom style.
++
++3) ~/.config/lxlauncher/gtk.css which is a GTK+ 3 CSS file with custom style.
+
+ Also one additional setting can be set in global GTK settings:
+
+diff --git a/data/lxlauncher.1.in b/data/lxlauncher.1.in
+index 3ce7193..79514df 100644
+--- a/data/lxlauncher.1.in
++++ b/data/lxlauncher.1.in
+@@ -17,7 +17,10 @@ specific application programs to one view under tabs.
+ An init-style file with display settings
+ .TP
+ .I ~/.config/lxlauncher/gtkrc
+-A GTK+ RC file with style definitions
++A GTK+ 2 RC file with style definitions
++.TP
++.I ~/.config/lxlauncher/gtk.css
++A GTK+ 3 CSS file with style definitions
+ .SH AUTHOR
+ lxlauncher was written by Hong Jen Yee <pcman.tw@gmail.com>.
+ Some code was taken from guification plugin of gaim/pidgin and
+diff --git a/gtk.css b/gtk.css
+new file mode 100644
+index 0000000..93407ee
+--- /dev/null
++++ b/gtk.css
+@@ -0,0 +1,26 @@
++GtkViewport {
++ background: none;
++}
++
++.notebook {
++ background: #3675AD;
++ font: Sans Bold 11;
++}
++
++.notebook > .frame,
++.notebook > .vertical {
++ background: #B7D6EA;
++}
++
++.notebook > .horizontal .label {
++ color: #B7D6EA;
++}
++
++.notebook > .horizontal.active-page .label {
++ color: #FFFFFF;
++}
++
++.notebook > .vertical .label,
++.button .label {
++ color: #3675AD;
++}
+diff --git a/src/lxlauncher.c b/src/lxlauncher.c
+index b6f566e..74d9d08 100644
+--- a/src/lxlauncher.c
++++ b/src/lxlauncher.c
+@@ -908,6 +908,31 @@ int main(int argc, char** argv)
+ gchar *file;
+
+ i = g_strv_length((char **)system_dirs);
++#if GTK_CHECK_VERSION(3,0,0)
++ while (i > 0)
++ {
++ file=g_build_filename(system_dirs[--i], "lxlauncher/gtk.css", NULL);
++ if (g_file_test(file, G_FILE_TEST_EXISTS) == TRUE)
++ {
++ GtkCssProvider *css = gtk_css_provider_new();
++ gtk_css_provider_load_from_path(css, file, NULL);
++ gtk_style_context_add_provider_for_screen(gdk_screen_get_default(),
++ GTK_STYLE_PROVIDER(css),
++ GTK_STYLE_PROVIDER_PRIORITY_USER);
++ }
++ free(file);
++ }
++ file=g_build_filename(g_get_user_config_dir(), "lxlauncher/gtk.css", NULL);
++ if (g_file_test(file, G_FILE_TEST_EXISTS) == TRUE)
++ {
++ GtkCssProvider *css = gtk_css_provider_new();
++ gtk_css_provider_load_from_path(css, file, NULL);
++ gtk_style_context_add_provider_for_screen(gdk_screen_get_default(),
++ GTK_STYLE_PROVIDER(css),
++ GTK_STYLE_PROVIDER_PRIORITY_USER);
++ }
++ free(file);
++#else
+ while (i > 0)
+ {
+ file = g_build_filename(system_dirs[--i], "lxlauncher/gtkrc", NULL);
+@@ -919,6 +944,7 @@ int main(int argc, char** argv)
+ if (g_file_test(file, G_FILE_TEST_EXISTS) == TRUE)
+ gtk_rc_parse(file);
+ free(file);
++#endif
+
+ button_size = g_key_file_get_integer(key_file, "Main", "BUTTON_SIZE", NULL);
+ img_size = g_key_file_get_integer(key_file, "Main", "IMG_SIZE", NULL);
+--
+2.4.6
+
diff --git a/PKGBUILD b/PKGBUILD
index 948edfc0743d..34ada1f4c9a3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@
pkgname=lxlauncher-gtk3
_pkgname=lxlauncher
pkgver=0.2.4
-pkgrel=1
+pkgrel=2
pkgdesc='Open source clone of the Asus launcher for EeePC (GTK+ 3 version)'
arch=('i686' 'x86_64')
license=('GPL2')
@@ -18,8 +18,22 @@ makedepends=('intltool')
conflicts=($_pkgname)
provides=($_pkgname)
backup=('etc/xdg/lxlauncher/gtkrc' 'etc/xdg/lxlauncher/settings.conf')
-source=(http://downloads.sourceforge.net/lxde/$_pkgname-$pkgver.tar.xz)
-md5sums=('8a21590c085ad82f4f50e4affb7ad0ab')
+source=(http://downloads.sourceforge.net/lxde/$_pkgname-$pkgver.tar.xz
+ 0001-Workaround-for-invisible-icons-on-GTK-3.patch
+ 0002-Add-styling-support-for-GTK-3.patch)
+md5sums=('8a21590c085ad82f4f50e4affb7ad0ab'
+ '843235c45fd98a74c11ec76c423bf730'
+ 'ba2df6587d2699ac74291f099a311dc7')
+
+prepare() {
+ cd $_pkgname-$pkgver
+
+ # Fixes for GTK+ 3
+ patch -Np1 -i ../0001-Workaround-for-invisible-icons-on-GTK-3.patch
+ patch -Np1 -i ../0002-Add-styling-support-for-GTK-3.patch
+
+ ./autogen.sh
+}
build() {
cd $_pkgname-$pkgver