[gedit-latex] Do not rely on deprecated Gdk.Screen.width_mm(), do not crash if monitor size is unknown
- From: Pietro Battiston <pbattiston src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit-latex] Do not rely on deprecated Gdk.Screen.width_mm(), do not crash if monitor size is unknown
- Date: Thu, 16 Apr 2020 16:01:19 +0000 (UTC)
commit bd697350b2412098315e40f990d6e09953e5e14a
Author: Pietro Battiston <pbattiston src gnome org>
Date: Thu Apr 16 18:00:31 2020 +0200
Do not rely on deprecated Gdk.Screen.width_mm(), do not crash if monitor size is unknown
latex/latex/environment.py | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/latex/latex/environment.py b/latex/latex/environment.py
index 548b5a9..2bfd4a3 100644
--- a/latex/latex/environment.py
+++ b/latex/latex/environment.py
@@ -336,9 +336,16 @@ class Environment(object):
@property
def screen_dpi(self):
if not self._screen_dpi:
- screen = Gdk.Screen.get_default()
- dpi_x = screen.width() / screen.width_mm() * 25.4
- dpi_y = screen.height() / screen.height_mm() * 25.4
+ display = Gdk.Display.get_default()
+ # FIXME: find most appropriate monitor, not first (0):
+ monitor = display.get_monitor(0)
+ geometry = monitor.get_geometry()
+ try:
+ dpi_x = geometry.width / monitor.get_width_mm() * 25.4
+ dpi_y = geometry.height / monitor.get_height_mm() * 25.4
+ except ZeroDivisionError:
+ # Happens inside qemu virtual machines. Entirely arbitrary value:
+ dpi_x = dpi_y = 5
self._screen_dpi = (dpi_x + dpi_y) / 2.0
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]