Hello! Thomas Danckaert <p...@thomasdanckaert.be> skribis:
> libxcursor's configure script has an option "--with-cursorpath=<paths>" > to set a default search path for cursors. If no option is given (as is > the case with our package), the default is > DEF_CURSORPATH="~/.icons:${datadir}/icons:${datadir}/pixmaps", which is > exactly the set of directories in the strace (${HOME}/.icons and > ${INSTALLPREFIX}/share/icons). > > So I guess that adding relevant directories to the libxcursor search > path would solve the problem. For Guix, it'd be useful to add > /run/current-system/profile/share/icons, as well as > ~/.guix-profile/share/icons (for users installing other icon themes in > their profile). Would this be ok? I think that’d be OK. Though libXcursor contains a few ‘getenv’ calls, notably for XCURSOR_PATH, which looks like it’s what we’re looking for. I tested the attached path in a VM and it seems to fix the bug: I can drag a window in the overview area on the right and it no longer crashes (*and* I get a hand-shaped cursor when hovering that area :-)). And we don’t need to modify libXcursor. (We could do slightly better by using the absolute file name of the actual icon theme instead of /run/current-system, but it’s complicated because I guess it doesn’t have to be Adwaita.) Thoughts? Ludo’.
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 527a3101c..4633f0fc6 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -791,7 +791,11 @@ accountsservice web site} for more information." gnome-package)) (service-extension profile-service-type (compose list - gnome-package)))))) + gnome-package)) + (service-extension session-environment-service-type + (const + '(("XCURSOR_PATH" + . "/run/current-system/profile/share/icons")))))))) (define* (gnome-desktop-service #:key (config (gnome-desktop-configuration))) "Return a service that adds the @code{gnome} package to the system profile,