[solved] Can anyone use gtk inspector and tell me the class name of the sidebar of gtk4 apps like nautilus

Basically I am using this gtk.css file in ~/.config/gtk-4.0/gtk.css but it's weird that the sidebar is not themed correctly. If anyone knows about this, please do tell. My only lead at this moment is to find the class and add it in gtk.css file. For some reason I can't install the gtk inspector app, So if anyone has it already or knows the classname, please help.

gtk.css file ->

@define-color accent_color #fe8019;
@define-color accent_bg_color #d65d0e;
@define-color accent_fg_color #ebdbb2;

@define-color destructive_color #8ec07c;
@define-color destructive_bg_color #689d6a;
@define-color destructive_fg_color #ebdbb2;

@define-color success_color #b8bb26;
@define-color success_bg_color #98971a;
@define-color success_fg_color #ebdbb2;

@define-color warning_color #fabd2f;
@define-color warning_bg_color #d79921;
@define-color warning_fg_color #ebdbb2;

@define-color error_color #fb4934;
@define-color error_bg_color #cc241d;
@define-color error_fg_color #ebdbb2;

@define-color window_bg_color #282828;
@define-color window_fg_color #ebdbb2;

@define-color view_bg_color #282828;
@define-color view_fg_color #ebdbb2;

@define-color headerbar_bg_color #282828;
@define-color headerbar_fg_color #ebdbb2;
@define-color headerbar_border_color #ebdbb2;
@define-color headerbar_backdrop_color @window_bg_color;
@define-color headerbar_shade_color rgba(0, 0, 0, 0.36);

@define-color card_bg_color rgba(255, 255, 255, 0.08);
@define-color card_fg_color #ebdbb2;
@define-color card_shade_color rgba(0, 0, 0, 0.36);

@define-color dialog_bg_color #3c3836;
@define-color dialog_fg_color #ebdbb2;

@define-color popover_bg_color #3c3836;
@define-color popover_fg_color #ebdbb2;

@define-color shade_color rgba(0, 0, 0, 0.36);
@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5);

Sidebar ->
https://lemmy.world/pictrs/image/ba16b97e-66e8-4f72-a636-6516ebd975b5.png

BananaFlip ,

Defining sidebar_bg_color does not work?

@define-color sidebar_bg_color 	
@define-color sidebar_fg_color 	
@define-color sidebar_backdrop_color 	
@define-color sidebar_border_color 	
@define-color sidebar_shade_color

@define-color secondary_sidebar_bg_color 	
@define-color secondary_sidebar_fg_color 	
@define-color secondary_sidebar_backdrop_color 	
@define-color secondary_sidebar_border_color 	
@define-color secondary_sidebar_shade_color

see libadwaita named colors

GTK Inspector comes with GTK, you don't need to install it.

Enable it with gsettings

gsettings get org.gtk.Settings.Debug enable-inspector-keybinding true

so you can invoke it either by running GTK_DEBUG=interactive application-name-here or, when alredy using the application, via Control + Shift + I/Control + Shift + D

mobsenpai OP ,
@mobsenpai@lemmy.world avatar

That's it. Thank you for this.

BananaFlip ,

You're most certainly welcome.

I wanted to add on this, for anyone else stumbling across this post and struggling with sidebar theming: The above will work 90% of the time, but in case your some-random-theme.css overrides @sidebar_, or doesn't follow the naming convention to begin with, search your gtk.css for .sidebar-pane, which should be the actual css selector for @sidebar_, and .content-pane for @secondary-sidebar_.

mobsenpai OP ,
@mobsenpai@lemmy.world avatar

Gotcha. One last thing. Do I need to define helper colors as well? currently I am not doing that, but it is defined in the adw styleguide. Ain't no way gruvbox has that much color varieties so what's your suggestion?

BananaFlip , (edited )

Nah, unless you're unhappy with the current outcome, you can leave it as it is.

Changes in .config/gtk-4.0/gtk.css will be applied on top of the stylesheet, so whatever you don't override there, will fall back to the default, that's why your sidebar previously went full Adwaita light mode.

After taking a brief look at the libadwaita source, as far as I can see, helper colors are a special case anyways, @borders as well as border_coloris used exclusively in the scssfiles (which the gtk.css is generated from), whereas the gtk.css for some reason doesn't get back to the generic name, but uses the assigned value alpha(currentColor,0.15) - which doesn't help your case at all.

To actually change @borders, you would need to modify its value in .scss and regenerate the .css then.

For your other point, there's no need to introduce a new color for this, since the helper color is an alpha value derived from your foreground color (that's what currentColor is referring to), so if you change _fg_color in gtk.css, @borders will change along with it.

mobsenpai OP ,
@mobsenpai@lemmy.world avatar

Alright. Thank you so so so much.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • kbinchat
  • All magazines