Files
seth-linux-theme/theme-setup.md
T
Mortdecai 0c0066fef1 feat: custom kitty tab bar with system status + install scripts
Custom tab_bar.py with flat tabs, right-aligned status area (git branch,
CPU%, memory, uptime, hostname, clock) using Nerd Font icons. F12/Shift+F12
toggle for tab bar. Added Kitty-setup.md, theme-setup.md, and install
scripts for kitty-only and full Debian theme deployment.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 07:26:15 -04:00

3.7 KiB

Seth Linux Theme — Full Setup Guide

Dark GNOME desktop theme with black titlebars, square corners, and orange (#D35400) accent. Covers GTK3/4, kitty terminal, and GNOME Shell settings.

What You Get

  • GTK3/4: Black headerbars, square window corners, ultra-thin bars (36px), no decorative borders
  • Kitty: Borderless terminal with custom status bar (git, CPU, RAM, uptime, clock)
  • GNOME: Dark mode, orange accent color, Super+right-drag resize

Prerequisites

  • Debian/Ubuntu (or any GNOME-based distro)
  • GNOME Shell (tested on GNOME 48)
  • kitty terminal (optional — theme works without it)
  • git

Quick Install

git clone https://git.sethpc.xyz/Seth/seth-linux-theme.git
cd seth-linux-theme
./install-debian-theme.sh

This installs everything: GTK CSS, kitty theme + Nerd Font, and GNOME settings.

What Each Component Does

GTK CSS (gtk-3.0/gtk.css)

Applied to both GTK3 and GTK4 apps. Overrides:

  • Black headerbar background with white text
  • 36px min-height headerbars (thinner than default)
  • Square window corners (border-radius: 0)
  • No CSD decoration borders or shadows
  • Transparent headerbar buttons (white text, #222 hover)
  • Backdrop state: #999 text/icons, #333 bottom border
  • Nautilus sidebar/main headerbar height equalization

Kitty Terminal

See Kitty-setup.md for full details.

  • Borderless window
  • Custom tab bar with system status
  • JetBrainsMono Nerd Font
  • F12 toggle for tab bar

GNOME Settings

  • color-scheme: prefer-dark
  • accent-color: orange
  • resize-with-right-button: true (Super+right-drag to resize)
  • mouse-button-modifier: Super

Manual Install

1. GTK CSS

mkdir -p ~/.config/gtk-3.0 ~/.config/gtk-4.0
cp gtk-3.0/gtk.css ~/.config/gtk-3.0/gtk.css
cp gtk-3.0/gtk.css ~/.config/gtk-4.0/gtk.css

GTK3 apps pick up changes on next window open. GTK4/libadwaita apps need a full relaunch.

2. Kitty

See Kitty-setup.md.

3. GNOME Settings

gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
gsettings set org.gnome.desktop.interface accent-color 'orange'
gsettings set org.gnome.desktop.wm.preferences resize-with-right-button true
gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier '<Super>'

Files

seth-linux-theme/
├── gtk-3.0/
│   └── gtk.css                 # GTK3/4 headerbar + window CSS
├── kitty/
│   ├── kitty-theme.conf        # Kitty colors, tab bar, keybindings
│   ├── tab_bar.py              # Custom tab bar renderer
│   ├── tab-bar-hide.conf       # Toggle snippet (hide)
│   └── tab-bar-show.conf       # Toggle snippet (show)
├── gnome/
│   └── apply-gnome-settings.sh # GNOME gsettings
├── install.sh                  # Legacy install (home dir target)
├── install-kitty-theme.sh      # Kitty-only install
└── install-debian-theme.sh     # Full theme install (Debian/Ubuntu)

Known Limitations

  • Rounded window corners: Mutter hardcodes corner rounding at the compositor level. GTK CSS border-radius: 0 only affects CSD content, not the compositor clipping mask. Removing rounded corners requires a patched Mutter or a shell extension.
  • Kitty changes need restart: tab_bar.py, font, and keybinding changes require closing and reopening kitty. Ctrl+Shift+F5 only reloads colors.
  • CPU % first draw: Shows "..." on first tab bar draw (needs two /proc/stat samples to compute delta).

Customization

  • Accent color: Replace #D35400 in gtk.css, kitty-theme.conf, and tab_bar.py
  • Headerbar height: Change min-height: 36px in gtk.css
  • Tab bar items: Edit the if is_last: block in tab_bar.py