Commit Graph

21 Commits

Author SHA1 Message Date
396de0003c feat(tmux): simplify copy-mode to OSC52, remove condensed toggle
Drop pbcopy/xclip/xsel pipe hacks — OSC52 via set-clipboard
handles system clipboard automatically. Remove @condensed
status bar toggle, simplify status click to lock-session.
Add client-focus-in mouse reset workaround.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-13 17:17:24 +00:00
b0368d85b6 fix(prompt): restore cursor visibility on every prompt
Emit \e[?25h in precmd to fix hidden cursor after abrupt SSH
disconnects or interrupted TUI applications.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-13 17:17:07 +00:00
84ac65a62f fix(zsh): set autosuggest style before plugin load, tint paths
Set ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE before sourcing the plugin
so the style takes effect on first load. Add subtle green tint
to path syntax highlighting.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-13 17:16:58 +00:00
71748c2328 fix(git): graceful delta fallback when not installed
core.pager now checks for delta and falls back to less -R,
avoiding errors in environments where delta is not available.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-13 17:16:53 +00:00
69860d2e48 feat(fzf): use preview script in all workflows
Replace inline bat/head preview commands with the universal
preview script in the f() alias, file picker, and grep picker.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-13 17:16:49 +00:00
87235693c6 feat(preview): add universal file preview script and installer
Universal preview command handling text (bat), images (chafa),
PDFs (pdftotext), markdown (glow), and archives. Includes
install.d script for preview dependencies.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-13 17:16:43 +00:00
fe2c0c5a30 feat: codespace tab names and session widget improvements
Show friendly codespace name (without trailing random ID) in tmux tabs,
prefixed with cs:. Add ctrl-n to session widget to start a new copilot
session, and improve header labels and field display.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-27 17:15:31 +00:00
ffcaf71f82 tmux: add pressure-based activity tracker
Add heartbeat.sh that tracks session active time using three native
tmux signals: client input (+5), window output (+2), and copy mode
(+2), with -1 decay per tick. Score drives a block bar indicator
and accumulated active time counter. Resets on tmux server restart.

Status bar updates:
- Heartbeat pill with pressure bar right of clock
- Responsive breakpoints: hide network/battery <120 cols, date <80
- Click clock/date to toggle condensed view
- Click heartbeat to instant-lock session
- Static colon in clock (replaces shell-based blinker)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-27 17:14:30 +00:00
e686b6396d Add spinning donut screensaver with matrix rain
Terminal screensaver written in C, triggered by tmux lock-after-time
(180s idle), bind S, or `donut` alias. Features:

- Spinning torus with precomputed trig tables, randomized rotation
- Matrix rain overlay — donut luminance colors the rain characters
- 64-shade teal foreground palette with gradual dimming over time
- Chunky 7x5 clock with shadow, blinking colon, periodic drift
- Activity time display below clock (read from heartbeat state file)
- Rim lighting and ambient occlusion on donut edges
- RLE escape state machine — only emits SGR on shade transitions
- Row-skip rendering — empty/leading/trailing regions use cursor jumps
- Projection runs at adaptive rate (24fps bright, 6fps dim)
- select()-based frame pacing, deep sleep after 2hr (1fps)
- Resume detection — flushes stale PTY output after sleep/lock
- Mouse click to quit (SGR + X11 protocols, release filtered)
- write_all() retries partial writes, SIGPIPE handled gracefully
- Alternate screen buffer preserves shell scrollback

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-27 16:56:44 +00:00
5578bbd31f Fix tmux bell/selection rendering and mouse issues
Use 256-color codes for bell-style and mode-style to work around
tmux 3.6 hex color parsing bug that broke rendering and click targets.
Fix terminal-overrides accumulating on reload. Exit copy mode after
mouse selection. Update prefix indicator to amber.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-26 10:15:02 +00:00
8138d44c73 Replace red with amber, unify palette, add fetch/pull aliases
- Add git aliases: f (fetch), p (pull) and shell aliases: gf, gp
- Replace all #F40404 (red) with #F88C14 (amber) across prompt, gitconfig,
  vim, bat theme, and tmux scripts for colourblind-friendly palette
- Standardise hex case to uppercase throughout
- Unify #728cb8 → #7290B8 (fix blue inconsistency)
- Replace unique #8787AF with palette #7290B8 in gitconfig
- Remove unused red colour definition from prompt.zsh
- Update dark diff backgrounds from red-tinted to amber-tinted

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-25 17:38:47 +00:00
dc6b117016 Enhance shell widgets, tmux status, and git colors
- Add frecency scoring + git status boost to ^E edit widget
- Add network latency indicator to tmux status bar (wifi/wired detection, 10s cache)
- Add powerline separators between tmux status sections
- Swap git status colors: modified=bluish grey, untracked=amber (prompt, gitconfig, widget)
- Remove bold from feature branch name in prompt
- Add gw (git show) and gdm (diff against default branch) aliases

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-25 14:45:21 +00:00
53bd2f49ef bat build and zsh widget perf 2026-02-24 20:26:04 +00:00
faad821c77 terminal tool colours 2026-02-24 20:00:53 +00:00
e8165041d9 fix: codespaces gitconfig override 2026-02-24 19:02:28 +00:00
76f61dc5fe tmux, vim, terminal theming 2026-02-24 18:57:23 +00:00
7d2825f9d1 profile: invalidate PATH cache when base PATH changes
Store the base PATH alongside the cached result so the cache is
only used when the pre-modification PATH still matches.  This
prevents stale entries when the shell inherits a different base
PATH (e.g. inside tmux or after system updates).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-24 16:10:12 +00:00
6fd897b8b5 Merge remote-tracking branch 'origin/master' 2026-02-24 16:08:51 +00:00
2acae0b4f2 vim: add plugins, tmux: status bar, fix Ctrl+A clash
- Add vim-gitgutter, vim-commentary, vim-surround via install
script
- Rebind git log widget from Ctrl+A to Ctrl+T (tmux prefix
clash)
- Add date, time, and battery indicator to tmux status
bar
- Set tmux clock colour to teal

Co-authored-by: Copilot
<223556219+Copilot@users.noreply.github.com>
2026-02-24 16:08:10 +00:00
409bc6fef5 fix: install outputs, mise keyrings, termcolor 2026-02-23 08:49:43 -08:00
faf3bf2dfc feat: re-organise files dir 2026-02-13 14:59:25 +00:00