bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#20619: Scrollbars


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 <address@hidden>
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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]