summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--0001-x11-Fallback-to-emulated-window-dragging-for-touch-d.patch79
-rw-r--r--0002-x11-Implement-drag-to-top-to-maximize-gesture-on-emu.patch135
-rw-r--r--gtk3.spec17
-rw-r--r--sources2
5 files changed, 7 insertions, 227 deletions
diff --git a/.gitignore b/.gitignore
index 757de2d..aa1521c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -75,3 +75,4 @@ gtk+-2.90.5.tar.bz2
/gtk+-3.11.6.tar.xz
/gtk+-3.11.7.tar.xz
/gtk+-3.11.8.tar.xz
+/gtk+-3.11.9.tar.xz
diff --git a/0001-x11-Fallback-to-emulated-window-dragging-for-touch-d.patch b/0001-x11-Fallback-to-emulated-window-dragging-for-touch-d.patch
deleted file mode 100644
index b877758..0000000
--- a/0001-x11-Fallback-to-emulated-window-dragging-for-touch-d.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From d1d4c602e09c0038cc8e20f3660859af4378b997 Mon Sep 17 00:00:00 2001
-From: Carlos Garnacho <carlosg@gnome.org>
-Date: Thu, 13 Mar 2014 20:19:26 +0100
-Subject: [PATCH 1/3] x11: Fallback to emulated window dragging for touch
- devices
-
-Sadly, EWMH moveresize mechanism can't work with touch devices for two
-reasons:
-
-1) As a mutter implementation detail, the device is queried in order
-to check whether the dragging button is still pressed. Touch devices
-won't report the button 1 being pressed through pointer emulation.
-2) Even bypassing that check, on X11 touch events are selected prior
-to sequences being started, either through XISelectEvents or
-XIGrabTouchBegin, no late registering through active grabs is allowed,
-as WMs do on reaction to EWMH moveresize messages.
-
-So for the time being, make touch devices fallback on emulated window
-dragging, which at least allows for moving windows.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=709914
----
- gdk/x11/gdkwindow-x11.c | 26 ++++++++++++++++++++++----
- 1 file changed, 22 insertions(+), 4 deletions(-)
-
-diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
-index 5696e95..08ef713 100644
---- a/gdk/x11/gdkwindow-x11.c
-+++ b/gdk/x11/gdkwindow-x11.c
-@@ -5303,6 +5303,24 @@ emulate_move_drag (GdkWindow *window,
- create_moveresize_window (mv_resize, timestamp);
- }
-
-+static gboolean
-+_should_perform_ewmh_drag (GdkWindow *window,
-+ GdkDevice *device)
-+{
-+ GdkPointerWindowInfo *info;
-+ GdkDisplay *display;
-+
-+ display = gdk_window_get_display (window);
-+ info = _gdk_display_get_pointer_info (display, device);
-+
-+ if ((!info->last_slave || gdk_device_get_source (info->last_slave) != GDK_SOURCE_TOUCHSCREEN) &&
-+ gdk_x11_screen_supports_net_wm_hint (GDK_WINDOW_SCREEN (window),
-+ gdk_atom_intern_static_string ("_NET_WM_MOVERESIZE")))
-+ return TRUE;
-+
-+ return FALSE;
-+}
-+
- static void
- gdk_x11_window_begin_resize_drag (GdkWindow *window,
- GdkWindowEdge edge,
-@@ -5316,8 +5334,8 @@ gdk_x11_window_begin_resize_drag (GdkWindow *window,
- !WINDOW_IS_TOPLEVEL_OR_FOREIGN (window))
- return;
-
-- if (gdk_x11_screen_supports_net_wm_hint (GDK_WINDOW_SCREEN (window),
-- gdk_atom_intern_static_string ("_NET_WM_MOVERESIZE")))
-+ /* Avoid EWMH for touch devices */
-+ if (_should_perform_ewmh_drag (window, device))
- wmspec_resize_drag (window, edge, device, button, root_x, root_y, timestamp);
- else
- emulate_resize_drag (window, edge, device, button, root_x, root_y, timestamp);
-@@ -5341,8 +5359,8 @@ gdk_x11_window_begin_move_drag (GdkWindow *window,
- else
- direction = _NET_WM_MOVERESIZE_MOVE;
-
-- if (gdk_x11_screen_supports_net_wm_hint (GDK_WINDOW_SCREEN (window),
-- gdk_atom_intern_static_string ("_NET_WM_MOVERESIZE")))
-+ /* Avoid EWMH for touch devices */
-+ if (_should_perform_ewmh_drag (window, device))
- wmspec_moveresize (window, direction, device, button, root_x, root_y, timestamp);
- else
- emulate_move_drag (window, device, button, root_x, root_y, timestamp);
---
-1.9.0
-
diff --git a/0002-x11-Implement-drag-to-top-to-maximize-gesture-on-emu.patch b/0002-x11-Implement-drag-to-top-to-maximize-gesture-on-emu.patch
deleted file mode 100644
index 6758a5f..0000000
--- a/0002-x11-Implement-drag-to-top-to-maximize-gesture-on-emu.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From 41b73e409f7e30b8ba3b961013debaaf584b499c Mon Sep 17 00:00:00 2001
-From: Carlos Garnacho <carlosg@gnome.org>
-Date: Thu, 13 Mar 2014 21:12:55 +0100
-Subject: [PATCH 2/3] x11: Implement "drag to top to maximize" gesture on
- emulated window dragging
-
-And the counterpart to unmaximize when dragging a maximized window, if
-touch devices aren't going to use EWMH moveresize, having this one at least
-makes things feel a bit less awkward.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=709914
----
- gdk/x11/gdkwindow-x11.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++---
- 1 file changed, 70 insertions(+), 4 deletions(-)
-
-diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
-index 08ef713..83b3c7b 100644
---- a/gdk/x11/gdkwindow-x11.c
-+++ b/gdk/x11/gdkwindow-x11.c
-@@ -4872,12 +4872,58 @@ get_move_resize_data (GdkDisplay *display,
- }
-
- static void
-+check_maximize (MoveResizeData *mv_resize,
-+ gdouble x_root,
-+ gdouble y_root)
-+{
-+ GdkWindowState state;
-+ gint y;
-+
-+ if (mv_resize->is_resize)
-+ return;
-+
-+ state = gdk_window_get_state (mv_resize->moveresize_window);
-+
-+ if (state & GDK_WINDOW_STATE_MAXIMIZED)
-+ return;
-+
-+ y = mv_resize->moveresize_orig_y + (y_root - mv_resize->moveresize_y);
-+
-+ if (y < 10)
-+ gdk_window_maximize (mv_resize->moveresize_window);
-+}
-+
-+static void
-+check_unmaximize (MoveResizeData *mv_resize,
-+ gdouble x_root,
-+ gdouble y_root)
-+{
-+ GdkWindowState state;
-+ gint dx, dy;
-+
-+ if (mv_resize->is_resize)
-+ return;
-+
-+ state = gdk_window_get_state (mv_resize->moveresize_window);
-+
-+ if ((state & GDK_WINDOW_STATE_MAXIMIZED) == 0)
-+ return;
-+
-+ dx = x_root - mv_resize->moveresize_x;
-+ dy = y_root - mv_resize->moveresize_y;
-+
-+ if (ABS (dx) > 20 || ABS (dy) > 20)
-+ gdk_window_unmaximize (mv_resize->moveresize_window);
-+}
-+
-+static void
- update_pos (MoveResizeData *mv_resize,
- gint new_root_x,
- gint new_root_y)
- {
- gint dx, dy;
-
-+ check_unmaximize (mv_resize, new_root_x, new_root_y);
- dx = new_root_x - mv_resize->moveresize_x;
- dy = new_root_y - mv_resize->moveresize_y;
-
-@@ -5066,7 +5112,12 @@ _gdk_x11_moveresize_handle_event (XEvent *event)
- * get a permanently stuck grab.
- */
- if ((event->xmotion.state & button_mask) == 0)
-- finish_drag (mv_resize);
-+ {
-+ check_maximize (mv_resize,
-+ event->xmotion.x_root / impl->window_scale,
-+ event->xmotion.y_root / impl->window_scale);
-+ finish_drag (mv_resize);
-+ }
- break;
-
- case ButtonRelease:
-@@ -5075,7 +5126,12 @@ _gdk_x11_moveresize_handle_event (XEvent *event)
- event->xbutton.y_root / impl->window_scale);
-
- if (event->xbutton.button == mv_resize->moveresize_button)
-- finish_drag (mv_resize);
-+ {
-+ check_maximize (mv_resize,
-+ event->xmotion.x_root / impl->window_scale,
-+ event->xmotion.y_root / impl->window_scale);
-+ finish_drag (mv_resize);
-+ }
- break;
-
- #if defined (HAVE_XGENERICEVENTS) && defined (XINPUT_2)
-@@ -5091,13 +5147,23 @@ _gdk_x11_moveresize_handle_event (XEvent *event)
- update_pos (mv_resize, xev->root_x / impl->window_scale, xev->root_y / impl->window_scale);
- state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
- if ((state & button_mask) == 0)
-- finish_drag (mv_resize);
-+ {
-+ check_maximize (mv_resize,
-+ xev->root_x / impl->window_scale,
-+ xev->root_y / impl->window_scale);
-+ finish_drag (mv_resize);
-+ }
- break;
-
- case XI_ButtonRelease:
- update_pos (mv_resize, xev->root_x / impl->window_scale, xev->root_y / impl->window_scale);
- if (xev->detail == mv_resize->moveresize_button)
-- finish_drag (mv_resize);
-+ {
-+ check_maximize (mv_resize,
-+ xev->root_x / impl->window_scale,
-+ xev->root_y / impl->window_scale);
-+ finish_drag (mv_resize);
-+ }
- break;
- }
- }
---
-1.9.0
-
diff --git a/gtk3.spec b/gtk3.spec
index 0ddbbe7..bb023a3 100644
--- a/gtk3.spec
+++ b/gtk3.spec
@@ -16,22 +16,14 @@
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
Name: gtk3
-Version: 3.11.8
-Release: 2%{?dist}
+Version: 3.11.9
+Release: 1%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
URL: http://www.gtk.org
#VCS: git:git://git.gnome.org/gtk+
Source: http://download.gnome.org/sources/gtk+/3.11/gtk+-%{version}.tar.xz
-# Upstream backports for touch dragging of new-style GNOME windows
-# Will be in 3.11.9 release, drop patches then - adamw 2014/03
-# https://bugzilla.gnome.org/show_bug.cgi?id=709914
-# https://git.gnome.org/browse/gtk+/commit/?id=d1d4c602e09c0038cc8e20f3660859af4378b997
-Patch0: 0001-x11-Fallback-to-emulated-window-dragging-for-touch-d.patch
-# https://git.gnome.org/browse/gtk+/commit/?id=41b73e409f7e30b8ba3b961013debaaf584b499c
-Patch1: 0002-x11-Implement-drag-to-top-to-maximize-gesture-on-emu.patch
-
BuildRequires: gnome-common autoconf automake intltool gettext
BuildRequires: atk-devel >= %{atk_version}
BuildRequires: at-spi2-atk-devel
@@ -144,8 +136,6 @@ the functionality of the installed %{name} package.
%prep
%setup -q -n gtk+-%{version}
-%patch0 -p1
-%patch1 -p1
%build
@@ -308,6 +298,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache
%{_datadir}/installed-tests
%changelog
+* Tue Mar 18 2014 Richard Hughes <rhughes@redhat.com> - 3.11.9-1
+- Update to 3.11.9
+
* Mon Mar 17 2014 Adam Williamson <awilliam@redhat.com> - 3.11.8-2
- backport patches for touch dragging of new-style GNOME windows
diff --git a/sources b/sources
index 2d37351..8489fa2 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-fe7d13fa68be325145332be611f5b3b8 gtk+-3.11.8.tar.xz
+f9ad3e78a2d33a30514be4d8dfedd300 gtk+-3.11.9.tar.xz
bgstack15