derat/xsettingsd

opening apps slowly (Cannot transform xsetting)

mmsaeed509 opened this issue · 7 comments

some apps open slowly (like clion, and all JetBrains IDEs)
firefox doesn't open

when opening clion from terminal there is an error with gtk, xsetting

(java:122099): Gdk-WARNING **: 11:39:40.090: Cannot transform xsetting gtk-xft-dpi of type gchararray to type gint


(java:122099): Gtk-WARNING **: 11:39:40.106: Theme parsing error: gtk.css:14750:20: Not a valid image

(java:122099): Gtk-WARNING **: 11:39:40.106: Theme parsing error: gtk.css:14756:20: Not a valid image

(java:122099): Gtk-WARNING **: 11:39:40.106: Theme parsing error: gtk.css:14762:20: Not a valid image

(java:122099): Gtk-WARNING **: 11:39:40.106: Theme parsing error: gtk.css:14768:20: Not a valid image

(java:122099): Gtk-WARNING **: 11:39:40.106: Theme parsing error: gtk.css:14774:20: Not a valid image

(java:122099): Gtk-WARNING **: 11:39:40.106: Theme parsing error: gtk.css:14780:20: Not a valid image

(java:122099): Gtk-WARNING **: 11:39:40.106: Theme parsing error: gtk.css:14786:20: Not a valid image

(java:122099): Gtk-WARNING **: 11:39:40.106: Theme parsing error: gtk.css:14792:20: Not a valid image

(java:122099): Gdk-WARNING **: 11:39:40.142: Cannot transform xsetting gtk-xft-dpi of type gchararray to type gint


(java:122099): Gdk-WARNING **: 11:39:40.142: Cannot transform xsetting gtk-enable-input-feedback-sounds of type gchararray to type gboolean


(java:122099): Gdk-WARNING **: 11:39:40.142: Cannot transform xsetting gtk-enable-event-sounds of type gchararray to type gboolean


(java:122099): Gdk-WARNING **: 11:39:40.143: Cannot transform xsetting gtk-enable-input-feedback-sounds of type gchararray to type gboolean


(java:122099): Gtk-WARNING **: 11:41:40.485: Theme parsing error: gtk.css:14750:20: Not a valid image

(java:122099): Gtk-WARNING **: 11:41:40.485: Theme parsing error: gtk.css:14756:20: Not a valid image

(java:122099): Gtk-WARNING **: 11:41:40.485: Theme parsing error: gtk.css:14762:20: Not a valid image

(java:122099): Gtk-WARNING **: 11:41:40.485: Theme parsing error: gtk.css:14768:20: Not a valid image

(java:122099): Gtk-WARNING **: 11:41:40.485: Theme parsing error: gtk.css:14774:20: Not a valid image

(java:122099): Gtk-WARNING **: 11:41:40.485: Theme parsing error: gtk.css:14780:20: Not a valid image

(java:122099): Gtk-WARNING **: 11:41:40.485: Theme parsing error: gtk.css:14786:20: Not a valid image

firefox

(firefox:183358): Gdk-WARNING **: 11:47:23.536: Cannot transform xsetting gtk-xft-dpi of type gchararray to type gint


(firefox:183358): Gtk-WARNING **: 11:47:23.564: Theme parsing error: gtk.css:14750:20: Not a valid image

(firefox:183358): Gtk-WARNING **: 11:47:23.564: Theme parsing error: gtk.css:14756:20: Not a valid image

(firefox:183358): Gtk-WARNING **: 11:47:23.564: Theme parsing error: gtk.css:14762:20: Not a valid image

(firefox:183358): Gtk-WARNING **: 11:47:23.565: Theme parsing error: gtk.css:14768:20: Not a valid image

(firefox:183358): Gtk-WARNING **: 11:47:23.565: Theme parsing error: gtk.css:14774:20: Not a valid image

(firefox:183358): Gtk-WARNING **: 11:47:23.565: Theme parsing error: gtk.css:14780:20: Not a valid image

(firefox:183358): Gtk-WARNING **: 11:47:23.565: Theme parsing error: gtk.css:14786:20: Not a valid image

(firefox:183358): Gtk-WARNING **: 11:47:23.565: Theme parsing error: gtk.css:14792:20: Not a valid image

(firefox:183358): Gdk-WARNING **: 11:47:23.630: Cannot transform xsetting gtk-xft-dpi of type gchararray to type gint


(firefox:183358): Gdk-WARNING **: 11:47:23.631: Cannot transform xsetting gtk-enable-input-feedback-sounds of type gchararray to type gboolean


(firefox:183358): Gdk-WARNING **: 11:47:23.631: Cannot transform xsetting gtk-enable-event-sounds of type gchararray to type gboolean


(firefox:183358): Gdk-WARNING **: 11:47:23.636: Cannot transform xsetting gtk-enable-input-feedback-sounds of type gchararray to type gboolean
derat commented

The errors suggest that various integer and boolean settings are instead being supplied as strings. If you have quotes around the values for Xft/DPI, Net/EnableInputFeedbackSounds, and Net/EnableEventSounds, try removing them. https://github.com/derat/xsettingsd/wiki/Settings lists the types of different settings.

If that's not it, please attach your ~/.xsettingsd file.

here is my ~/.xsettingsd file

Net/ThemeName "Tokyonight-Dark-B"
Net/IconThemeName "Elena-dark-icons"
Gtk/CursorThemeName "WineTrix"
Net/EnableEventSounds "0"
Net/EnableInputFeedbackSounds "0"
Xft/DPI "-1"
Xft/Hinting 1
Xft/HintStyle "hintslight"
Xft/Antialias 1
Xft/RGBA "none"

I removed quotes as you mentioned

Net/ThemeName "Tokyonight-Dark-B"
Net/IconThemeName "Elena-dark-icons"
Gtk/CursorThemeName "WineTrix"
Net/EnableEventSounds 0
Net/EnableInputFeedbackSounds 0
Xft/DPI -1
Xft/Hinting 1
Xft/HintStyle "hintslight"
Xft/Antialias 1
Xft/RGBA "none"

But it still takes a long time to open

open clion from terminal

(java:792538): Gtk-WARNING **: 13:04:24.529: Theme parsing error: gtk.css:14750:20: Not a valid image

(java:792538): Gtk-WARNING **: 13:04:24.529: Theme parsing error: gtk.css:14756:20: Not a valid image

(java:792538): Gtk-WARNING **: 13:04:24.529: Theme parsing error: gtk.css:14762:20: Not a valid image

(java:792538): Gtk-WARNING **: 13:04:24.529: Theme parsing error: gtk.css:14768:20: Not a valid image

(java:792538): Gtk-WARNING **: 13:04:24.529: Theme parsing error: gtk.css:14774:20: Not a valid image

(java:792538): Gtk-WARNING **: 13:04:24.529: Theme parsing error: gtk.css:14780:20: Not a valid image

(java:792538): Gtk-WARNING **: 13:04:24.529: Theme parsing error: gtk.css:14786:20: Not a valid image

(java:792538): Gtk-WARNING **: 13:04:24.529: Theme parsing error: gtk.css:14792:20: Not a valid image

(java:792538): Gtk-WARNING **: 13:06:24.764: Theme parsing error: gtk.css:14750:20: Not a valid image

(java:792538): Gtk-WARNING **: 13:06:24.764: Theme parsing error: gtk.css:14756:20: Not a valid image

(java:792538): Gtk-WARNING **: 13:06:24.764: Theme parsing error: gtk.css:14762:20: Not a valid image

(java:792538): Gtk-WARNING **: 13:06:24.764: Theme parsing error: gtk.css:14768:20: Not a valid image

(java:792538): Gtk-WARNING **: 13:06:24.764: Theme parsing error: gtk.css:14774:20: Not a valid image

(java:792538): Gtk-WARNING **: 13:06:24.764: Theme parsing error: gtk.css:14780:20: Not a valid image

(java:792538): Gtk-WARNING **: 13:06:24.764: Theme parsing error: gtk.css:14786:20: Not a valid image

(java:792538): Gtk-WARNING **: 13:06:24.764: Theme parsing error: gtk.css:14792:20: Not a valid image
2022-08-22 13:06:25,696 [ 121883]   WARN - #c.i.n.i.NotificationGroupManagerImpl - Notification group CodeWithMe is already registered (group=com.intellij.notification.NotificationGroup@7be7a694). Plugin descriptor: PluginDescriptor(name=Code With Me, id=com.jetbrains.codeWithMe, descriptorPath=plugin.xml, path=~/jet brains/clion-2022.2/plugins/cwm-plugin, version=222.3345.126, package=null, isBundled=true)
Info  | RdCoroutineScope          | 38:JobScheduler FJ pool 3/11 | RdCoroutineHost overridden
2022-08-22 13:06:30,676 [ 126863]   WARN - #c.i.o.a.i.ActionUpdater - 239 ms to grab EDT for BackAction#update@MainToolbar (com.intellij.ide.actions.BackAction)
2022-08-22 13:06:35,468 [ 131655]   WARN - #c.i.o.a.i.ActionUpdater - 290 ms to grab EDT for EditCustomVmOptionsAction#update@MainMenu (com.intellij.ide.actions.EditCustomVmOptionsAction)
2022-08-22 13:06:35,469 [ 131656]   WARN - #c.i.o.a.i.ActionUpdater - 290 ms to grab EDT for OCStartClingSessionAction#update@MainMenu (com.jetbrains.cidr.lang.interactive.cling.actions.OCStartClingSessionAction)
derat commented

But it still takes a long time to open

JetBrains IDEs always take a long time to open for me!

But more seriously, the .xsettingsd file looks okay now. The repeated Theme parsing error: gtk.css:14762:20: Not a valid image error suggests that you might be loading a massive theme that has issues. If you comment out the first three theme-related lines by putting a # at the beginning of them, does the problem go away?

still takes a long time

#Net/ThemeName "Tokyonight-Dark-B"
#Net/IconThemeName "Elena-dark-icons"
#Gtk/CursorThemeName "WineTrix"
Net/EnableEventSounds 0
Net/EnableInputFeedbackSounds 0
Xft/DPI -1
Xft/Hinting 1
Xft/HintStyle "hintslight"
Xft/Antialias 1
Xft/RGBA "none"

my system is installed on NVMe SSD JetBrains IDEs open in 3s or less
but this error makes JetBrains IDEs take a long time to open

derat commented

(Just to check, did you restart xsettingsd or send a HUP signal to it after commenting out the theme?)

I don't see any obvious connection between xsettingsd and the remaining errors that you pasted, but here are a few questions that might help narrow things down:

  1. Do you still see the problem after you stop xsettingsd?
  2. If not, what about when you run xsettingsd with an empty ~/.xsettingsd file?
  3. Try adding the lines back to the .xsettingsd file one at a time to see if there's a particular setting that's causing problems.
  4. Do top or strace show anything suspicious going on in the xsettingsd process while the IDE is starting? IIRC, it should basically be idle at all times unless you send it HUP or something else takes the _XSETTINGS_S0 selection.

Beyond that, I think you'd probably need to enable additional logging in the IDE (if possible) or profile it to figure out why it's taking longer to start. (A JetBrains forum would be the place to ask about how to do that.)

Still, as it's

derat commented

Still, as it's

I think your comment got truncated. I'll reopen this if you add some more information suggesting that xsettingsd is doing something wrong with regard to its implementation of the XSETTINGS protocol.