From ab8028475997e5046d0ba96a361dc41c95fb993e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Fri, 12 Jan 2018 05:52:52 +0100 Subject: [PATCH] Disable automatic scaling in GNOME/GTK applications GNOME automatically set scaling factor to 2 when HiDPI is detected. Unfortunately it does it also on not really HiDPI displays, making the whole UI unusably large. There is no middle ground - scaling factor must be integer, so 1.5 is not supported. Lets opt on a conservative side and fallback to scaling factor 1. Solution by @alyssais, thanks! Fixes QubesOS/qubes-issues#3108 (cherry picked from commit 7ecb74ae3b5d01f8ed11ed9d6e173ba3bc5a33b1) --- Makefile | 3 +++ debian/qubes-core-agent.postinst | 1 + misc/dconf-db-local-dpi | 2 ++ misc/dconf-profile-user | 2 ++ rpm_spec/core-vm.spec | 4 ++++ 5 files changed, 12 insertions(+) create mode 100644 misc/dconf-db-local-dpi create mode 100644 misc/dconf-profile-user diff --git a/Makefile b/Makefile index f42d9b8..0c917ae 100644 --- a/Makefile +++ b/Makefile @@ -275,6 +275,9 @@ install-common: install -d $(DESTDIR)/usr/share/nautilus-python/extensions install -m 0644 qubes-rpc/*_nautilus.py $(DESTDIR)/usr/share/nautilus-python/extensions + install -D -m 0644 misc/dconf-profile-user $(DESTDIR)/etc/dconf/profile/user + install -D -m 0644 misc/dconf-db-local-dpi $(DESTDIR)/etc/dconf/db/local.d/dpi + install -D -m 0755 misc/qubes-desktop-run $(DESTDIR)/usr/bin/qubes-desktop-run mkdir -p $(DESTDIR)/$(PYTHON_SITEARCH)/qubes/ diff --git a/debian/qubes-core-agent.postinst b/debian/qubes-core-agent.postinst index f43b452..3da02e7 100755 --- a/debian/qubes-core-agent.postinst +++ b/debian/qubes-core-agent.postinst @@ -189,6 +189,7 @@ case "${1}" in glib-compile-schemas /usr/share/glib-2.0/schemas || true + dconf update || true # Update Qubes App Menus /usr/lib/qubes/qubes-trigger-sync-appmenus.sh || true diff --git a/misc/dconf-db-local-dpi b/misc/dconf-db-local-dpi new file mode 100644 index 0000000..f1994ed --- /dev/null +++ b/misc/dconf-db-local-dpi @@ -0,0 +1,2 @@ +[org/gnome/desktop/interface] +scaling-factor=uint32 1 diff --git a/misc/dconf-profile-user b/misc/dconf-profile-user new file mode 100644 index 0000000..aca0641 --- /dev/null +++ b/misc/dconf-profile-user @@ -0,0 +1,2 @@ +user-db:user +system-db:local diff --git a/rpm_spec/core-vm.spec b/rpm_spec/core-vm.spec index eb790da..da7bd6d 100644 --- a/rpm_spec/core-vm.spec +++ b/rpm_spec/core-vm.spec @@ -285,6 +285,8 @@ if test -f /etc/yum.conf && ! grep -q '/etc/yum\.conf\.d/qubes-proxy\.conf' /etc echo 'include=file:///etc/yum.conf.d/qubes-proxy.conf' >> /etc/yum.conf fi +dconf update &> /dev/null || : + # And actually setup the proxy usage in package managers /usr/lib/qubes/update-proxy-configs @@ -477,6 +479,8 @@ rm -f %{name}-%{version} %if %{fedora} < 22 /etc/yum/post-actions/qubes-trigger-sync-appmenus.action %endif +%config(noreplace) /etc/dconf/profile/user +%config(noreplace) /etc/dconf/db/local.d/dpi /usr/lib/systemd/system/user@.service.d/90-session-stop-timeout.conf /usr/sbin/qubes-serial-login /usr/bin/qvm-copy-to-vm