Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add tmux support #191

Merged
merged 21 commits into from
Feb 19, 2024
Merged

feat: add tmux support #191

merged 21 commits into from
Feb 19, 2024

Conversation

mikesmithgh
Copy link
Owner

@mikesmithgh mikesmithgh commented Feb 11, 2024

Testing with:
.tmux.conf

bind [ run-shell 'kitty @ kitten /Users/mike/gitrepos/kitty-scrollback.nvim/python/kitty_scrollback_nvim.py --env "TMUX=$TMUX" --env "TMUX_PANE=#{pane_id}"'

moved list to #115

  • add tests checking env var and kitty_data.tmux
  • add multipane test
  • check positioning of paste window
    • status line impacts this, look into tmux set-option status on tmux set-option status 3 etc . check with tmux show-options status
    • adjust cursor pos for split panes (tmux display-message -p '#{cursor_x} #{cursor_y} #{pane_width} #{pane_height} #{window_visible_layout}')
    • idea, check if zoomed, if not toggle zoom before hand. tmux resize-pane -Z need to figure out command to check if already zoomed ( try #{window_zoomed_flag} )
  • check positioning for scrolled window
  • add command to generate config
  • copy to clipboard, add/modify option to copy to tmux buffer with set-buffer command
  • look into history-limit configuration and document preferred settings
  • doc differences between tmux copy mode, e.g., one pane full screen instead of split panes
  • if get-extent all, -S - -E -, if screen remove -S and -E options. see tmux capture-pane help
  • review all options in capture-pane https://man7.org/linux/man-pages/man1/tmux.1.html
       capture-pane [-aAepPqCJN] [-b buffer-name] [-E end-line] [-S
               start-line] [-t target-pane]
                     (alias: capturep)
               Capture the contents of a pane.  If -p is given, the
               output goes to stdout, otherwise to the buffer specified
               with -b or a new buffer if omitted.  If -a is given, the
               alternate screen is used, and the history is not
               accessible.  If no alternate screen exists, an error will
               be returned unless -q is given.  If -e is given, the
               output includes escape sequences for text and background
               attributes.  -C also escapes non-printable characters as
               octal \xxx.  -T ignores trailing positions that do not
               contain a character.  -N preserves trailing spaces at
               each line's end and -J preserves trailing spaces and
               joins any wrapped lines; -J implies -T.  -P captures only
               any output that the pane has received that is the
               beginning of an as-yet incomplete escape sequence.

               -S and -E specify the starting and ending line numbers,
               zero is the first line of the visible pane and negative
               numbers are lines in the history.  ‘-’ to -S is the start
               of the history and to -E the end of the visible pane.
               The default is to capture only the visible contents of
               the pane.
  • doc required tmux version
  • nice to have? maybe? add tmux nerd font icon to status when in tmux mode
  • doc doesn't work over ssh

@mikesmithgh mikesmithgh mentioned this pull request Feb 11, 2024
6 tasks
@mikesmithgh mikesmithgh linked an issue Feb 11, 2024 that may be closed by this pull request
17 tasks
@mikesmithgh mikesmithgh removed a link to an issue Feb 19, 2024
17 tasks
@mikesmithgh mikesmithgh marked this pull request as ready for review February 19, 2024 02:59
@mikesmithgh mikesmithgh merged commit 8b1f70b into main Feb 19, 2024
3 of 19 checks passed
@mikesmithgh mikesmithgh deleted the tmux-support branch February 19, 2024 03:07
mikesmithgh pushed a commit that referenced this pull request Feb 19, 2024
# [4.1.0](v4.0.3...v4.1.0) (2024-02-19)

### Features

* add experimental tmux support ([#191](#191)) ([8b1f70b](8b1f70b))
@mikesmithgh
Copy link
Owner Author

🎉 This PR is included in version 4.1.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant