summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharles Bos2015-09-13 11:59:10 +0100
committerCharles Bos2015-09-13 11:59:10 +0100
commit5e8e3aac87217674e6c75ed02b34d85ce9507f4a (patch)
tree33454201dabc5674f2c78792c8b6c833d3fe55c8
downloadaur-5e8e3aac87217674e6c75ed02b34d85ce9507f4a.tar.gz
Initial commit
-rw-r--r--.SRCINFO29
-rw-r--r--PKGBUILD54
-rw-r--r--button-visibility.patch15
-rw-r--r--workspace-pager.patch68
-rw-r--r--xfce4-panel.install14
5 files changed, 180 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..39a2cd313fd8
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,29 @@
+pkgbase = xfce4-panel-compiz
+ pkgdesc = Panel for the Xfce desktop environment with fixes for Compiz
+ pkgver = 4.12.0
+ pkgrel = 1
+ url = http://www.xfce.org/
+ install = xfce4-panel.install
+ arch = i686
+ arch = x86_64
+ groups = xfce4
+ license = GPL2
+ makedepends = intltool
+ makedepends = gtk-doc
+ depends = exo
+ depends = garcon
+ depends = libxfce4ui
+ depends = libwnck
+ depends = hicolor-icon-theme
+ depends = desktop-file-utils
+ provides = xfce4-panel=4.12.0
+ conflicts = xfce4-panel
+ source = http://archive.xfce.org/src/xfce/xfce4-panel/4.12/xfce4-panel-4.12.0.tar.bz2
+ source = workspace-pager.patch
+ source = button-visibility.patch
+ sha256sums = 30920fc2e2fc26279a82b5261a155c2cc15ab2aa1ced2275684a6ff8261b97b0
+ sha256sums = 006889db18e8579033db32eeb85257b1f55b7c378881b69a7671d708304f91af
+ sha256sums = 556f7ecc22fdf024101d2e8a0416b953efaef48ff4ed649aab97d5b115a94931
+
+pkgname = xfce4-panel-compiz
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..be6ba9919c70
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,54 @@
+# Maintainer: Charles Bos <charlesbos1 AT gmail>
+# Contributor: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: tobias <tobias funnychar archlinux.org>
+
+pkgname=xfce4-panel-compiz
+_realname=xfce4-panel
+pkgver=4.12.0
+pkgrel=1
+pkgdesc="Panel for the Xfce desktop environment with fixes for Compiz"
+arch=('i686' 'x86_64')
+url="http://www.xfce.org/"
+license=('GPL2')
+groups=('xfce4')
+depends=('exo' 'garcon' 'libxfce4ui' 'libwnck' 'hicolor-icon-theme'
+ 'desktop-file-utils')
+makedepends=('intltool' 'gtk-doc')
+provides=$_realname=$pkgver
+conflicts=$_realname
+install=$_realname.install
+source=(http://archive.xfce.org/src/xfce/$_realname/${pkgver%.*}/$_realname-$pkgver.tar.bz2
+ workspace-pager.patch
+ button-visibility.patch)
+sha256sums=('30920fc2e2fc26279a82b5261a155c2cc15ab2aa1ced2275684a6ff8261b97b0'
+ '006889db18e8579033db32eeb85257b1f55b7c378881b69a7671d708304f91af'
+ '556f7ecc22fdf024101d2e8a0416b953efaef48ff4ed649aab97d5b115a94931')
+
+prepare() {
+ cd "$srcdir/$_realname-$pkgver"
+
+ # Compiz fixes
+ patch -Np1 -i "$srcdir/workspace-pager.patch"
+ patch -Np1 -i "$srcdir/button-visibility.patch"
+}
+
+build() {
+ cd "$srcdir/$_realname-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib \
+ --localstatedir=/var \
+ --disable-static \
+ --enable-gio-unix \
+ --enable-gtk-doc \
+ --enable-gtk3 \
+ --disable-debug
+ make
+}
+
+package() {
+ cd "$srcdir/$_realname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/button-visibility.patch b/button-visibility.patch
new file mode 100644
index 000000000000..a1b7c9bdc74e
--- /dev/null
+++ b/button-visibility.patch
@@ -0,0 +1,15 @@
+diff -Nur original/plugins/tasklist/tasklist-widget.c modified/plugins/tasklist/tasklist-widget.c
+--- original/plugins/tasklist/tasklist-widget.c 2015-02-28 16:37:36.000000000 +0000
++++ modified/plugins/tasklist/tasklist-widget.c 2015-09-05 16:16:03.799548200 +0100
+@@ -2633,6 +2633,11 @@
+ else
+ gtk_widget_hide (child->button);
+ }
++ /* initiate viewport switch on geometry change - fixes buttons not
++ * getting updated when using compiz */
++ active_ws = wnck_screen_get_active_workspace (child->tasklist->screen);
++ if (wnck_workspace_is_virtual (active_ws))
++ xfce_tasklist_viewports_changed (child->tasklist->screen, child->tasklist);
+ }
+
+
diff --git a/workspace-pager.patch b/workspace-pager.patch
new file mode 100644
index 000000000000..fd7f874445f5
--- /dev/null
+++ b/workspace-pager.patch
@@ -0,0 +1,68 @@
+--- xfce4-panel-4.11.0.orig/plugins/pager/pager.c 2014-02-16 03:38:19.000000000 +0100
++++ xfce4-panel-4.11.0/plugins/pager/pager.c 2014-04-19 19:29:18.736189725 +0200
+@@ -88,7 +88,6 @@
+ guint scrolling : 1;
+ guint miniature_view : 1;
+ gint rows;
+- gfloat ratio;
+ };
+
+ enum
+@@ -160,7 +159,6 @@
+ plugin->scrolling = TRUE;
+ plugin->miniature_view = TRUE;
+ plugin->rows = 1;
+- plugin->ratio = 1.0;
+ plugin->pager = NULL;
+ }
+
+@@ -309,7 +307,6 @@
+ g_message ("Setting the pager rows returned false. Maybe the setting is not applied.");
+
+ wnck_pager_set_orientation (WNCK_PAGER (plugin->pager), orientation);
+- plugin->ratio = (gfloat) gdk_screen_width () / (gfloat) gdk_screen_height ();
+ }
+ else
+ {
+@@ -560,26 +557,38 @@
+ PagerPlugin *plugin = XFCE_PAGER_PLUGIN (widget);
+ XfcePanelPluginMode mode;
+ gint n_workspaces, n_cols;
++ gfloat ratio;
++ WnckWorkspace *active_ws;
+
+ if (plugin->miniature_view)
+ {
+ mode = xfce_panel_plugin_get_mode (XFCE_PANEL_PLUGIN (plugin));
+ n_workspaces = wnck_screen_get_workspace_count (plugin->wnck_screen);
+ n_cols = MAX (1, (n_workspaces + plugin->rows - 1) / plugin->rows);
++ active_ws = wnck_screen_get_active_workspace (plugin->wnck_screen);
++ if (wnck_workspace_is_virtual (active_ws))
++ {
++ ratio = (gfloat) wnck_workspace_get_width (active_ws) / (gfloat) wnck_workspace_get_height (active_ws);
++ }
++ else
++ {
++ ratio = (gfloat) gdk_screen_width () / (gfloat) gdk_screen_height ();
++ }
++
+ if (mode == XFCE_PANEL_PLUGIN_MODE_HORIZONTAL)
+ {
+ requisition->height = xfce_panel_plugin_get_size (XFCE_PANEL_PLUGIN (plugin));
+- requisition->width = (gint) (requisition->height / plugin->rows * plugin->ratio * n_cols);
++ requisition->width = (gint) (requisition->height / plugin->rows * ratio * n_cols);
+ }
+ else if (mode == XFCE_PANEL_PLUGIN_MODE_VERTICAL)
+ {
+ requisition->width = xfce_panel_plugin_get_size (XFCE_PANEL_PLUGIN (plugin));
+- requisition->height = (gint) (requisition->width / plugin->rows / plugin->ratio * n_cols);
++ requisition->height = (gint) (requisition->width / plugin->rows / ratio * n_cols);
+ }
+ else /* (mode == XFCE_PANEL_PLUGIN_MODE_DESKBAR) */
+ {
+ requisition->width = xfce_panel_plugin_get_size (XFCE_PANEL_PLUGIN (plugin));
+- requisition->height = (gint) (requisition->width / n_cols / plugin->ratio * plugin->rows);
++ requisition->height = (gint) (requisition->width / n_cols / ratio * plugin->rows);
+ }
+ }
+ else if (plugin->pager)
diff --git a/xfce4-panel.install b/xfce4-panel.install
new file mode 100644
index 000000000000..c7a5da3595e8
--- /dev/null
+++ b/xfce4-panel.install
@@ -0,0 +1,14 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et: