A recent Chrome OS update left some of my Linux apps rocking 90s cosplay. Here's how I got back a more modern look.
Graphical applications for Linux are typically built using one of several open source GUI frameworks, such as GTK, Qt, or wxWidgets. These are roughly analogous to Cocoa on macOS, or parts of the Windows API (or WinRT) on Windows. Some well known applications developed with these toolkits include VLC Media Player (Qt), GIMP (GTK), or Audacity (wxWidgets).
Chrome OS does not include this in its settings, so I had to look elsewhere.
A Quick Fix
Fortunately, a thread on Ask Ubuntu pointed out that GTK settings can be modified in the Terminal app, through the
gsettings utility. This was already installed (likely as a GTK dependency), so I was able to check the current theme with the following command:
gsettings get org.gnome.desktop.interface gtk-theme
This revealed that the currently set theme is called CrosAdapta. This is a Google-made fork of the Adapta GTK theme, which mimics the look and feel of Google's Material Design. Somehow, this package had been uninstalled from the system, so GTK presented its default, unstyled look. I was able to restore the previous appearance with:
sudo apt install CrosAdapta
A Note About GTK Themes
Recently, a group of independent developers released an open letter detailing some problems with the current state of theming on GTK. Many Linux distributions set their own unique GTK theme as the default. As a result, a single application may look completely different on Fedora Linux, Ubuntu, elementaryOS, or Chrome OS, with no input from the developers, often to the detriment of usability.
The default theme for GTK is called Adwaita, and is not installed on Linux Beta for Chrome OS by default. It can be installed with:
sudo apt install gnome-themes-standard
To set the theme, run:
gsettings set org.gnome.desktop.interface gtk-theme "Adwaita"
However, it's worth noting that this did not work for me, initially. After I installed CrosAdapta, I tried installing
gnome-tweak-tool, to see if I could set Adwaita that way. It worked, and I was able to see the changes reflected in
gsettings. In fact, after using Tweaks initially, I was able to use
gsettings to switch between the themes. It actually still worked, even after I removed
gnome-tweak-tool (it added 275 MB!), so your mileage may vary.
Unfortunately, Adwaita on Chrome OS doesn't look quite right. Comparing it side by side with CrosAdapta, it's clearly a different theme, but it still doesn't look like Adwaita on GNOME. This could improve with future releases of Chrome OS, but it doesn't seem likely, since Google doesn't even offer an easily discoverable way to change themes.