Revert .tmux.conf to minimal baseline (closes #1) #2

Open
forgejo_admin wants to merge 1 commit from 1-revert-to-minimal-config into main

Closes #1

Summary

Restores .tmux.conf to the exact 22-line state from abeb159 (initial commit). Forward revert — no history rewrite.

Changes

All additions stacked across 5fd40bb, df57813, 11a3cda, 8a8fcf5 are removed from .tmux.conf:

  • TPM + plugins (tmux-sensible, resurrect, continuum, pain-control, prefix-highlight, catppuccin)
  • OS-detection if-shell wrappers (status-right battery, clipboard)
  • vi-mode clipboard binds (pbcopy / xclip / clip.exe)
  • split-window + new-window cwd inheritance
  • after-split-window and pane-exited auto-rebalance hooks
  • renumber-windows on
  • < / > swap-window bubble-sort binds + jump-to-back/front scripts
  • catppuccin window-status format overrides
  • automatic-rename off

Final file diff: .tmux.conf -89 / +3 lines. Result is byte-identical to abeb159:.tmux.conf.

Why: the layered additions produced bugs that outweighed their value.

  1. Ctrl-b c landed new windows at the end of the stack instead of next to the current window.
  2. pane-exited rebalance hook fought manual pane layouts — closing one pane shuffled the rest.
  3. Plugin stack pulled in opaque state (resurrect + continuum auto-restore) that made the config hard to reason about.
  4. < / > swap binds needed a follow-up kludge (jump-to-back/front shell scripts) because the first version broke at the boundaries.

Going back to the 22-line baseline so additions can be re-introduced deliberately, one per PR, only if they earn their keep.

Test Plan

  • After merge, pull on host: cd ~/tmux-custom && git pull forgejo main
  • Reload: tmux source-file ~/.tmux.conf
  • Verify no TPM/catppuccin errors in tmux message bar
  • Verify Ctrl-b c still works (stock tmux behavior — will still append to end until a deliberate follow-up ticket adds -a)
  • Optional cleanup: rm -rf ~/.tmux/plugins to remove TPM leftovers

Review Checklist

  • .tmux.conf is byte-identical to abeb159:.tmux.conf (verify with git diff abeb159 HEAD -- .tmux.conf → no output)
  • History is preserved — no reset --hard or force-push
  • Commit message records the why (bug list)
  • No files outside .tmux.conf touched
  • No re-addition of removed features smuggled in
  • Issue: #1
  • Reverts effects of: 5fd40bb (TPM + plugins), df57813 (OS detection), 11a3cda (</> fix), 8a8fcf5 (boundary insert)
  • Baseline restored: abeb159
  • Stale branch 1-fix-window-move-insert is untouched and can be cleaned up separately if desired
  • Out of scope: re-adding clipboard, plugins, or window helpers — future tickets per addition

🤖 Generated with Claude Code

Closes #1 ## Summary Restores `.tmux.conf` to the exact 22-line state from `abeb159` (initial commit). Forward revert — no history rewrite. ## Changes All additions stacked across `5fd40bb`, `df57813`, `11a3cda`, `8a8fcf5` are removed from `.tmux.conf`: - TPM + plugins (tmux-sensible, resurrect, continuum, pain-control, prefix-highlight, catppuccin) - OS-detection `if-shell` wrappers (status-right battery, clipboard) - vi-mode clipboard binds (pbcopy / xclip / clip.exe) - split-window + new-window cwd inheritance - `after-split-window` and `pane-exited` auto-rebalance hooks - `renumber-windows on` - `<` / `>` swap-window bubble-sort binds + jump-to-back/front scripts - catppuccin window-status format overrides - `automatic-rename off` Final file diff: `.tmux.conf` -89 / +3 lines. Result is byte-identical to `abeb159:.tmux.conf`. **Why:** the layered additions produced bugs that outweighed their value. 1. `Ctrl-b c` landed new windows at the end of the stack instead of next to the current window. 2. `pane-exited` rebalance hook fought manual pane layouts — closing one pane shuffled the rest. 3. Plugin stack pulled in opaque state (resurrect + continuum auto-restore) that made the config hard to reason about. 4. `<` / `>` swap binds needed a follow-up kludge (jump-to-back/front shell scripts) because the first version broke at the boundaries. Going back to the 22-line baseline so additions can be re-introduced deliberately, one per PR, only if they earn their keep. ## Test Plan - [ ] After merge, pull on host: `cd ~/tmux-custom && git pull forgejo main` - [ ] Reload: `tmux source-file ~/.tmux.conf` - [ ] Verify no TPM/catppuccin errors in tmux message bar - [ ] Verify `Ctrl-b c` still works (stock tmux behavior — will still append to end until a deliberate follow-up ticket adds `-a`) - [ ] Optional cleanup: `rm -rf ~/.tmux/plugins` to remove TPM leftovers ## Review Checklist - [ ] `.tmux.conf` is byte-identical to `abeb159:.tmux.conf` (verify with `git diff abeb159 HEAD -- .tmux.conf` → no output) - [ ] History is preserved — no `reset --hard` or force-push - [ ] Commit message records the *why* (bug list) - [ ] No files outside `.tmux.conf` touched - [ ] No re-addition of removed features smuggled in ## Related Notes - Issue: #1 - Reverts effects of: `5fd40bb` (TPM + plugins), `df57813` (OS detection), `11a3cda` (`<`/`>` fix), `8a8fcf5` (boundary insert) - Baseline restored: `abeb159` - Stale branch `1-fix-window-move-insert` is untouched and can be cleaned up separately if desired - Out of scope: re-adding clipboard, plugins, or window helpers — future tickets per addition 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Closes #1

Restores .tmux.conf to the exact 22-line state from the initial commit.
Forward revert — no history rewrite.

Removed (stacked across 5fd40bb, df57813, 11a3cda, 8a8fcf5):
- TPM + plugins: tmux-sensible, tmux-resurrect, tmux-continuum,
  tmux-pain-control, tmux-prefix-highlight, catppuccin/tmux
- OS-detection if-shell wrappers for status-right and clipboard
- vi-mode clipboard binds (pbcopy / xclip / clip.exe variants)
- split-window + new-window cwd inheritance binds
- after-split-window and pane-exited auto-rebalance hooks
- renumber-windows on
- < / > swap-window bubble-sort binds and the jump-to-back/front
  boundary-insert scripts layered on top of them
- catppuccin window-status format overrides
- automatic-rename off

Why: the layered additions produced bugs that outweighed the value.
Ctrl-b c landed new windows at the end of the stack instead of next
to the current window, the pane-exited rebalance hook fought manual
layouts, and the plugin stack pulled in opaque state (resurrect +
continuum) that made the config hard to reason about. Each iteration
piled more kludges on: the < / > swap binds needed a follow-up
"insert at boundaries" patch because the first version broke at the
edges. Going back to the 22-line baseline so additions can be
re-introduced deliberately, one at a time, only if they earn their
keep.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Author
Owner

PR #2 Review

DOMAIN REVIEW

Tech stack: tmux dotfile (shell-adjacent config). Single-file forward revert.

Diff verification against PR claims:

  • Byte-identity to abeb159: Diff math checks out. +3/-89, .tmux.conf only. The three additions are (a) the simplified set -g status-right "#(pmset -g batt | grep -Eo '[0-9]+%%')" line replacing the OS-detection if-shell pair, (b) the bare setw -g mode-keys vi at EOF (the old file had the same line but it was swept out as part of the larger copy-mode block removal, then re-added clean). Context lines at top (status-interval 5, status-left "#S ", MouseDown1StatusLeft choose-session) are preserved unchanged. No smuggled re-additions.
  • Single file: changed_files: 1, only .tmux.conf. Confirmed.
  • Removed stack matches PR summary: TPM + 6 plugins, OS-detection if-shell wrappers, vi-mode clipboard binds (v/V/y/Y/Enter/MouseDragEnd1Pane), cwd inheritance for "/%/c, after-split-window + pane-exited rebalance hooks, renumber-windows on, </> swap-window binds, @continuum-restore, @resurrect-capture-pane-contents, automatic-rename off, catppuccin window-status format overrides, TPM init line. All accounted for.
  • No force-push evidence: mergeable: true, forward revert commit on branch 1-revert-to-minimal-config. History preserved.
  • Commit message / PR body records why: Bug list is in the PR body (4 numbered bugs: Ctrl-b c append, pane-exited layout fight, opaque plugin state, swap bind boundary kludge). Good.

BLOCKERS

None.

NITS

  • The restored baseline hardcodes pmset -g batt in status-right, which is macOS-only. On Linux hosts this silently produces an empty status-right. This is inherent to abeb159 (the revert target), not introduced by this PR, so it is correctly out of scope. Flagging as discovered scope: consider a follow-up ticket to either (a) drop status-right entirely from the baseline, or (b) re-introduce a minimal OS-aware battery line as its own deliberate PR per the "earn their keep" philosophy in the PR body. Not required for merge.
  • Both old and new files end with \ No newline at end of file. Pre-existing condition, matches abeb159, no action needed.
  • Test Plan item "Verify Ctrl-b c still works (stock tmux behavior — will still append to end until a deliberate follow-up ticket adds -a)" correctly acknowledges the original bug #1 symptom is only partially addressed by the revert (it removes the plugin-layer complexity but not the stock tmux append behavior). Consider filing that follow-up ticket now so it doesn't fall off.

SOP COMPLIANCE

  • Branch named after issue (1-revert-to-minimal-config)
  • PR body follows template (Summary, Changes, Test Plan, Review Checklist, Related Notes)
  • Related section references issue #1 and the reverted commits
  • No secrets committed
  • No files outside .tmux.conf touched
  • Forward revert only, no history rewrite

PROCESS OBSERVATIONS

Clean, surgical revert. Exemplary PR hygiene for a dotfile change: explicit byte-identity claim, verifiable diff math, bug-driven rationale, and a stated philosophy (one deliberate addition per follow-up PR) that prevents the same layering problem from recurring. Change failure risk: near zero — this file is developer-local, no CI/deploy surface. Deployment frequency impact: neutral. Documentation gap: minor — the pmset-on-Linux quirk and the not-yet-fixed Ctrl-b c append behavior should each become their own backlog ticket so the scope stays tracked per feedback_discovered_scope_always_tracked.

VERDICT: APPROVED

## PR #2 Review ### DOMAIN REVIEW Tech stack: tmux dotfile (shell-adjacent config). Single-file forward revert. Diff verification against PR claims: - **Byte-identity to `abeb159`**: Diff math checks out. +3/-89, `.tmux.conf` only. The three additions are (a) the simplified `set -g status-right "#(pmset -g batt | grep -Eo '[0-9]+%%')"` line replacing the OS-detection `if-shell` pair, (b) the bare `setw -g mode-keys vi` at EOF (the old file had the same line but it was swept out as part of the larger copy-mode block removal, then re-added clean). Context lines at top (`status-interval 5`, `status-left "#S "`, `MouseDown1StatusLeft choose-session`) are preserved unchanged. No smuggled re-additions. - **Single file**: `changed_files: 1`, only `.tmux.conf`. Confirmed. - **Removed stack matches PR summary**: TPM + 6 plugins, OS-detection if-shell wrappers, vi-mode clipboard binds (v/V/y/Y/Enter/MouseDragEnd1Pane), cwd inheritance for `"`/`%`/`c`, `after-split-window` + `pane-exited` rebalance hooks, `renumber-windows on`, `<`/`>` swap-window binds, `@continuum-restore`, `@resurrect-capture-pane-contents`, `automatic-rename off`, catppuccin window-status format overrides, TPM init line. All accounted for. - **No force-push evidence**: `mergeable: true`, forward revert commit on branch `1-revert-to-minimal-config`. History preserved. - **Commit message / PR body records why**: Bug list is in the PR body (4 numbered bugs: `Ctrl-b c` append, pane-exited layout fight, opaque plugin state, swap bind boundary kludge). Good. ### BLOCKERS None. ### NITS - The restored baseline hardcodes `pmset -g batt` in `status-right`, which is macOS-only. On Linux hosts this silently produces an empty status-right. This is inherent to `abeb159` (the revert target), not introduced by this PR, so it is correctly out of scope. Flagging as **discovered scope**: consider a follow-up ticket to either (a) drop `status-right` entirely from the baseline, or (b) re-introduce a minimal OS-aware battery line as its own deliberate PR per the "earn their keep" philosophy in the PR body. Not required for merge. - Both old and new files end with `\ No newline at end of file`. Pre-existing condition, matches `abeb159`, no action needed. - Test Plan item "Verify `Ctrl-b c` still works (stock tmux behavior — will still append to end until a deliberate follow-up ticket adds `-a`)" correctly acknowledges the original bug #1 symptom is only partially addressed by the revert (it removes the plugin-layer complexity but not the stock tmux append behavior). Consider filing that follow-up ticket now so it doesn't fall off. ### SOP COMPLIANCE - [x] Branch named after issue (`1-revert-to-minimal-config`) - [x] PR body follows template (Summary, Changes, Test Plan, Review Checklist, Related Notes) - [x] Related section references issue #1 and the reverted commits - [x] No secrets committed - [x] No files outside `.tmux.conf` touched - [x] Forward revert only, no history rewrite ### PROCESS OBSERVATIONS Clean, surgical revert. Exemplary PR hygiene for a dotfile change: explicit byte-identity claim, verifiable diff math, bug-driven rationale, and a stated philosophy (one deliberate addition per follow-up PR) that prevents the same layering problem from recurring. Change failure risk: near zero — this file is developer-local, no CI/deploy surface. Deployment frequency impact: neutral. Documentation gap: minor — the `pmset`-on-Linux quirk and the not-yet-fixed `Ctrl-b c` append behavior should each become their own backlog ticket so the scope stays tracked per `feedback_discovered_scope_always_tracked`. ### VERDICT: APPROVED
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin 1-revert-to-minimal-config:1-revert-to-minimal-config
git switch 1-revert-to-minimal-config

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff 1-revert-to-minimal-config
git switch 1-revert-to-minimal-config
git rebase main
git switch main
git merge --ff-only 1-revert-to-minimal-config
git switch 1-revert-to-minimal-config
git rebase main
git switch main
git merge --no-ff 1-revert-to-minimal-config
git switch main
git merge --squash 1-revert-to-minimal-config
git switch main
git merge --ff-only 1-revert-to-minimal-config
git switch main
git merge 1-revert-to-minimal-config
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo_admin/tmux-custom!2
No description provided.