Menu

#873 lxappearance may fail to save gtk3 icon theme name.

open
nobody
5
2017-06-29
2017-06-29
pbogdan
No

Steps to reproduce:

  1. Install your distribution's xcorsors-theme package.
  2. Open lxappearance, select "redglass" theme and save the settings.
  3. Observe that the "gtk-cursor-theme-name" key has been saved in gtkrc-2.0 file, but hasn't been saved in ~/.config/gtk-3.0/settings.ini

Details:

From what I gather the issue comes down to save_cursor_theme_name function being invoked twice in lxappearance_save_gtkrc - first when generating settings for gtk2, and second time when generating settings for gtk3. The flow goes rougly like this:

  1. Generate "gtk-cursor-theme-name" key for gtk2 settings.
  2. Invoke save_cursor_theme_name.
  3. Generate "gtk-cursor-theme-name" key for gtk3 settings.
  4. Invoke save_cursor_theme_name.

This is problematic as save_cursor_theme_name may have the side effect of unsetting cursor_name field of the global app struct. In particular for a theme like "redglass" that doesn't provide an "index.theme" file it will consider it invalid and thus unset the field. So the value of app.cursor_theme will make its way into gtk2 settings but will no longer be present when generating gtk3 settings to a prior call to save_cursor_theme_name.
I shall note that the theme works perfectly fine in both gtk2 and gtk3 applications.

A simple work around would be to invoke save_cursor_theme_name only once after both gtk2 and gtk3 settings have been saved, or perhaps adjust the validation logic as the particular theme in question would appear to be working fine.

Please let me know if you require any additional details.

Thank you.

Discussion


Log in to post a comment.