Files
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

112 lines
3.7 KiB
Markdown

# 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 '<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`