# 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 ```bash 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](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 ```bash 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](Kitty-setup.md). ### 3. GNOME Settings ```bash 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 '' ``` ## 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`