aboutsummaryrefslogtreecommitdiff
path: root/window-copy.c
Commit message (Collapse)AuthorAge
...
* Sync OpenBSD patchset 617:Tiago Cunha2010-01-28
| | | | | Top/bottom of history mode keys, diff from Micah Cowan, tweaked by me.
* Sync OpenBSD patchset 616:Tiago Cunha2010-01-25
| | | | | | Redraw properly when scrolling backward and the cursor is on the last line. Based on a fix from Micah Cowan.
* Sync OpenBSD patchset 581:Tiago Cunha2009-12-04
| | | | | | | Massive spaces->tabs and trailing whitespace cleanup, hopefully for the last time now I've configured emacs to make them displayed in really annoying colours...
* Sync OpenBSD patchset 567:Tiago Cunha2009-11-28
| | | | | | Remove a couple of unused arguments where possible, and add /* ARGSUSED */ to the rest to reduce lint output.
* Sync OpenBSD patchset 548:Tiago Cunha2009-11-19
| | | | | Missed an unused variable :-/.
* Sync OpenBSD patchset 547:Tiago Cunha2009-11-19
| | | | | | | | | Cleanup by moving various (mostly horrible) little bits handling UTF-8 grid 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.
* Sync OpenBSD patchset 422:Tiago Cunha2009-10-23
| | | | | Correctly nuke the EOL $ marker when scrolling, reported by martynas@, thanks.
* Sync OpenBSD patchset 407:Tiago Cunha2009-10-15
| | | | | | Add mode keys to move the cursor to the top, middle and bottom of the screen. H/M/L in vi mode and M-R/M-r in emacs (bottom of screen not bound in emacs).
* Sync OpenBSD patchset 381:Tiago Cunha2009-10-12
| | | | | | | | | Clean up by introducing a wrapper struct for mouse clicks rather than passing 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.
* Sync OpenBSD patchset 361:Tiago Cunha2009-10-06
| | | | | | | Make C-Up and C-Down in copy mode scroll the screen up and down one line without moving the cursor, like Up and Down in scroll mode (which will shortly disappear).
* Sync OpenBSD patchset 322:Tiago Cunha2009-09-11
| | | | | | Permit options such as status-bg to be configured using the entire 256 colour palette by setting "colour0" to "colour255".
* Sync OpenBSD patchset 318:Tiago Cunha2009-09-07
| | | | | | Give each paste buffer a size member instead of requiring them to be zero-terminated.
* Sync OpenBSD patchset 284:Tiago Cunha2009-08-21
| | | | | | | | When moving up or down in copy mode, save the cursor position and size of the 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.
* Sync OpenBSD patchset 278:Tiago Cunha2009-08-20
| | | | | | Don't read beyond the edge of the screen when searching (dies with debug enabled).
* Sync OpenBSD patchset 266:Tiago Cunha2009-08-20
| | | | | Nuke unnecessary assignment.
* Sync OpenBSD patchset 265:Tiago Cunha2009-08-20
| | | | | | Add a "delete line" key when editing in the status line or the search up/down prompt. C-u with emacs keys, d with vi.
* Sync OpenBSD patchset 264:Tiago Cunha2009-08-20
| | | | | | | | | | | | Add (naive) searching and goto line in copy mode. Searching is C-r and C-s with 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.
* Sync OpenBSD patchset 260:Tiago Cunha2009-08-16
| | | | | | | | | vi(1)-style half page scroll in copy and scroll modes. Move the vi full page 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 :-)).
* Sync OpenBSD patchset 259:Tiago Cunha2009-08-16
| | | | | | | Scroll by two less than the number of lines in the screen, like emacs, rather than by the entire screen, to make it easier to pull things out from under the line indicator. Suggested by claudio.
* Sync OpenBSD patchset 256:Tiago Cunha2009-08-16
| | | | | | | | | | Allowing copy mode to scroll left and right is annoying, so limit it to the 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.
* Sync OpenBSD patchset 253:Tiago Cunha2009-08-14
| | | | | Redraw the screen after resizing.
* Sync OpenBSD patchset 227:Tiago Cunha2009-08-09
| | | | | | | Add a flags member to the grid_line struct and use it to differentiate lines wrapped at the screen edge from those terminated by a newline. Then use this when copying to combine wrapped lines together into one.
* Sync OpenBSD patchset 226:Tiago Cunha2009-08-09
| | | | | | | | | | | | | | Change the way the grid is stored, previously it was: - a two-dimensional array of cells; - a two-dimensional array of utf8 data; - an array of line lengths. Now it is a single array of a new struct grid_line each of which represents a line and contains the length and an array of cells and an array of utf8 data. This will make it easier to add additional per-line members, such as flags.
* Sync OpenBSD patchset 220:Tiago Cunha2009-08-09
| | | | | | | | | | If colours are not supported by the terminal, try to emulate a coloured background by setting or clearing the reverse attribute. This makes a few applications which don't use the reverse attribute themselves a little happier, and allows the status, message and mode options to have default attributes and fg/bg options that work as expected when set as reverse.
* Sync OpenBSD patchset 198:Tiago Cunha2009-07-30
| | | | | | Add a mode-mouse option to prevent tmux taking over the mouse in choice or copy modes.
* Sync OpenBSD patchset 192:Tiago Cunha2009-07-28
| | | | | | | | Next step towards customisable mode keys: build each default table of keys into a named tree on start and use that for lookups. Also add command to string translation tables and modify list-keys to show the mode key bindings (new -t argument).
* Sync OpenBSD patchset 190:Tiago Cunha2009-07-28
| | | | | | Remove an unused entry in the mode keys command enum and rename MODEKEYCOPY_QUIT to _CANCEL to match the others.
* Sync OpenBSD patchset 189:Tiago Cunha2009-07-28
| | | | | | | | | Change mode key bindings from big switches into a set of tables. Rather than lumping them all together, split editing keys from those used in choice/more mode and those for copy/scroll mode. Tidier and clearer, and the first step towards customisable mode keys.
* Sync OpenBSD patchset 188:Tiago Cunha2009-07-28
| | | | | Get rid of empty mode_key_free function.
* Sync OpenBSD patchset 185:Tiago Cunha2009-07-28
| | | | | | Change previous-word behavior to move to the beginning of the word (matches emacs and vi). From Kalle Olavi Niemitalo.
* Sync OpenBSD patchset 171:Tiago Cunha2009-07-23
| | | | | Redraw after starting selection to correctly remove any existing selection.
* Add a "back to indentation" key in copy mode to move the cursor to the firstNicholas Marriott2009-07-14
| | | | | | non-whitespace character. ^ with vi and M-m with emacs key bindings. Another from Kalle Olavi Niemitalo, thanks.
* Merge three copies of identical code to move the cursor x position into aNicholas Marriott2009-07-14
| | | | | single function, from Kalle Olavi Niemitalo.
* Copy was using the real line length which after resize can be larger than theNicholas Marriott2009-07-12
| | | | | | | | screen width. When built with -DDEBUG, this made the grid bounds checking code kill the server. Restrict copying to the actual width. From Kalle Olavi Niemitalo, thanks.
* Stop in the right place so all the lines selected are copied. Reported by KalleNicholas Marriott2009-07-12
| | | | | Olavi Niemitalo, thanks.
* Fix two copy/paste bugs: forbid zero-length buffers to prevent a fatal errorNicholas Marriott2009-07-02
| | | | | | when trying to paste them, found by me, and miscalculation of the start/end causing random fatal errors when copying in copy-mode, reported by sthen.
* Space trimmage mega-diff.Nicholas Marriott2009-05-04
|
* Er, i should be j and c should be u.Nicholas Marriott2009-03-31
|
* UTF8_SIZE.Nicholas Marriott2009-03-31
|
* Copy columns correctly.Nicholas Marriott2009-03-30
|
* Only need to print this once...Nicholas Marriott2009-03-30
|
* - Unbreak selection colouring.Nicholas Marriott2009-03-30
| | | | | - Get UTF-8 check the right way round...
* Fix UTF-8 in c&p mode.Nicholas Marriott2009-03-30
|
* 8 -> UTF8_SIZE.Nicholas Marriott2009-03-29
|
* Better UTF-8 support, including combined characters. Unicode data is now storedNicholas Marriott2009-03-28
| | | | | | | | | | | as UTF-8 in a separate array, the code does a lookup into this every time it gets to a UTF-8 cell. Zero width characters are just appended onto the UTF-8 data for the previous cell. This also means that almost no bytes extra are wasted non-Unicode data (yay). Still some oddities, such as copy mode skips over wide characters in a strange way, and the code could do with some tidying.
* Step 2 of the Grand Plan To Make UTF-8 Better.Nicholas Marriott2009-03-28
| | | | | | | | | | | | | | | | | | | Split grid into two arrays, one containing grid attributes/flags/colours (keeps the name grid_cell for now) and a separate with the character data (called text). The text is stored as a u_short but is treated as a uint64_t elsewhere; eventually the grid will have two arrays. I'm not happy with the naming so that might change. Still need to decide where to go from here. I'm not sure whether to combine the peek/set functions together, and also whether to continue to treat the text as a uint64_t (and convert to/from Unicode) or make it a char array (of size one when UTF-8 disabled, eight when enabled) and keep everything as UTF-8. Also since UTF-8 will eventually become an attribute of the grid itself it might be nice to move all the padding crap into grid.c.
* Redo mode keys slightly more cleanly and apply them to command prompt ↵Nicholas Marriott2009-02-13
| | | | editing. vi or emacs mode is controlled by the session option status-keys.
* Mouse in copy mode.Nicholas Marriott2009-01-28
|
* * Better support for at least the most common variant of mouse input: parse ↵Nicholas Marriott2009-01-28
| | | | | | | it and adjust for different panes. Also support mouse in window/session choice mode. * Bring back the fancy window titles with session/window names: it is easy to work around problems with elinks (see FAQ).
* -u to start with screen scrolled up.Nicholas Marriott2009-01-27
|