aboutsummaryrefslogtreecommitdiff
path: root/window-copy.c
Commit message (Collapse)AuthorAge
* Style: uint -> u_int and a missing else.Nicholas Marriott2011-03-28
|
* Change from a per-session stack of buffers to one global stack which isNicholas Marriott2010-12-30
| | | | | | | much more convenient and also simplifies lot of code. This renders copy-buffer useless and makes buffer-limit now a server option. By Tiago Cunha.
* Support all four of the xterm mouse modes. Based on a diff from hsim atNicholas Marriott2010-12-29
| | | | gmx.li.
* Fix rectangle copy to behave like emacs - the cursor is not part of theNicholas Marriott2010-12-11
| | | | selection on the right edge but on the left it is.
* When resizing the copy mode screen, don't allow it to end up with theNicholas Marriott2010-09-11
| | | | viewable position beyond the size of the history.
* Do not crash if the screen size is too small for the indicator in copy mode.Nicholas Marriott2010-09-08
|
* Fix a crash: if remain-on-exit is set and the pane has exited, theNicholas Marriott2010-07-22
| | | | | buffers may not be valid, so do not try to disable/enable them when switching to copy mode.
* replace some magic mouse constants with defines for clarity. ok nicmTed Unangst2010-06-29
|
* Use a macro-based mask for obtaining a key or modifier-set from theNicholas Marriott2010-06-06
| | | | combination. Display C-@, etc, as C-Space, in list-keys. By Micah Cowan.
* Make start-of-line work the same as end-of-line on wrapped lines (jumpNicholas Marriott2010-06-05
| | | | to real start if at edge of screen). By Micah Cowan.
* When the mode-mouse option is on, support dragging to make a selectionNicholas Marriott2010-05-31
| | | | | | | | in copy mode. Also support the scroll wheel, although xterm strangely does not ignore it in application mouse mode, causing redraw artifacts when scrolling up (other terminals appear to be better behaved).
* Pass in the session, rather than the client, to window modes' key()Nicholas Marriott2010-05-23
| | | | | | | | | function. We were only ever using the client to find the session anyway. This allows send-key to work properly for manipulating copy mode from outside tmux. From Micah Cowan.
* Fix crash when resizing in copy mode, when cursor can end up outside screen.Nicholas Marriott2010-04-28
| | | | Reported by Romain Francois, fixed by Micah Cowan.
* Merge copy mode and output mode, dropping the latter. Idea and code fromNicholas Marriott2010-04-06
| | | | Micah Cowan.
* paste-buffer should be per pane, from C. Coutinho.Nicholas Marriott2010-03-22
|
* Add vi-style "jump" commands for copy mode, from Micah Cowan.Nicholas Marriott2010-03-22
|
* Fix a use-after-free when cancelling copy mode, or trying to repeat cancel.Nicholas Marriott2010-03-14
| | | | ok kettenis
* Permit keys in copy mode to be prefixed by a repeat count, entered withNicholas Marriott2010-03-02
| | | | | | [1-9] in vi mode, or M-[1-9] in emacs mode. From Micah Cowan, tweaked a little by me.
* Extend the end-of-line key so that in normal mode a second press movesNicholas Marriott2010-03-01
| | | | | | | | the cursor to the end of a wrapped line (if present) and in rectangle mode it toggles between the end of the text and the last cell on the line. From Micah Cowan.
* Option to set the characters considered word separators in copy mode, fromNicholas Marriott2010-02-22
| | | | Micah Cowan.
* Another copy mode fix from Micah Cowan: in rectangle copy mode, the cursorNicholas Marriott2010-02-22
| | | | | should not wrap at the end of the text on the line but should be allowed to move freely.
* copy mode uses the real screen as backing and if it is updated while copying,Nicholas Marriott2010-02-19
| | | | strange things can happen. So, freeze reading from the pty while in copy mode.
* Make next-word stop at beginning of word even if it is at the start of theNicholas Marriott2010-02-17
| | | | line, from Micah Cowan.
* Don't strip add newline if only copying part of wrapped line. Problem spottedNicholas Marriott2010-02-17
| | | | by and fix from Micah Cowan.
* Add "N" key to search the opposite way from the last search (reverse of "n"),Nicholas Marriott2010-02-11
| | | | from Micah Cowan.
* Rectangle copy support, from Robin Lee Powell.Nicholas Marriott2010-02-06
|
* vi-style B, W and E keys in copy mode to navigate between words treating onlyNicholas Marriott2010-02-04
| | | | | | | spaces as word separators. Also add . to the list of word separators for standard word navigation. From Micah Cowan, tweaked slightly by me.
* Alter next-word to have vi-like movement behaviour, and add next-word-end withNicholas Marriott2010-01-27
| | | | the existing emacs behaviour. From Micah Cowan.
* Hugely simplify window_copy_cursor_next_word, which was way overcomplicated.Nicholas Marriott2010-01-25
|
* Update the selection properly after goto line or searching.Nicholas Marriott2010-01-25
|
* Top/bottom of history mode keys, diff from Micah Cowan, tweaked by me.Nicholas Marriott2010-01-25
|
* Redraw properly when scrolling backward and the cursor is on the lastNicholas Marriott2010-01-24
| | | | line. Based on a fix from Micah Cowan.
* Massive spaces->tabs and trailing whitespace cleanup, hopefully for the lastNicholas Marriott2009-12-03
| | | | | time now I've configured emacs to make them displayed in really annoying colours...
* Remove a couple of unused arguments where possible, and add /* ARGSUSED */ toNicholas Marriott2009-11-26
| | | | the rest to reduce lint output.
* Missed an unused variable :-/.Nicholas Marriott2009-11-18
|
* Cleanup by moving various (mostly horrible) little bits handling UTF-8 gridNicholas Marriott2009-11-18
| | | | | | | data into functions in a new file, grid-utf8.c, and use sizeof intead of UTF8_DATA. Also nuke trailing whitespace from tmux.1, reminded by jmc.
* Correctly nuke the EOL $ marker when scrolling, reported by martynas@, thanks.Nicholas Marriott2009-10-20
|
* Add mode keys to move the cursor to the top, middle and bottom of the screen.Nicholas Marriott2009-10-13
| | | | H/M/L in vi mode and M-R/M-r in emacs (bottom of screen not bound in emacs).
* Clean up by introducing a wrapper struct for mouse clicks rather than passingNicholas Marriott2009-10-11
| | | | | | | three u_chars around. As a side-effect this fixes incorrectly rejecting high cursor positions (because it was comparing them as signed char), reported by Tom Doherty.
* Make C-Up and C-Down in copy mode scroll the screen up and down one lineNicholas Marriott2009-10-06
| | | | | without moving the cursor, like Up and Down in scroll mode (which will shortly disappear).
* Permit options such as status-bg to be configured using the entire 256 colourNicholas Marriott2009-09-10
| | | | palette by setting "colour0" to "colour255".
* Give each paste buffer a size member instead of requiring them to beNicholas Marriott2009-09-07
| | | | zero-terminated.
* When moving up or down in copy mode, save the cursor position and size of theNicholas Marriott2009-08-21
| | | | | | last line with content (width != 0) and use it to determine if the cursor should be at the end of the line. Fixes problem of the cursor always jumping to the end of the line when scrolling past a blank line.
* Don't read beyond the edge of the screen when searching (dies with debugNicholas Marriott2009-08-19
| | | | enabled).
* Nuke unnecessary assignment.Nicholas Marriott2009-08-18
|
* Add a "delete line" key when editing in the status line or the search up/downNicholas Marriott2009-08-18
| | | | prompt. C-u with emacs keys, d with vi.
* Add (naive) searching and goto line in copy mode. Searching is C-r and C-s withNicholas Marriott2009-08-18
| | | | | | | | | | emacs keys, / and ? with vi; n repeats the search again with either key set. All searching wraps the top/bottom. Goto line is g for both emacs and vi. The search prompts don't have full line editing, just simple append and delete characters. Also sort the mode keys list in tmux.1.
* vi(1)-style half page scroll in copy and scroll modes. Move the vi full pageNicholas Marriott2009-08-13
| | | | | | | scroll key to C-b instead of C-u and use C-u/C-d for half page scrolling with vi keys. In emacs mode, half page scrolling is bound to M-Up and M-Down. Suggested by merdely (about a year ago :-)).
* Scroll by two less than the number of lines in the screen, like emacs, ratherNicholas Marriott2009-08-13
| | | | | than by the entire screen, to make it easier to pull things out from under the line indicator. Suggested by claudio.
* Allowing copy mode to scroll left and right is annoying, so limit it to theNicholas Marriott2009-08-13
| | | | | | | | real screen width. To indicate the cursor is at the end of the line rather than the cell before, put a '$' in the last cell. Also clear the selection when the terminal is resized to avoid tmux getting confused.