After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 729337 - Default cursor size of 24 too small on high-dpi screens
Default cursor size of 24 too small on high-dpi screens
Status: RESOLVED FIXED
Product: mutter
Classification: Core
Component: general
3.12.x
Other Linux
: Normal normal
: ---
Assigned To: mutter-maint
mutter-maint
: 705409 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2014-05-01 15:09 UTC by betdomagoj
Modified: 2014-11-10 00:21 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Revert "prefs: Scale the root window cursor by the scale factor" (1.29 KB, patch)
2014-07-28 09:04 UTC, drago01
committed Details | Review
prefs: Update cursor size based on xsettings (2.48 KB, patch)
2014-07-28 09:04 UTC, drago01
committed Details | Review

Description betdomagoj 2014-05-01 15:09:07 UTC
My current configuration is a Macbook retina model with intel haswell architecture.

While running Gnome 3.12 on it, most of gnome is quite well high-dpi adapted except one annoying thing - the cursor size.

In Dconf-editor (org-gnome-desktop-interface) the deafult size is 24 which is far to small, however when changing it to 64 it becomes just right.

This affects gnome 3.10 as well. Kind regards!
Comment 1 drago01 2014-05-05 18:38:20 UTC
(In reply to comment #0)
> My current configuration is a Macbook retina model with intel haswell
> architecture.
> 
> While running Gnome 3.12 on it, most of gnome is quite well high-dpi adapted
> except one annoying thing - the cursor size.
> 
> In Dconf-editor (org-gnome-desktop-interface) the deafult size is 24 which is
> far to small, however when changing it to 64 it becomes just right.

48 is the "right" value 64 is just too big (we scale everything up by the factor of 2 on hidpi).

Actually gnome-settings-daemon *should* be taking care of that but apparently there is a bug somewhere.
Comment 2 Bastien Nocera 2014-05-08 14:14:18 UTC
(In reply to comment #1)
> 48 is the "right" value 64 is just too big (we scale everything up by the
> factor of 2 on hidpi).
> 
> Actually gnome-settings-daemon *should* be taking care of that but apparently
> there is a bug somewhere.

The bug is that mutter reads the GSettings key for the cursor size instead of the value of the XSettings that gnome-settings-daemon sets. Look for cursor-size in src/core/prefs.c.

Maybe that needs to be done in clutter, I'm not sure. But this is correctly exported in gsd's XSettings plugin.
Comment 3 drago01 2014-07-28 09:04:10 UTC
Created attachment 281845 [details] [review]
Revert "prefs: Scale the root window cursor by the scale factor"

This reverts commit 4fe66ce0a950134da20089319d68ba679be13d35.

This is wrong ... we should not scale the cursor size but read
the cursor xsettings that gets exported by gsd. Also this won't update on
resolution changes.
Comment 4 drago01 2014-07-28 09:04:30 UTC
Created attachment 281846 [details] [review]
prefs: Update cursor size based on xsettings

We shouldn't scale the cursor size in mutter we g-s-d exports
the correct size on hidpi so use gtk-cursor-theme-size.

This way we also catch changes on resolution updates.
Comment 5 drago01 2014-07-28 09:08:07 UTC
For some reason when running master on jhbuild my cursor is stuck at 24 no matter what even though XcursorSetDefaultSize gets called with the correct value.

Even without all of the involved patches. (i.e without Jasper's patch and with the size set to 48 in prefs too).
Comment 6 drago01 2014-07-28 09:08:36 UTC
(In reply to comment #5)
> For some reason when running master on jhbuild my cursor is stuck at 24 no
> matter what even though XcursorSetDefaultSize gets called with the correct
> value.
> 
> Even without all of the involved patches. (i.e without Jasper's patch and with
> the size set to 48 in prefs too).

Which means this is only "printf tested" but my cursor size does not change.
Comment 7 drago01 2014-07-28 09:21:27 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > For some reason when running master on jhbuild my cursor is stuck at 24 no
> > matter what even though XcursorSetDefaultSize gets called with the correct
> > value.
> > 
> > Even without all of the involved patches. (i.e without Jasper's patch and with
> > the size set to 48 in prefs too).
> 
> Which means this is only "printf tested" but my cursor size does not change.

OK nevermind that was because of a broken icon theme in my jhbuild environment. With that fixed (rebuilt) the patches work as expected.
Comment 8 Bastien Nocera 2014-07-30 16:25:54 UTC
Cosimo should be able to test this as well, CC:ed.
Comment 9 drago01 2014-09-14 08:23:21 UTC
Attachment 281845 [details] pushed as ab40dfd - Revert "prefs: Scale the root window cursor by the scale factor"
Attachment 281846 [details] pushed as 493c0f7 - prefs: Update cursor size based on xsettings

Just pushed it. While Jasper does not like using xsettings in mutter, we already do that for getting
the scale factor. This has been broken for way to long and we are near code freeze.
Comment 10 Bastien Nocera 2014-11-10 00:21:01 UTC
*** Bug 705409 has been marked as a duplicate of this bug. ***