I originally made this change to take advantage of wpgtk, and although I
was successful and wpgtk was a cool experience, I am not that interested
in updating all my config files to use wpgtk instead of wal.
Since this was mainly useful for thunar and nautilus, and since I'm
considering using ranger only and writing my own scripts for additional
functionality, I may change this to a simpler theme in the future.
This removes the minimize, maximize, and close buttons from GTK
applications, since we don't use them under bspwm anyway.
Note that Qt applications should already do this, no configuration
necessary.
The cursor theme size is set based on the X cursor size, which itself is
based on the X DPI.
Note that (as far as I know) there is no easy way to change the X cursor
size without restarting the X session with the new DPI.
Since the Adapta theme isn't maintained anymore, some problems in newer
versions of GNOME (such as incorrect padding for text underlines in
Nautilus) cannot be reported since issues are disabled.
It turns out that Arc-Dark does have padding, I just wasn't scaling GTK
applications properly. Since I already use the Arc theme for KDE, using
it for GTK as well gives all my desktop applications a universal look
and feel.
The solid variant is used instead of the original to remove the
transparent effect seen in Nautilus. The Arc GTK theme supports both
light and dark color schemes, which is very nice.
It turns out that desktop environments like GNOME and Plasma will
re-write the GTK settings.ini regardless of whether or not it is
actually used. To avoid diffing issues, I've gone ahead and replaced
my commented settings.ini with the one formatted by KDE Plasma.
Note that the current settings.ini file consists of all the settings you
need in a modern GTK environment. Be wary of programs that attempt to
add legacy options to this file, such as kde-gtk-config.
It turns out that placing similar config files (i.e. bspwm-related) in
the same directory is not the way to go about handling dotfiles since
each config file (or dotfile) *should* manipulate only a single program.
This was not the case back when I used urxvt (which would require the
old method of .Xresources), but now that I understand more about how
*modern* dotfiles work (with $XDG_CONFIG_HOME), separating dotfiles by
program became the obvious choice.