|
From: | Eugen Dedu |
Subject: | bug#20619: Scrollbars |
Date: | Tue, 27 Dec 2016 23:45:24 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.5.1 |
On 24/12/16 08:56, Eli Zaretskii wrote:
From: Eugen Dedu <eugen.dedu@univ-fcomte.fr> Date: Fri, 23 Dec 2016 21:30:17 +0100 Now, to advance emacs support for HIDPI I would like to fix the scrollbar. Do all people here agree that the scrollbar has a width twice as normal? The reason is that in src/gtkutil.c there is this code: int xg_get_default_scrollbar_width (void) { return scroll_bar_width_for_theme * xg_get_gdk_scale (); } where xg_get_gdk_scale returns GDK_SCALE variable, i.e. 2 in general. If I replace with: return scroll_bar_width_for_theme; the scrollbar is shown correctly. This change was made by https://github.com/emacs-mirror/emacs/commit/c0055ff5b03c9121ab5bf752496b09416f0f0a7d. I think there was an error there, or perhaps in the mean time (since May 2015) GTK has changed in a way so that scrollbars are taken into account.What is your version of GTK? That commit points to a bug report (bug#20432), so this change is not a mistake, it did fix a real problem with scroll bars. We could make it conditional on the GTK version, though. The bug report mentions a specific GTK version.
I use gtk 3.22.5.To reproduce the exact environment when that commit was made, I pulled the repository at the commit right before that change and compiled it. I had one compile error that I fixed with an #undef, and another one:
make[1]: *** [bootstrap-emacs] Segmentation fault which I have not tried to fix.
Note that GDK_DPI_SCALE is only for font, AFAIU from https://developer.gnome.org/gtk3/stable/gtk-x11.html.The code you mention doesn't use GDK_DPI_SCALE.
Indeed. I wrote this because in the bug 20432 which the commit fixed it was mentioned GDK_DPI_SCALE too.
What do you think? Would you commit such a modification?I don't think we can simply revert the change in question, but maybe we could use different code based on GTK version.
If I make an #ifdef with gtk 3.22, is that fine to do the commit? Everyone can test with a gtk-enabled emacs simply using "GDK_SCALE=2 emacs".
I would like to look into other issues as well.Thank you! I see bugs 20432, 21469, and 18429 that might be relevant.
I have looked at them, but I think the right thing to do is just to fix using conditionals, things have changed in the last 1-1.5 years (when those bugs were written) it seems.
-- Eugen
[Prev in Thread] | Current Thread | [Next in Thread] |