This fixes font scaling for default fonts, where we don't set font sizes explicitly. Without this, on 4k monitor with text-scaling-factor configured in Gnome, labels, buttons and settings are using very small font sizes. (Probably, not just Gnome but anything that sets custom DPI). Screenshots here: https://twiukraine.com/@partizan/112619567918546426 Signed-off-by: Serhii Tereshchenko <serg.partizan@xxxxxxxxx> --- git-gui.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/git-gui.sh b/git-gui.sh index 8bc8892..23dd82d 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -810,6 +810,16 @@ if {[is_Windows]} { ## config defaults set cursor_ptr arrow + +# For whatever reason, Tk does not apply font scaling to default fonts, +# but applies font scaling when setting size explicitly. +# Default -size 10 is still 10, when you look at it with `font actual ...`, +# but explicitl -size 10 becomes 10 * scale factor. +# So, we need to configure fonts to use their default font sizes, but scaled. +foreach font_name [font names] { + font configure $font_name -size [font actual $font_name -size] +} + font create font_ui if {[lsearch -exact [font names] TkDefaultFont] != -1} { eval [linsert [font actual TkDefaultFont] 0 font configure font_ui] -- 2.45.2