Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package yast2-installation for 
openSUSE:Factory checked in at 2022-02-13 19:50:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-installation (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-installation.new.1956 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-installation"

Sun Feb 13 19:50:38 2022 rev:494 rq:953841 version:4.4.40

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-installation/yast2-installation.changes    
2022-02-04 00:46:13.945149270 +0100
+++ 
/work/SRC/openSUSE:Factory/.yast2-installation.new.1956/yast2-installation.changes
  2022-02-13 19:51:12.186238332 +0100
@@ -1,0 +2,8 @@
+Wed Feb  9 15:05:32 UTC 2022 - Antonio Larrosa <alarr...@suse.com>
+
+- Set the Xft.dpi resource after running the X server,
+  before running yast to fix hidpi issues with Qt 5.15
+  (boo#1173451)
+- 4.4.40
+
+-------------------------------------------------------------------

Old:
----
  yast2-installation-4.4.39.tar.bz2

New:
----
  yast2-installation-4.4.40.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yast2-installation.spec ++++++
--- /var/tmp/diff_new_pack.v47fAx/_old  2022-02-13 19:51:12.746239825 +0100
+++ /var/tmp/diff_new_pack.v47fAx/_new  2022-02-13 19:51:12.750239835 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-installation
-Version:        4.4.39
+Version:        4.4.40
 Release:        0
 Summary:        YaST2 - Installation Parts
 License:        GPL-2.0-only
@@ -70,6 +70,8 @@
 Requires:       pciutils
 # tar-gzip some system files and untar-ungzip them after the installation 
(FATE #300421, #120103)
 Requires:       tar
+# xrdb is used to set Xft.dpi in YaST2.call
+Requires:       xrdb
 # Y2Packager::NewRepositorySetup
 Requires:       yast2 >= 4.4.42
 # CIOIgnore

++++++ yast2-installation-4.4.39.tar.bz2 -> yast2-installation-4.4.40.tar.bz2 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-installation-4.4.39/package/yast2-installation.changes 
new/yast2-installation-4.4.40/package/yast2-installation.changes
--- old/yast2-installation-4.4.39/package/yast2-installation.changes    
2022-02-02 13:39:44.000000000 +0100
+++ new/yast2-installation-4.4.40/package/yast2-installation.changes    
2022-02-11 10:35:56.000000000 +0100
@@ -1,4 +1,12 @@
 -------------------------------------------------------------------
+Wed Feb  9 15:05:32 UTC 2022 - Antonio Larrosa <alarr...@suse.com>
+
+- Set the Xft.dpi resource after running the X server,
+  before running yast to fix hidpi issues with Qt 5.15
+  (boo#1173451)
+- 4.4.40
+
+-------------------------------------------------------------------
 Wed Feb  2 11:46:42 UTC 2022 - Ladislav Slez??k <lsle...@suse.cz>
 
 - Fixed crash in Ruby 3.1 after pressing the hamburger menu icon
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-installation-4.4.39/package/yast2-installation.spec 
new/yast2-installation-4.4.40/package/yast2-installation.spec
--- old/yast2-installation-4.4.39/package/yast2-installation.spec       
2022-02-02 13:39:44.000000000 +0100
+++ new/yast2-installation-4.4.40/package/yast2-installation.spec       
2022-02-11 10:35:56.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package yast2-installation
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-installation
-Version:        4.4.39
+Version:        4.4.40
 Release:        0
 Summary:        YaST2 - Installation Parts
 License:        GPL-2.0-only
@@ -70,6 +70,8 @@
 Requires:       pciutils
 # tar-gzip some system files and untar-ungzip them after the installation 
(FATE #300421, #120103)
 Requires:       tar
+# xrdb is used to set Xft.dpi in YaST2.call
+Requires:       xrdb
 # Y2Packager::NewRepositorySetup
 Requires:       yast2 >= 4.4.42
 # CIOIgnore
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-installation-4.4.39/startup/YaST2.call 
new/yast2-installation-4.4.40/startup/YaST2.call
--- old/yast2-installation-4.4.39/startup/YaST2.call    2022-02-02 
13:39:44.000000000 +0100
+++ new/yast2-installation-4.4.40/startup/YaST2.call    2022-02-11 
10:35:56.000000000 +0100
@@ -71,6 +71,29 @@
        done
 }
 
+#----[ calculate_x11_dpi ]----#
+function calculate_x11_dpi () {
+#------------------------------------------------------
+# Calculate the monitor's dpi from xrandr's output
+# ---
+       local MON_SIZE=`xrandr |grep mm |head -n 1`
+       local MON_WIDTH_MM=`echo $MON_SIZE | sed -e "s/.* \([0-9]\+\)mm x 
\([0-9]\+\)mm.*/\1/"`
+       local MON_WIDTH_PX=`echo $MON_SIZE | sed -e "s/.* 
\([0-9]\+\)x[0-9]\++.*/\1/"`
+       local DPI=`ruby -e "puts 
(($MON_WIDTH_PX/($MON_WIDTH_MM*0.0393701)/48).round)*48"`
+       log "Monitor size: $MON_SIZE"
+       log "Monitor width mm: $MON_WIDTH_MM"
+       log "Monitor width px: $MON_WIDTH_PX"
+       log "Monitor dpi: $DPI"
+       echo "$DPI"
+}
+
+#----[ set_xft_dpi ]----#
+function set_xft_dpi () {
+#------------------------------------------------------
+# Set Xft.dpi resource using xrdb
+# ---
+       echo "Xft.dpi: $1" | xrdb -merge - && log "Xft.dpi set to: $1"
+}
 
 #----[ prepare_for_x11 ]----#
 function prepare_for_x11 () {
@@ -91,6 +114,19 @@
                wait_for_x11 15
                if [ "$server_running" = 1 ];then
                        log "\tX-Server is ready: $xserver_pid"
+
+                       local DPI=`calculate_x11_dpi`
+                       if [ "$DPI" -ge 144 -a "$DPI" -le 288 ]; then
+                               set_xft_dpi $DPI
+                       elif [ "$DPI" -gt 288 ]; then
+                               # This is a workaround against monitors
+                               # that provide bad edid values
+                               log "WARNING: Detected monitor DPI is too high 
($DPI), using value 288"
+                               set_xft_dpi 288
+                       else
+                               log "WARNING: Detected monitor DPI is too low 
($DPI), using value 96"
+                               set_xft_dpi 96
+                       fi
                fi
        fi
 

Reply via email to