diff options
author | Balló György | 2015-07-25 00:49:56 +0200 |
---|---|---|
committer | Balló György | 2015-07-25 00:49:56 +0200 |
commit | b725fb7106b40a9ca52472fa6fd2d07ad201cb8e (patch) | |
tree | 8b9a0e0a77f235bdbc5b1f0114ef5c8886e4f921 | |
parent | 40f1c09b85fdf141845abea7880085468103ae74 (diff) | |
download | aur-b725fb7106b40a9ca52472fa6fd2d07ad201cb8e.tar.gz |
upgpkg: lxlauncher-gtk3 0.2.4-2
Fixes for GTK+ 3
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | 0001-Workaround-for-invisible-icons-on-GTK-3.patch | 60 | ||||
-rw-r--r-- | 0002-Add-styling-support-for-GTK-3.patch | 149 | ||||
-rw-r--r-- | PKGBUILD | 20 |
4 files changed, 231 insertions, 4 deletions
@@ -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 + @@ -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 |