[arch-commits] Commit in gtk3/repos (26 files)
Jan Steffens
heftig at archlinux.org
Mon Oct 10 15:47:09 UTC 2016
Date: Monday, October 10, 2016 @ 15:47:09
Author: heftig
Revision: 278177
archrelease: copy trunk to testing-i686, testing-x86_64
Added:
gtk3/repos/testing-i686/0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch
(from rev 278176, gtk3/trunk/0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch)
gtk3/repos/testing-i686/PKGBUILD
(from rev 278176, gtk3/trunk/PKGBUILD)
gtk3/repos/testing-i686/gtk-query-immodules-3.0.hook
(from rev 278176, gtk3/trunk/gtk-query-immodules-3.0.hook)
gtk3/repos/testing-i686/gtk-update-icon-cache.hook
(from rev 278176, gtk3/trunk/gtk-update-icon-cache.hook)
gtk3/repos/testing-i686/gtk-update-icon-cache.script
(from rev 278176, gtk3/trunk/gtk-update-icon-cache.script)
gtk3/repos/testing-i686/gtk3.install
(from rev 278176, gtk3/trunk/gtk3.install)
gtk3/repos/testing-i686/settings.ini
(from rev 278176, gtk3/trunk/settings.ini)
gtk3/repos/testing-x86_64/0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch
(from rev 278176, gtk3/trunk/0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch)
gtk3/repos/testing-x86_64/PKGBUILD
(from rev 278176, gtk3/trunk/PKGBUILD)
gtk3/repos/testing-x86_64/gtk-query-immodules-3.0.hook
(from rev 278176, gtk3/trunk/gtk-query-immodules-3.0.hook)
gtk3/repos/testing-x86_64/gtk-update-icon-cache.hook
(from rev 278176, gtk3/trunk/gtk-update-icon-cache.hook)
gtk3/repos/testing-x86_64/gtk-update-icon-cache.script
(from rev 278176, gtk3/trunk/gtk-update-icon-cache.script)
gtk3/repos/testing-x86_64/gtk3.install
(from rev 278176, gtk3/trunk/gtk3.install)
gtk3/repos/testing-x86_64/settings.ini
(from rev 278176, gtk3/trunk/settings.ini)
Deleted:
gtk3/repos/testing-i686/PKGBUILD
gtk3/repos/testing-i686/gtk-query-immodules-3.0.hook
gtk3/repos/testing-i686/gtk-update-icon-cache.hook
gtk3/repos/testing-i686/gtk-update-icon-cache.script
gtk3/repos/testing-i686/gtk3.install
gtk3/repos/testing-i686/settings.ini
gtk3/repos/testing-x86_64/PKGBUILD
gtk3/repos/testing-x86_64/gtk-query-immodules-3.0.hook
gtk3/repos/testing-x86_64/gtk-update-icon-cache.hook
gtk3/repos/testing-x86_64/gtk-update-icon-cache.script
gtk3/repos/testing-x86_64/gtk3.install
gtk3/repos/testing-x86_64/settings.ini
--------------------------------------------------------------------------------+
/PKGBUILD | 208 ++++++++++
/gtk-query-immodules-3.0.hook | 22 +
/gtk-update-icon-cache.hook | 26 +
/gtk-update-icon-cache.script | 20
/gtk3.install | 6
/settings.ini | 8
testing-i686/0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch | 83 +++
testing-i686/PKGBUILD | 101 ----
testing-i686/gtk-query-immodules-3.0.hook | 11
testing-i686/gtk-update-icon-cache.hook | 13
testing-i686/gtk-update-icon-cache.script | 10
testing-i686/gtk3.install | 3
testing-i686/settings.ini | 4
testing-x86_64/0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch | 83 +++
testing-x86_64/PKGBUILD | 101 ----
testing-x86_64/gtk-query-immodules-3.0.hook | 11
testing-x86_64/gtk-update-icon-cache.hook | 13
testing-x86_64/gtk-update-icon-cache.script | 10
testing-x86_64/gtk3.install | 3
testing-x86_64/settings.ini | 4
20 files changed, 456 insertions(+), 284 deletions(-)
Copied: gtk3/repos/testing-i686/0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch (from rev 278176, gtk3/trunk/0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch)
===================================================================
--- testing-i686/0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch (rev 0)
+++ testing-i686/0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch 2016-10-10 15:47:09 UTC (rev 278177)
@@ -0,0 +1,83 @@
+From b4f90beaa96bb7ecf3e144f6d60b9fa9f3e9f582 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Mon, 10 Oct 2016 16:34:28 +0200
+Subject: [PATCH] gdkscreen-x11: Fix screen and monitor size calculation
+
+The monitors are already in scaled pixels, so scaling again when retrieving
+the screen size is wrong.
+
+With GDK_SCALE unset, the initial monitor sizes are unscaled, and when the
+xsettings client sets a scale > 1, the monitor sizes should be updated.
+
+The end result is that the monitor sizes start out wrong, and get
+corrected on the first xrandr event, while the screen size starts out
+right and becomes wrong after the event.
+
+This patch fixes Firefox misplacing menus and popovers when the xrandr
+configuration changes while it is running.
+
+Fix for the X11 side of
+
+https://bugzilla.gnome.org/show_bug.cgi?id=772202
+---
+ gdk/x11/gdkscreen-x11.c | 16 ++++------------
+ 1 file changed, 4 insertions(+), 12 deletions(-)
+
+diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
+index 450872d99df56b79..1852a7dea2ad18e4 100644
+--- a/gdk/x11/gdkscreen-x11.c
++++ b/gdk/x11/gdkscreen-x11.c
+@@ -49,6 +49,7 @@
+ static void gdk_x11_screen_dispose (GObject *object);
+ static void gdk_x11_screen_finalize (GObject *object);
+ static void init_randr_support (GdkScreen *screen);
++static void process_monitors_change (GdkScreen *screen);
+
+ enum
+ {
+@@ -82,13 +83,13 @@ gdk_x11_screen_get_display (GdkScreen *screen)
+ static gint
+ gdk_x11_screen_get_width (GdkScreen *screen)
+ {
+- return GDK_X11_SCREEN (screen)->width / GDK_X11_SCREEN (screen)->window_scale;
++ return GDK_X11_SCREEN (screen)->width;
+ }
+
+ static gint
+ gdk_x11_screen_get_height (GdkScreen *screen)
+ {
+- return GDK_X11_SCREEN (screen)->height / GDK_X11_SCREEN (screen)->window_scale;
++ return GDK_X11_SCREEN (screen)->height;
+ }
+
+ static gint
+@@ -906,10 +907,8 @@ void
+ _gdk_x11_screen_set_window_scale (GdkX11Screen *x11_screen,
+ gint scale)
+ {
+- GdkX11Display *x11_display = GDK_X11_DISPLAY (x11_screen->display);
+ GList *toplevels, *l;
+ GdkWindow *root;
+- int i;
+
+ if (x11_screen->window_scale == scale)
+ return;
+@@ -928,14 +927,7 @@ _gdk_x11_screen_set_window_scale (GdkX11Screen *x11_screen,
+ _gdk_x11_window_set_window_scale (window, scale);
+ }
+
+- for (i = 0; i < x11_display->monitors->len; i++)
+- {
+- GdkMonitor *monitor = GDK_MONITOR (x11_display->monitors->pdata[i]);
+-
+- gdk_monitor_set_scale_factor (monitor, scale);
+- }
+-
+- g_signal_emit_by_name (GDK_SCREEN (x11_screen), "monitors-changed");
++ process_monitors_change (GDK_SCREEN (x11_screen));
+ }
+
+ /*
+--
+2.10.0
+
Deleted: testing-i686/PKGBUILD
===================================================================
--- testing-i686/PKGBUILD 2016-10-10 15:46:08 UTC (rev 278176)
+++ testing-i686/PKGBUILD 2016-10-10 15:47:09 UTC (rev 278177)
@@ -1,101 +0,0 @@
-# $Id$
-# Maintainer: Ionut Biru <ibiru at archlinux.org>
-# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
-
-pkgbase=gtk3
-pkgname=(gtk3 gtk-update-icon-cache gtk3-print-backends)
-pkgver=3.22.1
-pkgrel=1
-pkgdesc="GObject-based multi-platform GUI toolkit"
-arch=(i686 x86_64)
-url="http://www.gtk.org/"
-depends=(atk cairo libxcursor libxinerama libxrandr libxi libepoxy gdk-pixbuf2 dconf
- libxcomposite libxdamage pango shared-mime-info at-spi2-atk wayland libxkbcommon
- adwaita-icon-theme json-glib librsvg wayland-protocols desktop-file-utils mesa)
-makedepends=(gobject-introspection libcanberra gtk-doc git colord rest libcups)
-license=(LGPL)
-_commit=ae7a1e0d08a19184b659ca38623431b210d0f84a # tags/3.22.1^0
-source=("git://git.gnome.org/gtk+#commit=$_commit"
- settings.ini
- gtk-query-immodules-3.0.hook
- gtk-update-icon-cache.hook
- gtk-update-icon-cache.script)
-sha256sums=('SKIP'
- '01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202'
- 'de46e5514ff39a7a65e01e485e874775ab1c0ad20b8e94ada43f4a6af1370845'
- '496064a9dd6214bd58f689dd817dbdc4d7f17d42a8c9940a87018c3f829ce308'
- 'f1d3a0dbfd82f7339301abecdbe5f024337919b48bd0e09296bb0e79863b2541')
-
-pkgver() {
- cd gtk+
- git describe --tags | sed 's/-/+/g'
-}
-
-prepare() {
- mkdir print-backends
- cd gtk+
- NOCONFIGURE=1 ./autogen.sh
-}
-
-build() {
- cd gtk+
-
- CXX=/bin/false ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --disable-schemas-compile \
- --enable-x11-backend \
- --enable-broadway-backend \
- --enable-wayland-backend \
- --enable-gtk-doc
-
- #https://bugzilla.gnome.org/show_bug.cgi?id=655517
- sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
-
- make
-}
-
-package_gtk3() {
- depends+=(gtk-update-icon-cache)
- optdepends=('libcanberra: gtk3-widget-factory demo'
- 'gtk3-print-backends: Printing')
- install=gtk3.install
-
- cd gtk+
- make DESTDIR="$pkgdir" install
-
- install -Dm644 ../settings.ini "$pkgdir/usr/share/gtk-3.0/settings.ini"
- install -Dm644 ../gtk-query-immodules-3.0.hook "$pkgdir/usr/share/libalpm/hooks/gtk-query-immodules-3.0.hook"
-
- # split this out to use with gtk2 too
- rm "$pkgdir/usr/bin/gtk-update-icon-cache"
-
- cd "$pkgdir"
- for _f in usr/lib/*/*/printbackends/*; do
- case $_f in
- *-file.so|*-lpr.so) continue;;
- esac
-
- mkdir -p "$srcdir/print-backends/${_f%/*}"
- mv "$_f" "$srcdir/print-backends/$_f"
- done
-}
-
-package_gtk-update-icon-cache() {
- pkgdesc="GTK+ icon cache updater"
- depends=(gdk-pixbuf2 hicolor-icon-theme)
-
- cd gtk+
- install -D gtk/gtk-update-icon-cache "$pkgdir/usr/bin/gtk-update-icon-cache"
- install -Dm644 ../gtk-update-icon-cache.hook "$pkgdir/usr/share/libalpm/hooks/gtk-update-icon-cache.hook"
- install -D ../gtk-update-icon-cache.script "$pkgdir/usr/share/libalpm/scripts/gtk-update-icon-cache"
-}
-
-package_gtk3-print-backends() {
- pkgdesc="Print backends for GTK3"
- depends=(gtk3 rest colord libcups)
- groups=(gnome)
-
- mv print-backends/* "$pkgdir"
-}
-# vim:set et sw=4:
Copied: gtk3/repos/testing-i686/PKGBUILD (from rev 278176, gtk3/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD (rev 0)
+++ testing-i686/PKGBUILD 2016-10-10 15:47:09 UTC (rev 278177)
@@ -0,0 +1,104 @@
+# $Id$
+# Maintainer: Ionut Biru <ibiru at archlinux.org>
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
+
+pkgbase=gtk3
+pkgname=(gtk3 gtk-update-icon-cache gtk3-print-backends)
+pkgver=3.22.1+8+ge11df6c
+pkgrel=2
+pkgdesc="GObject-based multi-platform GUI toolkit"
+arch=(i686 x86_64)
+url="http://www.gtk.org/"
+depends=(atk cairo libxcursor libxinerama libxrandr libxi libepoxy gdk-pixbuf2 dconf
+ libxcomposite libxdamage pango shared-mime-info at-spi2-atk wayland libxkbcommon
+ adwaita-icon-theme json-glib librsvg wayland-protocols desktop-file-utils mesa)
+makedepends=(gobject-introspection libcanberra gtk-doc git colord rest libcups)
+license=(LGPL)
+_commit=e11df6cca0c400f964d815bbe575cf04cc178a7c # gtk-3-22
+source=("git://git.gnome.org/gtk+#commit=$_commit"
+ 0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch
+ settings.ini
+ gtk-query-immodules-3.0.hook
+ gtk-update-icon-cache.hook
+ gtk-update-icon-cache.script)
+sha256sums=('SKIP'
+ '209fbfaa4b83daf5c249a1cb1a6762d607f6d63034e80e2324f2fb3586a4f348'
+ '01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202'
+ 'de46e5514ff39a7a65e01e485e874775ab1c0ad20b8e94ada43f4a6af1370845'
+ '496064a9dd6214bd58f689dd817dbdc4d7f17d42a8c9940a87018c3f829ce308'
+ 'f1d3a0dbfd82f7339301abecdbe5f024337919b48bd0e09296bb0e79863b2541')
+
+pkgver() {
+ cd gtk+
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ mkdir print-backends
+ cd gtk+
+ patch -Np1 -i ../0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch
+ NOCONFIGURE=1 ./autogen.sh
+}
+
+build() {
+ cd gtk+
+
+ CXX=/bin/false ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-schemas-compile \
+ --enable-x11-backend \
+ --enable-broadway-backend \
+ --enable-wayland-backend \
+ --enable-gtk-doc
+
+ #https://bugzilla.gnome.org/show_bug.cgi?id=655517
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+ make
+}
+
+package_gtk3() {
+ depends+=(gtk-update-icon-cache)
+ optdepends=('libcanberra: gtk3-widget-factory demo'
+ 'gtk3-print-backends: Printing')
+ install=gtk3.install
+
+ cd gtk+
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 ../settings.ini "$pkgdir/usr/share/gtk-3.0/settings.ini"
+ install -Dm644 ../gtk-query-immodules-3.0.hook "$pkgdir/usr/share/libalpm/hooks/gtk-query-immodules-3.0.hook"
+
+ # split this out to use with gtk2 too
+ rm "$pkgdir/usr/bin/gtk-update-icon-cache"
+
+ cd "$pkgdir"
+ for _f in usr/lib/*/*/printbackends/*; do
+ case $_f in
+ *-file.so|*-lpr.so) continue;;
+ esac
+
+ mkdir -p "$srcdir/print-backends/${_f%/*}"
+ mv "$_f" "$srcdir/print-backends/$_f"
+ done
+}
+
+package_gtk-update-icon-cache() {
+ pkgdesc="GTK+ icon cache updater"
+ depends=(gdk-pixbuf2 hicolor-icon-theme)
+
+ cd gtk+
+ install -D gtk/gtk-update-icon-cache "$pkgdir/usr/bin/gtk-update-icon-cache"
+ install -Dm644 ../gtk-update-icon-cache.hook "$pkgdir/usr/share/libalpm/hooks/gtk-update-icon-cache.hook"
+ install -D ../gtk-update-icon-cache.script "$pkgdir/usr/share/libalpm/scripts/gtk-update-icon-cache"
+}
+
+package_gtk3-print-backends() {
+ pkgdesc="Print backends for GTK3"
+ depends=(gtk3 rest colord libcups)
+ groups=(gnome)
+
+ mv print-backends/* "$pkgdir"
+}
+# vim:set et sw=4:
Deleted: testing-i686/gtk-query-immodules-3.0.hook
===================================================================
--- testing-i686/gtk-query-immodules-3.0.hook 2016-10-10 15:46:08 UTC (rev 278176)
+++ testing-i686/gtk-query-immodules-3.0.hook 2016-10-10 15:47:09 UTC (rev 278177)
@@ -1,11 +0,0 @@
-[Trigger]
-Type = File
-Operation = Install
-Operation = Upgrade
-Operation = Remove
-Target = usr/lib/gtk-3.0/3.0.0/immodules/*.so
-
-[Action]
-Description = Probing GTK3 input method modules...
-When = PostTransaction
-Exec = /usr/bin/gtk-query-immodules-3.0 --update-cache
Copied: gtk3/repos/testing-i686/gtk-query-immodules-3.0.hook (from rev 278176, gtk3/trunk/gtk-query-immodules-3.0.hook)
===================================================================
--- testing-i686/gtk-query-immodules-3.0.hook (rev 0)
+++ testing-i686/gtk-query-immodules-3.0.hook 2016-10-10 15:47:09 UTC (rev 278177)
@@ -0,0 +1,11 @@
+[Trigger]
+Type = File
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/lib/gtk-3.0/3.0.0/immodules/*.so
+
+[Action]
+Description = Probing GTK3 input method modules...
+When = PostTransaction
+Exec = /usr/bin/gtk-query-immodules-3.0 --update-cache
Deleted: testing-i686/gtk-update-icon-cache.hook
===================================================================
--- testing-i686/gtk-update-icon-cache.hook 2016-10-10 15:46:08 UTC (rev 278176)
+++ testing-i686/gtk-update-icon-cache.hook 2016-10-10 15:47:09 UTC (rev 278177)
@@ -1,13 +0,0 @@
-[Trigger]
-Type = File
-Operation = Install
-Operation = Upgrade
-Operation = Remove
-Target = usr/share/icons/*/
-Target = !usr/share/icons/*/?*
-
-[Action]
-Description = Updating icon theme caches...
-When = PostTransaction
-Exec = /usr/share/libalpm/scripts/gtk-update-icon-cache
-NeedsTargets
Copied: gtk3/repos/testing-i686/gtk-update-icon-cache.hook (from rev 278176, gtk3/trunk/gtk-update-icon-cache.hook)
===================================================================
--- testing-i686/gtk-update-icon-cache.hook (rev 0)
+++ testing-i686/gtk-update-icon-cache.hook 2016-10-10 15:47:09 UTC (rev 278177)
@@ -0,0 +1,13 @@
+[Trigger]
+Type = File
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/share/icons/*/
+Target = !usr/share/icons/*/?*
+
+[Action]
+Description = Updating icon theme caches...
+When = PostTransaction
+Exec = /usr/share/libalpm/scripts/gtk-update-icon-cache
+NeedsTargets
Deleted: testing-i686/gtk-update-icon-cache.script
===================================================================
--- testing-i686/gtk-update-icon-cache.script 2016-10-10 15:46:08 UTC (rev 278176)
+++ testing-i686/gtk-update-icon-cache.script 2016-10-10 15:47:09 UTC (rev 278177)
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-while read -r f; do
- if [[ -e ${f}index.theme ]]; then
- gtk-update-icon-cache -q "$f"
- elif [[ -d $f ]]; then
- rm -f "${f}icon-theme.cache"
- rmdir --ignore-fail-on-non-empty "$f"
- fi
-done
Copied: gtk3/repos/testing-i686/gtk-update-icon-cache.script (from rev 278176, gtk3/trunk/gtk-update-icon-cache.script)
===================================================================
--- testing-i686/gtk-update-icon-cache.script (rev 0)
+++ testing-i686/gtk-update-icon-cache.script 2016-10-10 15:47:09 UTC (rev 278177)
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+while read -r f; do
+ if [[ -e ${f}index.theme ]]; then
+ gtk-update-icon-cache -q "$f"
+ elif [[ -d $f ]]; then
+ rm -f "${f}icon-theme.cache"
+ rmdir --ignore-fail-on-non-empty "$f"
+ fi
+done
Deleted: testing-i686/gtk3.install
===================================================================
--- testing-i686/gtk3.install 2016-10-10 15:46:08 UTC (rev 278176)
+++ testing-i686/gtk3.install 2016-10-10 15:47:09 UTC (rev 278177)
@@ -1,3 +0,0 @@
-pre_remove() {
- rm -f /usr/lib/gtk-3.0/3.0.0/immodules.cache
-}
Copied: gtk3/repos/testing-i686/gtk3.install (from rev 278176, gtk3/trunk/gtk3.install)
===================================================================
--- testing-i686/gtk3.install (rev 0)
+++ testing-i686/gtk3.install 2016-10-10 15:47:09 UTC (rev 278177)
@@ -0,0 +1,3 @@
+pre_remove() {
+ rm -f /usr/lib/gtk-3.0/3.0.0/immodules.cache
+}
Deleted: testing-i686/settings.ini
===================================================================
--- testing-i686/settings.ini 2016-10-10 15:46:08 UTC (rev 278176)
+++ testing-i686/settings.ini 2016-10-10 15:47:09 UTC (rev 278177)
@@ -1,4 +0,0 @@
-[Settings]
-gtk-icon-theme-name = Adwaita
-gtk-theme-name = Adwaita
-gtk-font-name = Cantarell 11
Copied: gtk3/repos/testing-i686/settings.ini (from rev 278176, gtk3/trunk/settings.ini)
===================================================================
--- testing-i686/settings.ini (rev 0)
+++ testing-i686/settings.ini 2016-10-10 15:47:09 UTC (rev 278177)
@@ -0,0 +1,4 @@
+[Settings]
+gtk-icon-theme-name = Adwaita
+gtk-theme-name = Adwaita
+gtk-font-name = Cantarell 11
Copied: gtk3/repos/testing-x86_64/0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch (from rev 278176, gtk3/trunk/0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch)
===================================================================
--- testing-x86_64/0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch (rev 0)
+++ testing-x86_64/0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch 2016-10-10 15:47:09 UTC (rev 278177)
@@ -0,0 +1,83 @@
+From b4f90beaa96bb7ecf3e144f6d60b9fa9f3e9f582 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Mon, 10 Oct 2016 16:34:28 +0200
+Subject: [PATCH] gdkscreen-x11: Fix screen and monitor size calculation
+
+The monitors are already in scaled pixels, so scaling again when retrieving
+the screen size is wrong.
+
+With GDK_SCALE unset, the initial monitor sizes are unscaled, and when the
+xsettings client sets a scale > 1, the monitor sizes should be updated.
+
+The end result is that the monitor sizes start out wrong, and get
+corrected on the first xrandr event, while the screen size starts out
+right and becomes wrong after the event.
+
+This patch fixes Firefox misplacing menus and popovers when the xrandr
+configuration changes while it is running.
+
+Fix for the X11 side of
+
+https://bugzilla.gnome.org/show_bug.cgi?id=772202
+---
+ gdk/x11/gdkscreen-x11.c | 16 ++++------------
+ 1 file changed, 4 insertions(+), 12 deletions(-)
+
+diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
+index 450872d99df56b79..1852a7dea2ad18e4 100644
+--- a/gdk/x11/gdkscreen-x11.c
++++ b/gdk/x11/gdkscreen-x11.c
+@@ -49,6 +49,7 @@
+ static void gdk_x11_screen_dispose (GObject *object);
+ static void gdk_x11_screen_finalize (GObject *object);
+ static void init_randr_support (GdkScreen *screen);
++static void process_monitors_change (GdkScreen *screen);
+
+ enum
+ {
+@@ -82,13 +83,13 @@ gdk_x11_screen_get_display (GdkScreen *screen)
+ static gint
+ gdk_x11_screen_get_width (GdkScreen *screen)
+ {
+- return GDK_X11_SCREEN (screen)->width / GDK_X11_SCREEN (screen)->window_scale;
++ return GDK_X11_SCREEN (screen)->width;
+ }
+
+ static gint
+ gdk_x11_screen_get_height (GdkScreen *screen)
+ {
+- return GDK_X11_SCREEN (screen)->height / GDK_X11_SCREEN (screen)->window_scale;
++ return GDK_X11_SCREEN (screen)->height;
+ }
+
+ static gint
+@@ -906,10 +907,8 @@ void
+ _gdk_x11_screen_set_window_scale (GdkX11Screen *x11_screen,
+ gint scale)
+ {
+- GdkX11Display *x11_display = GDK_X11_DISPLAY (x11_screen->display);
+ GList *toplevels, *l;
+ GdkWindow *root;
+- int i;
+
+ if (x11_screen->window_scale == scale)
+ return;
+@@ -928,14 +927,7 @@ _gdk_x11_screen_set_window_scale (GdkX11Screen *x11_screen,
+ _gdk_x11_window_set_window_scale (window, scale);
+ }
+
+- for (i = 0; i < x11_display->monitors->len; i++)
+- {
+- GdkMonitor *monitor = GDK_MONITOR (x11_display->monitors->pdata[i]);
+-
+- gdk_monitor_set_scale_factor (monitor, scale);
+- }
+-
+- g_signal_emit_by_name (GDK_SCREEN (x11_screen), "monitors-changed");
++ process_monitors_change (GDK_SCREEN (x11_screen));
+ }
+
+ /*
+--
+2.10.0
+
Deleted: testing-x86_64/PKGBUILD
===================================================================
--- testing-x86_64/PKGBUILD 2016-10-10 15:46:08 UTC (rev 278176)
+++ testing-x86_64/PKGBUILD 2016-10-10 15:47:09 UTC (rev 278177)
@@ -1,101 +0,0 @@
-# $Id$
-# Maintainer: Ionut Biru <ibiru at archlinux.org>
-# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
-
-pkgbase=gtk3
-pkgname=(gtk3 gtk-update-icon-cache gtk3-print-backends)
-pkgver=3.22.1
-pkgrel=1
-pkgdesc="GObject-based multi-platform GUI toolkit"
-arch=(i686 x86_64)
-url="http://www.gtk.org/"
-depends=(atk cairo libxcursor libxinerama libxrandr libxi libepoxy gdk-pixbuf2 dconf
- libxcomposite libxdamage pango shared-mime-info at-spi2-atk wayland libxkbcommon
- adwaita-icon-theme json-glib librsvg wayland-protocols desktop-file-utils mesa)
-makedepends=(gobject-introspection libcanberra gtk-doc git colord rest libcups)
-license=(LGPL)
-_commit=ae7a1e0d08a19184b659ca38623431b210d0f84a # tags/3.22.1^0
-source=("git://git.gnome.org/gtk+#commit=$_commit"
- settings.ini
- gtk-query-immodules-3.0.hook
- gtk-update-icon-cache.hook
- gtk-update-icon-cache.script)
-sha256sums=('SKIP'
- '01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202'
- 'de46e5514ff39a7a65e01e485e874775ab1c0ad20b8e94ada43f4a6af1370845'
- '496064a9dd6214bd58f689dd817dbdc4d7f17d42a8c9940a87018c3f829ce308'
- 'f1d3a0dbfd82f7339301abecdbe5f024337919b48bd0e09296bb0e79863b2541')
-
-pkgver() {
- cd gtk+
- git describe --tags | sed 's/-/+/g'
-}
-
-prepare() {
- mkdir print-backends
- cd gtk+
- NOCONFIGURE=1 ./autogen.sh
-}
-
-build() {
- cd gtk+
-
- CXX=/bin/false ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --disable-schemas-compile \
- --enable-x11-backend \
- --enable-broadway-backend \
- --enable-wayland-backend \
- --enable-gtk-doc
-
- #https://bugzilla.gnome.org/show_bug.cgi?id=655517
- sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
-
- make
-}
-
-package_gtk3() {
- depends+=(gtk-update-icon-cache)
- optdepends=('libcanberra: gtk3-widget-factory demo'
- 'gtk3-print-backends: Printing')
- install=gtk3.install
-
- cd gtk+
- make DESTDIR="$pkgdir" install
-
- install -Dm644 ../settings.ini "$pkgdir/usr/share/gtk-3.0/settings.ini"
- install -Dm644 ../gtk-query-immodules-3.0.hook "$pkgdir/usr/share/libalpm/hooks/gtk-query-immodules-3.0.hook"
-
- # split this out to use with gtk2 too
- rm "$pkgdir/usr/bin/gtk-update-icon-cache"
-
- cd "$pkgdir"
- for _f in usr/lib/*/*/printbackends/*; do
- case $_f in
- *-file.so|*-lpr.so) continue;;
- esac
-
- mkdir -p "$srcdir/print-backends/${_f%/*}"
- mv "$_f" "$srcdir/print-backends/$_f"
- done
-}
-
-package_gtk-update-icon-cache() {
- pkgdesc="GTK+ icon cache updater"
- depends=(gdk-pixbuf2 hicolor-icon-theme)
-
- cd gtk+
- install -D gtk/gtk-update-icon-cache "$pkgdir/usr/bin/gtk-update-icon-cache"
- install -Dm644 ../gtk-update-icon-cache.hook "$pkgdir/usr/share/libalpm/hooks/gtk-update-icon-cache.hook"
- install -D ../gtk-update-icon-cache.script "$pkgdir/usr/share/libalpm/scripts/gtk-update-icon-cache"
-}
-
-package_gtk3-print-backends() {
- pkgdesc="Print backends for GTK3"
- depends=(gtk3 rest colord libcups)
- groups=(gnome)
-
- mv print-backends/* "$pkgdir"
-}
-# vim:set et sw=4:
Copied: gtk3/repos/testing-x86_64/PKGBUILD (from rev 278176, gtk3/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD (rev 0)
+++ testing-x86_64/PKGBUILD 2016-10-10 15:47:09 UTC (rev 278177)
@@ -0,0 +1,104 @@
+# $Id$
+# Maintainer: Ionut Biru <ibiru at archlinux.org>
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
+
+pkgbase=gtk3
+pkgname=(gtk3 gtk-update-icon-cache gtk3-print-backends)
+pkgver=3.22.1+8+ge11df6c
+pkgrel=2
+pkgdesc="GObject-based multi-platform GUI toolkit"
+arch=(i686 x86_64)
+url="http://www.gtk.org/"
+depends=(atk cairo libxcursor libxinerama libxrandr libxi libepoxy gdk-pixbuf2 dconf
+ libxcomposite libxdamage pango shared-mime-info at-spi2-atk wayland libxkbcommon
+ adwaita-icon-theme json-glib librsvg wayland-protocols desktop-file-utils mesa)
+makedepends=(gobject-introspection libcanberra gtk-doc git colord rest libcups)
+license=(LGPL)
+_commit=e11df6cca0c400f964d815bbe575cf04cc178a7c # gtk-3-22
+source=("git://git.gnome.org/gtk+#commit=$_commit"
+ 0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch
+ settings.ini
+ gtk-query-immodules-3.0.hook
+ gtk-update-icon-cache.hook
+ gtk-update-icon-cache.script)
+sha256sums=('SKIP'
+ '209fbfaa4b83daf5c249a1cb1a6762d607f6d63034e80e2324f2fb3586a4f348'
+ '01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202'
+ 'de46e5514ff39a7a65e01e485e874775ab1c0ad20b8e94ada43f4a6af1370845'
+ '496064a9dd6214bd58f689dd817dbdc4d7f17d42a8c9940a87018c3f829ce308'
+ 'f1d3a0dbfd82f7339301abecdbe5f024337919b48bd0e09296bb0e79863b2541')
+
+pkgver() {
+ cd gtk+
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ mkdir print-backends
+ cd gtk+
+ patch -Np1 -i ../0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch
+ NOCONFIGURE=1 ./autogen.sh
+}
+
+build() {
+ cd gtk+
+
+ CXX=/bin/false ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-schemas-compile \
+ --enable-x11-backend \
+ --enable-broadway-backend \
+ --enable-wayland-backend \
+ --enable-gtk-doc
+
+ #https://bugzilla.gnome.org/show_bug.cgi?id=655517
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+ make
+}
+
+package_gtk3() {
+ depends+=(gtk-update-icon-cache)
+ optdepends=('libcanberra: gtk3-widget-factory demo'
+ 'gtk3-print-backends: Printing')
+ install=gtk3.install
+
+ cd gtk+
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 ../settings.ini "$pkgdir/usr/share/gtk-3.0/settings.ini"
+ install -Dm644 ../gtk-query-immodules-3.0.hook "$pkgdir/usr/share/libalpm/hooks/gtk-query-immodules-3.0.hook"
+
+ # split this out to use with gtk2 too
+ rm "$pkgdir/usr/bin/gtk-update-icon-cache"
+
+ cd "$pkgdir"
+ for _f in usr/lib/*/*/printbackends/*; do
+ case $_f in
+ *-file.so|*-lpr.so) continue;;
+ esac
+
+ mkdir -p "$srcdir/print-backends/${_f%/*}"
+ mv "$_f" "$srcdir/print-backends/$_f"
+ done
+}
+
+package_gtk-update-icon-cache() {
+ pkgdesc="GTK+ icon cache updater"
+ depends=(gdk-pixbuf2 hicolor-icon-theme)
+
+ cd gtk+
+ install -D gtk/gtk-update-icon-cache "$pkgdir/usr/bin/gtk-update-icon-cache"
+ install -Dm644 ../gtk-update-icon-cache.hook "$pkgdir/usr/share/libalpm/hooks/gtk-update-icon-cache.hook"
+ install -D ../gtk-update-icon-cache.script "$pkgdir/usr/share/libalpm/scripts/gtk-update-icon-cache"
+}
+
+package_gtk3-print-backends() {
+ pkgdesc="Print backends for GTK3"
+ depends=(gtk3 rest colord libcups)
+ groups=(gnome)
+
+ mv print-backends/* "$pkgdir"
+}
+# vim:set et sw=4:
Deleted: testing-x86_64/gtk-query-immodules-3.0.hook
===================================================================
--- testing-x86_64/gtk-query-immodules-3.0.hook 2016-10-10 15:46:08 UTC (rev 278176)
+++ testing-x86_64/gtk-query-immodules-3.0.hook 2016-10-10 15:47:09 UTC (rev 278177)
@@ -1,11 +0,0 @@
-[Trigger]
-Type = File
-Operation = Install
-Operation = Upgrade
-Operation = Remove
-Target = usr/lib/gtk-3.0/3.0.0/immodules/*.so
-
-[Action]
-Description = Probing GTK3 input method modules...
-When = PostTransaction
-Exec = /usr/bin/gtk-query-immodules-3.0 --update-cache
Copied: gtk3/repos/testing-x86_64/gtk-query-immodules-3.0.hook (from rev 278176, gtk3/trunk/gtk-query-immodules-3.0.hook)
===================================================================
--- testing-x86_64/gtk-query-immodules-3.0.hook (rev 0)
+++ testing-x86_64/gtk-query-immodules-3.0.hook 2016-10-10 15:47:09 UTC (rev 278177)
@@ -0,0 +1,11 @@
+[Trigger]
+Type = File
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/lib/gtk-3.0/3.0.0/immodules/*.so
+
+[Action]
+Description = Probing GTK3 input method modules...
+When = PostTransaction
+Exec = /usr/bin/gtk-query-immodules-3.0 --update-cache
Deleted: testing-x86_64/gtk-update-icon-cache.hook
===================================================================
--- testing-x86_64/gtk-update-icon-cache.hook 2016-10-10 15:46:08 UTC (rev 278176)
+++ testing-x86_64/gtk-update-icon-cache.hook 2016-10-10 15:47:09 UTC (rev 278177)
@@ -1,13 +0,0 @@
-[Trigger]
-Type = File
-Operation = Install
-Operation = Upgrade
-Operation = Remove
-Target = usr/share/icons/*/
-Target = !usr/share/icons/*/?*
-
-[Action]
-Description = Updating icon theme caches...
-When = PostTransaction
-Exec = /usr/share/libalpm/scripts/gtk-update-icon-cache
-NeedsTargets
Copied: gtk3/repos/testing-x86_64/gtk-update-icon-cache.hook (from rev 278176, gtk3/trunk/gtk-update-icon-cache.hook)
===================================================================
--- testing-x86_64/gtk-update-icon-cache.hook (rev 0)
+++ testing-x86_64/gtk-update-icon-cache.hook 2016-10-10 15:47:09 UTC (rev 278177)
@@ -0,0 +1,13 @@
+[Trigger]
+Type = File
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/share/icons/*/
+Target = !usr/share/icons/*/?*
+
+[Action]
+Description = Updating icon theme caches...
+When = PostTransaction
+Exec = /usr/share/libalpm/scripts/gtk-update-icon-cache
+NeedsTargets
Deleted: testing-x86_64/gtk-update-icon-cache.script
===================================================================
--- testing-x86_64/gtk-update-icon-cache.script 2016-10-10 15:46:08 UTC (rev 278176)
+++ testing-x86_64/gtk-update-icon-cache.script 2016-10-10 15:47:09 UTC (rev 278177)
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-while read -r f; do
- if [[ -e ${f}index.theme ]]; then
- gtk-update-icon-cache -q "$f"
- elif [[ -d $f ]]; then
- rm -f "${f}icon-theme.cache"
- rmdir --ignore-fail-on-non-empty "$f"
- fi
-done
Copied: gtk3/repos/testing-x86_64/gtk-update-icon-cache.script (from rev 278176, gtk3/trunk/gtk-update-icon-cache.script)
===================================================================
--- testing-x86_64/gtk-update-icon-cache.script (rev 0)
+++ testing-x86_64/gtk-update-icon-cache.script 2016-10-10 15:47:09 UTC (rev 278177)
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+while read -r f; do
+ if [[ -e ${f}index.theme ]]; then
+ gtk-update-icon-cache -q "$f"
+ elif [[ -d $f ]]; then
+ rm -f "${f}icon-theme.cache"
+ rmdir --ignore-fail-on-non-empty "$f"
+ fi
+done
Deleted: testing-x86_64/gtk3.install
===================================================================
--- testing-x86_64/gtk3.install 2016-10-10 15:46:08 UTC (rev 278176)
+++ testing-x86_64/gtk3.install 2016-10-10 15:47:09 UTC (rev 278177)
@@ -1,3 +0,0 @@
-pre_remove() {
- rm -f /usr/lib/gtk-3.0/3.0.0/immodules.cache
-}
Copied: gtk3/repos/testing-x86_64/gtk3.install (from rev 278176, gtk3/trunk/gtk3.install)
===================================================================
--- testing-x86_64/gtk3.install (rev 0)
+++ testing-x86_64/gtk3.install 2016-10-10 15:47:09 UTC (rev 278177)
@@ -0,0 +1,3 @@
+pre_remove() {
+ rm -f /usr/lib/gtk-3.0/3.0.0/immodules.cache
+}
Deleted: testing-x86_64/settings.ini
===================================================================
--- testing-x86_64/settings.ini 2016-10-10 15:46:08 UTC (rev 278176)
+++ testing-x86_64/settings.ini 2016-10-10 15:47:09 UTC (rev 278177)
@@ -1,4 +0,0 @@
-[Settings]
-gtk-icon-theme-name = Adwaita
-gtk-theme-name = Adwaita
-gtk-font-name = Cantarell 11
Copied: gtk3/repos/testing-x86_64/settings.ini (from rev 278176, gtk3/trunk/settings.ini)
===================================================================
--- testing-x86_64/settings.ini (rev 0)
+++ testing-x86_64/settings.ini 2016-10-10 15:47:09 UTC (rev 278177)
@@ -0,0 +1,4 @@
+[Settings]
+gtk-icon-theme-name = Adwaita
+gtk-theme-name = Adwaita
+gtk-font-name = Cantarell 11
More information about the arch-commits
mailing list