Commit Graph

24 Commits

Author SHA1 Message Date
David Ibia c9059d4867 feat(omo): notify this Mac about omo sessions on flowstate-remote
mosh drops the OSC 777 banner that omo-notify posts, so omo sessions on the server only reached the phone through ntfy. The server's omo-notify now writes the session state into its tmux client's terminal title (omo:<state>:<time>:<project>), which mosh and ssh carry. A pane-title-changed hook hands it to the new omo-remote, which runs omo-notify for the local mosh pane through the new OMO_NOTIFY_PANE override, so remote sessions get the same sound, tab marker and banner as local ones.

Sessions that no terminal is showing come through ntfy instead: omo-remote install starts a launchd agent running ntfy subscribe, which plays the sound and posts the banner for omo pushes the server did not tag attached. Brewfile gains ntfy; the token lives in ~/.config/ntfy/omo-remote.env, outside the repository.
2026-10-17 16:09:35 +01:00
David Ibia d92041b6dd feat(tmux): ctrl+click a file path to open it by type
tmux-open-path takes the path under the mouse, strips :line:col, #L, @ and file:// decorations, and resolves it against the pane directory and then its git root. Markdown opens in Markdown Preview (added to Brewfile.apps), images, PDFs and directories in yazi, and everything else in nvim at the clicked line, both in a split beside the pane.
2026-10-10 22:12:36 +01:00
David Ibia 6fb7007ea9 feat(omo): coloured tab markers and clickable Ghostty banners
omo-notify now drives three signals from omo's UserPromptSubmit, Stop
and Notification hooks:

- A sound through afplay, so Focus modes cannot mute it
- A Ghostty notification (OSC 777) written to the session's tmux client
  terminal, so clicking it opens the tab it came from. This replaces the
  osascript banner, which opened Script Editor's file picker on click
- omo-status markers in front of the tab title: red error, amber
  waiting for input, green finished, blue working. A tab shows its most
  urgent agent; focusing it clears red, amber and green and selects the
  pane that sent the banner

tmux puts @omo_status in the title and runs omo-status on client focus.
2026-10-06 23:02:55 +01:00
David Ibia 164dffc5eb feat(tmux): enable extended keys so TUIs receive modified keys
omo and nvim need Shift+Enter and other modified keys, which tmux
otherwise reports as plain Enter. Use CSI-u extended keys, as omo's
tmux guide recommends for tmux 3.5 and newer.
2026-10-06 23:02:29 +01:00
David Ibia bbd740fd0d fix(tmux): accept OSC 52 from panes so nested tmux copy reaches the clipboard
The local tmux left set-clipboard at the default "external", which drops
OSC 52 sent by applications in a pane. In a nested setup the remote tmux
sends its copies up as OSC 52, so they never reached the Mac clipboard.
2026-10-05 19:47:14 +01:00
David Ibia 3282358d9e feat(tmux): enable RGB for xterm terminals, push session name to the title, pin the TPM path 2026-10-03 16:27:47 +01:00
David Ibia 98cf68ae09 fix(tmux.conf): add TERM and TERM_PROGRAM environment variables for better compatibility 2025-02-12 20:57:22 +01:00
David Ibia 6f37ad30a8 chore(.tmux.conf): enable tmux-resurrect and tmux-continuum plugins for improved session management 2025-01-19 18:08:58 +01:00
David Ibia 42b2e002b0 feat: removed clock from tmux panel 2025-01-09 23:52:53 +01:00
David Ibia 1dbc6d4937 fix(tmux.conf): change base index to 1 for consistency with other tools
feat(tmux.conf): add support for attach-session command to allow attaching to a session from any directory
refactor(tmux.conf): reorganize bindings and commands for better readability
2025-01-09 01:27:56 +01:00
David Ibia f62cf03bbd feat: removed redundant send-keys logic 2025-01-06 15:14:18 +01:00
David Ibia a83185a398 chore(.tmux.conf): update terminal-features setting to 'XXX:RGB' for tmux configuration
chore(.tmux.conf): remove christoomey/vim-tmux-navigator plugin from plugin list
feat(.tmux.conf): add key bindings for VIM navigation in tmux
feat(.tmux.conf): add conditional key bindings based on tmux version for VIM navigation
feat(.tmux.conf): add key bindings for VIM navigation in copy-mode-vi
feat(.tmux.conf): add comments for VIM and TMUX Navigation sections in tmux.conf
2024-10-01 15:06:18 +01:00
David Ibia ce0f04a566 style(.tmux.conf): set status bar position to top for better visibility and aesthetics 2024-09-05 22:10:00 +01:00
David Ibia 94f36f6578 feat(.tmux.conf): add new tmux plugins 'catppuccin-tmux', 'tmux-sessionx', and 'tmux-floax' for enhanced tmux functionality
feat(.tmux.conf): configure custom settings for 'catppuccin-tmux' plugin to customize window and status bar appearance
chore(.tmux.conf): comment out unused window status configurations to declutter the file and improve readability
2024-09-05 22:08:16 +01:00
David Ibia d4cfdcafb5 feat(.tmux.conf): add tmux-sessionx plugin for managing tmux sessions more efficiently 2024-08-26 17:56:13 +01:00
David Ibia 29b684496d style(.tmux.conf): reorganize and clean up tmux configuration file for better readability and maintainability 2024-08-11 13:41:20 +01:00
David Ibia c16e3b2d2c chore(.tmux.conf): update tmux plugin list and configuration settings
feat(.tmux.conf): add 'catppuccin/tmux' plugin and set 'mocha' flavour for 'catppuccin' plugin
feat(.tmux.conf): update status-position to 'bottom' for better visibility on the screen
2024-07-29 00:57:30 +01:00
David Ibia 59deabba14 chore(.tmux.conf): add configuration for neovim in tmux-resurrect to save and restore neovim sessions 2024-06-12 14:14:47 +01:00
David Ibia b1be147fc3 feat(.tmux.conf): add custom tmux configuration for improved usability and productivity 2024-04-29 01:56:07 +01:00
David Ibia b236facf75 chore(tmux.conf): remove tmux configuration file as it is no longer needed 2024-04-28 21:18:38 +01:00
David Ibia b113756e88 chore(.tmux.conf): enable window renumbering for better organization and navigation
feat(.tmux.conf): add key bindings for window movement using leader key + Left/Right arrow
feat(.tmux.conf): add key bindings for pane resize using hjkl keys
2024-02-10 16:25:17 +01:00
David Ibia a541daba04 chore(.tmux.conf): enable showing SSH session port in the status bar for better visibility
feat(.tmux.conf): add tmux-ram-usage and attached-clients plugins to enhance functionality
feat(.tmux.conf): enable showing powerline in the status bar for a more visually appealing look
feat(.tmux.conf): enable showing flags in the status bar for better context awareness
feat(.tmux.conf): set left icon to session in the status bar for improved navigation
2024-02-07 12:54:28 +01:00
David Ibia 91bde47885 chore(.tmux.conf): add binding for searching with / and ? to improve navigation in tmux
feat(.tmux.conf): set default directory for new horizontal and vertical splits to current pane's directory for better context
fix(.tmux.conf): fix pane resize binding to resize down instead of up for better consistency with other bindings
2024-01-30 16:13:15 +01:00
David Ibia e4ddf72417 feat(.tmux.conf): add custom tmux configuration file
This commit adds a new file `.tmux.conf` which contains custom configuration settings for tmux. The changes include:

- Enable mouse support in tmux
- Add key binding to reload the tmux configuration file
- Set terminal features to support xterm-kitty:RGB
- Set escape time to 10 milliseconds
- Enable focus events in tmux
- Set mode keys to vi style
- Configure key bindings for tmux copy mode
- Configure key bindings for vertical and horizontal splits
- Configure key bindings for pane resizing
- Configure key binding for pane minimize/maximize
- Add a list of plugins for tmux
- Set plugin-specific configurations for tmux-resurrect, tmux-continuum, and dracula/tmux
- Set status bar position to top
- Initialize TMUX plugin manager

These changes are made to enhance the functionality and customization options of tmux.
2024-01-15 16:25:56 +01:00