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>
This commit is contained in:
+111
@@ -0,0 +1,111 @@
|
||||
# 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`
|
||||
Reference in New Issue
Block a user