From a77ec336240eff63f0cd10ba9e5d9d6e707d07f5 Mon Sep 17 00:00:00 2001 From: "Matthew S. Turnbull" Date: Fri, 11 Jun 2021 17:09:13 -0400 Subject: media-gfx/gnome-screenshot: Fix X11 HiDPI support Signed-off-by: Matthew S. Turnbull Signed-off-by: Matt Turner --- .../files/gnome-screenshot-40.0-fix-hidpi.patch | 40 +++++++++++++ .../gnome-screenshot-40.0-r1.ebuild | 66 ++++++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 media-gfx/gnome-screenshot/files/gnome-screenshot-40.0-fix-hidpi.patch create mode 100644 media-gfx/gnome-screenshot/gnome-screenshot-40.0-r1.ebuild (limited to 'media-gfx') diff --git a/media-gfx/gnome-screenshot/files/gnome-screenshot-40.0-fix-hidpi.patch b/media-gfx/gnome-screenshot/files/gnome-screenshot-40.0-fix-hidpi.patch new file mode 100644 index 000000000000..6b493ae6d260 --- /dev/null +++ b/media-gfx/gnome-screenshot/files/gnome-screenshot-40.0-fix-hidpi.patch @@ -0,0 +1,40 @@ +From f29aceacbd99fc905ac6d871351505e8d9aa7264 Mon Sep 17 00:00:00 2001 +From: Alexander Mikhaylenko +Date: Sun, 25 Apr 2021 20:00:58 +0000 +Subject: [PATCH] Revert "backend-x11: Use pixbuf dimensions when masking" + +This reverts commit f53d720c7d9199075369f085cf5a39a6b53268bc +--- + src/screenshot-backend-x11.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/screenshot-backend-x11.c b/src/screenshot-backend-x11.c +index 990e715..bf32de8 100644 +--- a/src/screenshot-backend-x11.c ++++ b/src/screenshot-backend-x11.c +@@ -206,18 +206,20 @@ mask_monitors (GdkPixbuf *pixbuf, + GdkWindow *root_window) + { + GdkDisplay *display; ++ GdkScreen *screen; + cairo_region_t *region_with_monitors; + cairo_region_t *invisible_region; + cairo_rectangle_int_t rect; + + display = gdk_window_get_display (root_window); ++ screen = gdk_display_get_default_screen (display); + + region_with_monitors = make_region_with_monitors (display); + + rect.x = 0; + rect.y = 0; +- rect.width = gdk_pixbuf_get_width (pixbuf); +- rect.height = gdk_pixbuf_get_height (pixbuf); ++ rect.width = gdk_screen_get_width (screen); ++ rect.height = gdk_screen_get_height (screen); + + invisible_region = cairo_region_create_rectangle (&rect); + cairo_region_subtract (invisible_region, region_with_monitors); +-- +GitLab + diff --git a/media-gfx/gnome-screenshot/gnome-screenshot-40.0-r1.ebuild b/media-gfx/gnome-screenshot/gnome-screenshot-40.0-r1.ebuild new file mode 100644 index 000000000000..530e596f46da --- /dev/null +++ b/media-gfx/gnome-screenshot/gnome-screenshot-40.0-r1.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit gnome.org gnome2-utils meson readme.gentoo-r1 xdg + +DESCRIPTION="Screenshot utility for GNOME" +HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-screenshot" + +LICENSE="GPL-2+" +SLOT="0" +IUSE="X" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" + +DEPEND=" + X? ( + x11-libs/libX11 + x11-libs/libXext + ) + >=dev-libs/glib-2.35.1:2[dbus] + >=x11-libs/gtk+-3.12.0:3 + >=gui-libs/libhandy-1:1= +" +RDEPEND="${DEPEND} + >=gnome-base/gsettings-desktop-schemas-0.1.0 +" +BDEPEND=" + dev-libs/appstream-glib + dev-libs/libxml2:2 + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + x11-base/xorg-proto +" + +PATCHES=( + # Fix HiDPI handling in X11 fallback + # https://gitlab.gnome.org/GNOME/gnome-screenshot/-/issues/128 + "${FILESDIR}"/${PN}-40.0-fix-hidpi.patch +) + +DOC_CONTENTS="${P} saves screenshots in ~/Pictures/ and defaults to + non-interactive mode when launched from a terminal. If you want to choose + where to save the screenshot, run 'gnome-screenshot --interactive'" + +src_configure() { + local emesonargs=( + $(meson_feature X x11) + ) + meson_src_configure +} + +src_install() { + meson_src_install + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update + readme.gentoo_print_elog +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} -- cgit v1.2.3-18-g5258