dc29b7a087
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
122 lines
6.1 KiB
Markdown
122 lines
6.1 KiB
Markdown
# Handoff: kitty titlebar fix (mac)
|
|
|
|
## Session Metadata
|
|
- Created: 2026-09-15 20:03:54
|
|
- Project: /home/claude/bin/mac
|
|
- Branch: master
|
|
- Session duration: ~10 min
|
|
|
|
### Recent Commits (for context)
|
|
- 3399829 fix(kitty): keep macOS titlebar — it's the only drag handle; color it to match bg
|
|
- d86ede0 docs: session handoff — mac base setup shipped & verified
|
|
- 617fc78 docs: reconcile CLAUDE.md/DECISIONS with what shipped (sudo approach, rrsync, set -e lessons)
|
|
- d622cf6 fix: chmod 600 the ssh Include file (ssh rejects group-writable config)
|
|
- d7205a9 fix: pass pubkey to tank-side.sh via env, not ssh command arg
|
|
|
|
## Handoff Chain
|
|
|
|
- **Continues from**: [2026-09-15-194209-mac-setup-shipped.md](./2026-09-15-194209-mac-setup-shipped.md)
|
|
- Previous title: kitty titlebar fix (mac)
|
|
- **Supersedes**: [list any older handoffs this replaces, or "None"]
|
|
|
|
> Review the previous handoff for full context before filling this one.
|
|
|
|
## Current State Summary
|
|
|
|
Short follow-up to the base-setup session. Seth reported kitty on the MacBook had no title bar and no way to move the window. Root cause: `config/kitty.conf` carried `hide_window_decorations titlebar-only` (from the plan) plus a leftover `hide_window_decorations yes` inherited verbatim from `~/bin/kitty-web/config/kitty.conf` (where Xpra provides the frame). On macOS the title bar is the only drag handle; Rectangle snaps but doesn't free-drag. Fixed by deleting the `yes` line and replacing `titlebar-only` with `macos_titlebar_color background` so the bar stays but is painted #0a0a0a. Synced to the Mac, committed, pushed. Seth still needs to Cmd+Q/relaunch kitty (decoration changes don't hot-reload). Everything from the previous handoff's Pending Work is still pending and unchanged.
|
|
|
|
## Codebase Understanding
|
|
|
|
### Architecture Overview
|
|
|
|
Unchanged from previous handoff. Relevant slice: `config/kitty.conf` in the repo is *included* by `~/.config/kitty/kitty.conf` on the Mac, and the repo is rsynced to `~/mac/` — so a one-file fix is `rsync -a config/kitty.conf mac:mac/config/kitty.conf` (no need for the full `run.sh`, which installs/removes the temp sudoers drop-in).
|
|
|
|
### Critical Files
|
|
|
|
| File | Purpose | Relevance |
|
|
|------|---------|-----------|
|
|
| `config/kitty.conf` | kitty config, included on the Mac | macOS section at the bottom; last-write-wins, so watch for Linux leftovers above it |
|
|
| `config/.backup/kitty.conf.*` | pre-edit copy | per global backup rule |
|
|
| `docs/manual-checklist.md` | Seth's GUI steps | still the remaining work |
|
|
|
|
### Key Patterns Discovered
|
|
|
|
- `config/kitty.conf` was copied from `~/bin/kitty-web/` — audit any other Linux/Xpra-specific lines before assuming they make sense on macOS.
|
|
- `kill -USR1 $(pgrep -x kitty)` reloads kitty config remotely, but window-decoration options only apply on relaunch.
|
|
|
|
## Work Completed
|
|
|
|
### Tasks Finished
|
|
|
|
- [x] Diagnosed missing titlebar -> `hide_window_decorations`
|
|
- [x] Fixed `config/kitty.conf`, rsynced to Mac, SIGUSR1 reload sent
|
|
- [x] Committed + pushed (`fix(kitty): keep macOS titlebar ...`)
|
|
|
|
### Files Modified
|
|
|
|
| File | Changes | Rationale |
|
|
|------|---------|-----------|
|
|
| [no modified files detected] | | |
|
|
|
|
### Decisions Made
|
|
|
|
| Decision | Options Considered | Rationale |
|
|
|----------|-------------------|-----------|
|
|
| Keep titlebar, paint it `background` | (a) `hide_window_decorations no` stock bar; (b) keep hidden + global `NSWindowShouldDragOnGesture` (Ctrl+Cmd+drag anywhere); (c) chosen | (c) keeps drag + traffic lights with a flat look; (b) is a global `defaults` change on the DAW box — untested against Live's modifier-drag shortcuts, so deferred |
|
|
|
|
## Pending Work
|
|
|
|
### Immediate Next Steps
|
|
|
|
1. Seth: Cmd+Q and relaunch kitty on the Mac; confirm the bar is there and matches the bg.
|
|
2. Resume previous handoff's list: hand Seth `docs/manual-checklist.md`, install Ableton Live 12, re-run `scripts/run.sh --no-tank` so the Dock picks up Live.
|
|
3. Audio interface + 15-min AC session test with DAW Focus on (see previous handoff).
|
|
|
|
### Blockers/Open Questions
|
|
|
|
- [ ] None new. Carried: S4 MK1 macOS controller support unverified; FileVault ON kills `ssh mac` after reboot until password typed at lid.
|
|
|
|
### Deferred Items
|
|
|
|
- `defaults write -g NSWindowShouldDragOnGesture -bool true` (Linux Alt+drag equivalent) — only if Seth wants the bar gone again; global, so verify against Live first and add it to `setup.sh` with a defaults backup, not by hand.
|
|
- Carried from previous: SparkFun PPP service, Tailscale GUI login, AeroSpace tiling.
|
|
|
|
## Context for Resuming Agent
|
|
|
|
### Important Context
|
|
|
|
This session changed ONE repo file and nothing else on the Mac. Read `2026-09-15-194209-mac-setup-shipped.md` for the real state of the machine — base setup is DONE and verified; do not reconfigure. If Seth reports kitty still has no bar, he hasn't relaunched it yet (reload via SIGUSR1 does not apply decoration changes). If `ssh mac` fails, suspect a FileVault reboot first.
|
|
|
|
### Assumptions Made
|
|
|
|
- kitty 0.48.2 on the Mac honours `macos_titlebar_color background` (option has existed for years; not visually verified from steel141).
|
|
- Seth wants a movable window more than a bar-less look (he reported the missing bar as a problem, not the bar as noise).
|
|
|
|
### Potential Gotchas
|
|
|
|
- kitty config is last-write-wins: a Linux-section `hide_window_decorations yes` silently overrides nothing only because a later macOS line existed. Check for other duplicated keys before editing.
|
|
- Don't run full `run.sh` for a config-only tweak; rsync the file.
|
|
|
|
## Environment State
|
|
|
|
### Tools/Services Used
|
|
|
|
- `ssh mac` (192.168.0.94, key auth). kitty 0.48.2 via Homebrew cask. `gitea push`.
|
|
|
|
### Active Processes
|
|
|
|
- kitty running on the Mac (needs relaunch). Backup launchd agent + sanoid unchanged from previous handoff.
|
|
|
|
### Environment Variables
|
|
|
|
- None used this session. (`HOMELAB_PASSWORD` still needed for `run.sh`.)
|
|
|
|
## Related Resources
|
|
|
|
- Previous handoff: `.claude/handoffs/2026-09-15-194209-mac-setup-shipped.md` (authoritative for machine state)
|
|
- `DECISIONS.md`, `docs/manual-checklist.md`, `docs/plans/2026-09-15-mac-setup-plan.md` (Task 1 step 3 is where `titlebar-only` came from)
|
|
|
|
---
|
|
|
|
**Security Reminder**: Before finalizing, run `validate_handoff.py` to check for accidental secret exposure.
|