summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2008-03-21 12:38:11 +0000
committerMart Raudsepp <leio@gentoo.org>2008-03-21 12:38:11 +0000
commitec5e6aacc4ae4ded1bc9f90f499c50b19d70471c (patch)
tree56ab77887dedfba120e432b5e58893016f7ac748 /x11-libs
parentStable on alpha, bug #213039 (diff)
downloadgentoo-2-ec5e6aacc4ae4ded1bc9f90f499c50b19d70471c.tar.gz
gentoo-2-ec5e6aacc4ae4ded1bc9f90f499c50b19d70471c.tar.bz2
gentoo-2-ec5e6aacc4ae4ded1bc9f90f499c50b19d70471c.zip
New version for GNOME-2.22, with mostly bug fixes and code correctness improvements. Also apply patches from upstream for various viewport (compiz usage) related fixes
(Portage version: 2.1.4.4)
Diffstat (limited to 'x11-libs')
-rw-r--r--x11-libs/libwnck/ChangeLog14
-rw-r--r--x11-libs/libwnck/files/2.22.0/001-logout-crash.patch110
-rw-r--r--x11-libs/libwnck/files/2.22.0/002-demands-attention-visibility-with-viewports.patch33
-rw-r--r--x11-libs/libwnck/files/2.22.0/003-Unstick-windows-when-moving-them-to-another-viewport.patch80
-rw-r--r--x11-libs/libwnck/files/2.22.0/004-Fix-moving-window-to-an-arbitrary-viewport.patch39
-rw-r--r--x11-libs/libwnck/files/2.22.0/005-gtk-doc-die-die-die.patch26
-rw-r--r--x11-libs/libwnck/libwnck-2.22.0.ebuild33
7 files changed, 334 insertions, 1 deletions
diff --git a/x11-libs/libwnck/ChangeLog b/x11-libs/libwnck/ChangeLog
index 55603daef298..00f9967b4518 100644
--- a/x11-libs/libwnck/ChangeLog
+++ b/x11-libs/libwnck/ChangeLog
@@ -1,6 +1,18 @@
# ChangeLog for x11-libs/libwnck
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/libwnck/ChangeLog,v 1.193 2008/02/04 04:18:24 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/libwnck/ChangeLog,v 1.194 2008/03/21 12:38:10 leio Exp $
+
+*libwnck-2.22.0 (21 Mar 2008)
+
+ 21 Mar 2008; Mart Raudsepp <leio@gentoo.org>
+ +files/2.22.0/001-logout-crash.patch,
+ +files/2.22.0/002-demands-attention-visibility-with-viewports.patch,
+ +files/2.22.0/003-Unstick-windows-when-moving-them-to-another-viewport.pat
+ ch, +files/2.22.0/004-Fix-moving-window-to-an-arbitrary-viewport.patch,
+ +files/2.22.0/005-gtk-doc-die-die-die.patch, +libwnck-2.22.0.ebuild:
+ New version for GNOME-2.22, with mostly bug fixes and code correctness
+ improvements. Also apply patches from upstream for various viewport (compiz
+ usage) related fixes
04 Feb 2008; Jeroen Roovers <jer@gentoo.org> libwnck-2.20.3.ebuild:
Stable for HPPA (bug #208366).
diff --git a/x11-libs/libwnck/files/2.22.0/001-logout-crash.patch b/x11-libs/libwnck/files/2.22.0/001-logout-crash.patch
new file mode 100644
index 000000000000..a986fd663ec3
--- /dev/null
+++ b/x11-libs/libwnck/files/2.22.0/001-logout-crash.patch
@@ -0,0 +1,110 @@
+diff --git a/ChangeLog b/ChangeLog
+index 2997448..622bce0 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,15 @@
++2008-03-19 Vincent Untz <vuntz@gnome.org>
++
++ Fix crash on logout because of some race condition.
++ Fix bug #517750
++
++ * libwnck/pager.c: (wnck_pager_connect_window): use g_signal_connect()
++ instead of g_signal_connect_object() since we'll disconnect the
++ handlers
++ (wnck_pager_disconnect_screen): disconnect signal handlers for all
++ windows
++ (wnck_pager_disconnect_window): helper function
++
+ 2008-03-10 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in:
+diff --git a/libwnck/pager.c b/libwnck/pager.c
+index 9a615b6..c21c6e9 100644
+--- a/libwnck/pager.c
++++ b/libwnck/pager.c
+@@ -174,6 +174,8 @@ static void wnck_pager_connect_screen (WnckPager *pager);
+ static void wnck_pager_connect_window (WnckPager *pager,
+ WnckWindow *window);
+ static void wnck_pager_disconnect_screen (WnckPager *pager);
++static void wnck_pager_disconnect_window (WnckPager *pager,
++ WnckWindow *window);
+
+ static gboolean wnck_pager_set_layout_hint (WnckPager *pager);
+
+@@ -2415,27 +2417,28 @@ static void
+ wnck_pager_connect_window (WnckPager *pager,
+ WnckWindow *window)
+ {
+- g_signal_connect_object (G_OBJECT (window), "name_changed",
+- G_CALLBACK (window_name_changed_callback),
+- pager, 0);
+- g_signal_connect_object (G_OBJECT (window), "state_changed",
+- G_CALLBACK (window_state_changed_callback),
+- pager, 0);
+- g_signal_connect_object (G_OBJECT (window), "workspace_changed",
+- G_CALLBACK (window_workspace_changed_callback),
+- pager, 0);
+- g_signal_connect_object (G_OBJECT (window), "icon_changed",
+- G_CALLBACK (window_icon_changed_callback),
+- pager, 0);
+- g_signal_connect_object (G_OBJECT (window), "geometry_changed",
+- G_CALLBACK (window_geometry_changed_callback),
+- pager, 0);
++ g_signal_connect (G_OBJECT (window), "name_changed",
++ G_CALLBACK (window_name_changed_callback),
++ pager);
++ g_signal_connect (G_OBJECT (window), "state_changed",
++ G_CALLBACK (window_state_changed_callback),
++ pager);
++ g_signal_connect (G_OBJECT (window), "workspace_changed",
++ G_CALLBACK (window_workspace_changed_callback),
++ pager);
++ g_signal_connect (G_OBJECT (window), "icon_changed",
++ G_CALLBACK (window_icon_changed_callback),
++ pager);
++ g_signal_connect (G_OBJECT (window), "geometry_changed",
++ G_CALLBACK (window_geometry_changed_callback),
++ pager);
+ }
+
+ static void
+ wnck_pager_disconnect_screen (WnckPager *pager)
+ {
+ int i;
++ GList *tmp;
+
+ if (pager->priv->screen == NULL)
+ return;
+@@ -2458,6 +2461,32 @@ wnck_pager_disconnect_screen (WnckPager *pager)
+ space = wnck_screen_get_workspace (pager->priv->screen, i);
+ g_signal_handlers_disconnect_by_func (space, G_CALLBACK (workspace_name_changed_callback), pager);
+ }
++
++ for (tmp = wnck_screen_get_windows (pager->priv->screen); tmp; tmp = tmp->next)
++ {
++ wnck_pager_disconnect_window (pager, WNCK_WINDOW (tmp->data));
++ }
++}
++
++static void
++wnck_pager_disconnect_window (WnckPager *pager,
++ WnckWindow *window)
++{
++ g_signal_handlers_disconnect_by_func (G_OBJECT (window),
++ G_CALLBACK (window_name_changed_callback),
++ pager);
++ g_signal_handlers_disconnect_by_func (G_OBJECT (window),
++ G_CALLBACK (window_state_changed_callback),
++ pager);
++ g_signal_handlers_disconnect_by_func (G_OBJECT (window),
++ G_CALLBACK (window_workspace_changed_callback),
++ pager);
++ g_signal_handlers_disconnect_by_func (G_OBJECT (window),
++ G_CALLBACK (window_icon_changed_callback),
++ pager);
++ g_signal_handlers_disconnect_by_func (G_OBJECT (window),
++ G_CALLBACK (window_geometry_changed_callback),
++ pager);
+ }
+
+ static void
diff --git a/x11-libs/libwnck/files/2.22.0/002-demands-attention-visibility-with-viewports.patch b/x11-libs/libwnck/files/2.22.0/002-demands-attention-visibility-with-viewports.patch
new file mode 100644
index 000000000000..820744f0f1d0
--- /dev/null
+++ b/x11-libs/libwnck/files/2.22.0/002-demands-attention-visibility-with-viewports.patch
@@ -0,0 +1,33 @@
+diff --git a/ChangeLog b/ChangeLog
+index 622bce0..1e94451 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,5 +1,13 @@
+ 2008-03-19 Vincent Untz <vuntz@gnome.org>
+
++ List windows that demands attention in the tasklist when they're in the
++ current workspace but they're not visible in the viewport.
++ Fix bug #520124
++
++ * libwnck/tasklist.c: (wnck_task_state_changed): just do it
++
++2008-03-19 Vincent Untz <vuntz@gnome.org>
++
+ Fix crash on logout because of some race condition.
+ Fix bug #517750
+
+diff --git a/libwnck/tasklist.c b/libwnck/tasklist.c
+index d687ee3..1d7e4df 100644
+--- a/libwnck/tasklist.c
++++ b/libwnck/tasklist.c
+@@ -3397,7 +3397,9 @@ wnck_task_state_changed (WnckWindow *window,
+ wnck_screen_get_active_workspace (tasklist->priv->screen);
+
+ if (active_workspace &&
+- active_workspace != wnck_window_get_workspace (window))
++ (active_workspace != wnck_window_get_workspace (window) ||
++ (wnck_workspace_is_virtual (active_workspace) &&
++ !wnck_window_is_in_viewport (window, active_workspace))))
+ {
+ wnck_tasklist_update_lists (tasklist);
+ gtk_widget_queue_resize (GTK_WIDGET (tasklist));
diff --git a/x11-libs/libwnck/files/2.22.0/003-Unstick-windows-when-moving-them-to-another-viewport.patch b/x11-libs/libwnck/files/2.22.0/003-Unstick-windows-when-moving-them-to-another-viewport.patch
new file mode 100644
index 000000000000..24985cb453ac
--- /dev/null
+++ b/x11-libs/libwnck/files/2.22.0/003-Unstick-windows-when-moving-them-to-another-viewport.patch
@@ -0,0 +1,80 @@
+diff --git a/ChangeLog b/ChangeLog
+index 1e94451..b041087 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,5 +1,15 @@
+ 2008-03-19 Vincent Untz <vuntz@gnome.org>
+
++ Unstick windows when moving them in another workspace (viewport mode),
++ else the windows are just outside the visible screen.
++ Fix bug #520704.
++ Patch by Travis Watkins <amaranth@ubuntu.com>
++
++ * libwnck/window-action-menu.c: (item_activated_callback): well, do
++ what I already described
++
++2008-03-19 Vincent Untz <vuntz@gnome.org>
++
+ List windows that demands attention in the tasklist when they're in the
+ current workspace but they're not visible in the viewport.
+ Fix bug #520124
+diff --git a/libwnck/window-action-menu.c b/libwnck/window-action-menu.c
+index 5921b9d..d0b34e0 100644
+--- a/libwnck/window-action-menu.c
++++ b/libwnck/window-action-menu.c
+@@ -208,13 +208,13 @@ item_activated_callback (GtkWidget *menu_item,
+ if (!viewport_mode)
+ wnck_window_pin (window);
+ else
+- wnck_window_stick(window);
++ wnck_window_stick (window);
+ break;
+ case UNPIN:
+ if (!viewport_mode)
+ wnck_window_unpin (window);
+ else
+- wnck_window_unstick(window);
++ wnck_window_unstick (window);
+ break;
+ case LEFT:
+ if (!viewport_mode)
+@@ -230,6 +230,7 @@ item_activated_callback (GtkWidget *menu_item,
+
+ width = wnck_screen_get_width (screen);
+ wnck_window_get_geometry (window, &xw, &yw, &ww, &hw);
++ wnck_window_unstick (window);
+ wnck_window_set_geometry (window, 0,
+ WNCK_WINDOW_CHANGE_X | WNCK_WINDOW_CHANGE_Y,
+ xw - width, yw,
+@@ -250,6 +251,7 @@ item_activated_callback (GtkWidget *menu_item,
+
+ width = wnck_screen_get_width (screen);
+ wnck_window_get_geometry (window, &xw, &yw, &ww, &hw);
++ wnck_window_unstick (window);
+ wnck_window_set_geometry (window, 0,
+ WNCK_WINDOW_CHANGE_X | WNCK_WINDOW_CHANGE_Y,
+ xw + width, yw,
+@@ -270,6 +272,7 @@ item_activated_callback (GtkWidget *menu_item,
+
+ height = wnck_screen_get_height (screen);
+ wnck_window_get_geometry (window, &xw, &yw, &ww, &hw);
++ wnck_window_unstick (window);
+ wnck_window_set_geometry (window, 0,
+ WNCK_WINDOW_CHANGE_X | WNCK_WINDOW_CHANGE_Y,
+ xw, yw - height,
+@@ -290,6 +293,7 @@ item_activated_callback (GtkWidget *menu_item,
+
+ height = wnck_screen_get_height (screen);
+ wnck_window_get_geometry (window, &xw, &yw, &ww, &hw);
++ wnck_window_unstick (window);
+ wnck_window_set_geometry (window, 0,
+ WNCK_WINDOW_CHANGE_X | WNCK_WINDOW_CHANGE_Y,
+ xw, yw + height,
+@@ -336,6 +340,7 @@ item_activated_callback (GtkWidget *menu_item,
+ xw += viewport_x;
+ yw += viewport_y;
+
++ wnck_window_unstick (window);
+ wnck_window_set_geometry (window, 0,
+ WNCK_WINDOW_CHANGE_X | WNCK_WINDOW_CHANGE_Y,
+ xw + new_viewport_x,
diff --git a/x11-libs/libwnck/files/2.22.0/004-Fix-moving-window-to-an-arbitrary-viewport.patch b/x11-libs/libwnck/files/2.22.0/004-Fix-moving-window-to-an-arbitrary-viewport.patch
new file mode 100644
index 000000000000..0524b8e511c2
--- /dev/null
+++ b/x11-libs/libwnck/files/2.22.0/004-Fix-moving-window-to-an-arbitrary-viewport.patch
@@ -0,0 +1,39 @@
+diff --git a/ChangeLog b/ChangeLog
+index b041087..e56cdfe 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,5 +1,13 @@
+ 2008-03-19 Vincent Untz <vuntz@gnome.org>
+
++ Fix moving a window to an arbitrary workspace in viewport mode.
++ Fix bug #520726.
++
++ * libwnck/window-action-menu.c: (item_activated_callback): get the
++ maths right.
++
++2008-03-19 Vincent Untz <vuntz@gnome.org>
++
+ Unstick windows when moving them in another workspace (viewport mode),
+ else the windows are just outside the visible screen.
+ Fix bug #520704.
+diff --git a/libwnck/window-action-menu.c b/libwnck/window-action-menu.c
+index d0b34e0..0e1108a 100644
+--- a/libwnck/window-action-menu.c
++++ b/libwnck/window-action-menu.c
+@@ -337,14 +337,11 @@ item_activated_callback (GtkWidget *menu_item,
+ viewport_x = wnck_workspace_get_viewport_x (workspace);
+ viewport_y = wnck_workspace_get_viewport_y (workspace);
+
+- xw += viewport_x;
+- yw += viewport_y;
+-
+ wnck_window_unstick (window);
+ wnck_window_set_geometry (window, 0,
+ WNCK_WINDOW_CHANGE_X | WNCK_WINDOW_CHANGE_Y,
+- xw + new_viewport_x,
+- yw + new_viewport_y,
++ xw + new_viewport_x - viewport_x,
++ yw + new_viewport_y - viewport_y,
+ ww, hw);
+ }
+ break;
diff --git a/x11-libs/libwnck/files/2.22.0/005-gtk-doc-die-die-die.patch b/x11-libs/libwnck/files/2.22.0/005-gtk-doc-die-die-die.patch
new file mode 100644
index 000000000000..4bab59d986ce
--- /dev/null
+++ b/x11-libs/libwnck/files/2.22.0/005-gtk-doc-die-die-die.patch
@@ -0,0 +1,26 @@
+--- gtk-doc.make 2008-01-14 21:07:04.000000000 -0800
++++ gtk-doc.make 2008-01-14 21:15:30.000000000 -0800
+@@ -139,8 +139,9 @@
+ done; \
+ echo '-- Installing $(srcdir)/html/index.sgml' ; \
+ $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \
+- which gtkdoc-rebase >/dev/null && \
++ if test $(which gtkdoc-rebase 2> /dev/null) ; then \
+ gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) ; \
++ fi \
+ fi
+
+
+--- doc/Makefile.in 2008-01-14 21:59:37.000000000 -0800
++++ doc/Makefile.in 2008-01-14 22:01:06.000000000 -0800
+@@ -569,8 +569,9 @@
+ done; \
+ echo '-- Installing $(srcdir)/html/index.sgml' ; \
+ $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \
+- which gtkdoc-rebase >/dev/null && \
++ if test $(which gtkdoc-rebase 2> /dev/null) ; then \
+ gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) ; \
++ fi \
+ fi
+
+ uninstall-local:
diff --git a/x11-libs/libwnck/libwnck-2.22.0.ebuild b/x11-libs/libwnck/libwnck-2.22.0.ebuild
new file mode 100644
index 000000000000..f7cc0ab8929b
--- /dev/null
+++ b/x11-libs/libwnck/libwnck-2.22.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/libwnck/libwnck-2.22.0.ebuild,v 1.1 2008/03/21 12:38:10 leio Exp $
+
+inherit gnome2 eutils
+
+DESCRIPTION="A window navigation construction kit"
+HOMEPAGE="http://www.gnome.org/"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="doc"
+
+RDEPEND=">=x11-libs/gtk+-2.11.3
+ >=dev-libs/glib-2.13.0
+ >=x11-libs/startup-notification-0.4
+ x11-libs/libX11
+ x11-libs/libXres
+ x11-libs/libXext"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ >=dev-util/pkgconfig-0.9
+ >=dev-util/intltool-0.35
+ doc? ( >=dev-util/gtk-doc-1.9 )"
+
+DOCS="AUTHORS ChangeLog HACKING NEWS README"
+
+src_unpack() {
+ gnome2_src_unpack
+
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" epatch "${FILESDIR}/${PV}/"
+}