Configuring GNOME

I use GNOME 3, including gnome-shell. A lot of people tease me about it, but I actually really like GNOME: it’s easy to configure and I enjoy using gnome-shell. The memory footprint of GNOME isn’t as high as a lot of people think, especially if you disable certain features.

Like most hackers I have a dot-files repository that holds my configuration files for certain pieces of software. In mine I recently add a bash script called install-files that will configure various things. For instance, if I invoke install-files bash it will copy over both my .bashrc and my .bash_profile; that kind of thing.

Here’s how I currently have this script defined when using install-files gnome; if you’re a GNOME user it may be helpful to you:

do_gnome() {
    local badgnome=()
    for keyring_file in /etc/xdg/autostart/gnome-keyring*; do
        if [ -f "${keyring_file}" ]; then
            badgnome+=("${keyring_file}")
        fi
    done
    for tracker_file in /etc/xdg/autostart/tracker*; do
        if [ -f "${tracker_file}" ]; then
            badgnome+=("${tracker_file}")
        fi
    done
    for evolution_file in /etc/xdg/autostart/evolution*; do
        if [ -f "${evolution_file}" ]; then
            badgnome+=("${evolution_file}")
        fi
    done
    if [ ${#badgnome[@]} -ne 0 ]; then
        echo "As root consider running:"
        for ((i=0; i < ${#badgnome[@]}; i++)); do
            echo "  ln -sf /dev/null ${badgnome[$i]}"
        done
    fi
    local settings=".config/gtk-3.0/settings.ini"
    cp ./"${settings}" ~/"${settings}"
    gsettings set org.gnome.desktop.interface cursor-blink false
    gsettings set org.gnome.settings-daemon.plugins.xsettings antialiasing rgba
    gsettings set org.gnome.desktop.wm.preferences focus-mode sloppy
    gsettings set org.gnome.desktop.input-sources xkb-options "['caps:ctrl_modifier']"
}

Here’s what this does:

My .config/gtk-3.0/settings.ini file looks like this:

[Settings]
gtk-application-prefer-dark-theme=true

This simply sets up a dark GTK theme, which again is my preference.