summaryrefslogtreecommitdiff
path: root/usr.bin/tmux/grid.c
AgeCommit message (Collapse)Author
2023-07-13Use 8 for underscore colour defaults instead of 0 which is lessNicholas Marriott
confusing, and fix writing tge default colour. GitHub issue 3627.
2023-06-30Change a few types to fix warnings, from Thomas Klausner.Nicholas Marriott
2023-05-08Reorder struct grid_cell_entryTheo Buehler
On aarch64 with llvm 15, the new -Wunaligned-access emits noise on every one of tmux's source files. This avoids this warning by moving a u_char to the end of the struct. This does not change the size of the struct on any architecture. ok nicm
2022-09-28Add a -T flag to capture-pane to stop at the last used cell instead ofNicholas Marriott
the full width. Restore the previous behaviour by making it default to off unless -J is used (the only time it matters). Fixes mosh unit tests; GitHub issue 3339.
2022-07-06Support hyperlinks with capture-pane -e and add a mouse_hyperlinkNicholas Marriott
format, GitHub issue 3247 from Jeff Chiang.
2022-06-30Add support for OSC 8 hyperlinks (a VTE extension now supported by otherNicholas Marriott
terminals such as iTerm2). Originally written by me then extended and completed by first Will Noble and later Jeff Chiang. GitHub issues 911, 2621, 2890, 3240.
2022-06-21Store time lines are scrolled into history and display in copy mode.Nicholas Marriott
2022-03-30Capture up to used size not available size for each line.Nicholas Marriott
2021-12-21Support underscore style with capture-pane -e, GitHub issue 2928.Nicholas Marriott
2021-02-05Send Unicode directional isolate characters around horizontal paneNicholas Marriott
borders if the terminal support UTF-8 and an extension terminfo(5) capability "Bidi" is present. On terminals with BiDi support (ie, VTE) this seems to be enough to display right-to-left text acceptably enough to be usable (with some caveats about the mouse position). Requested by and with help from Mahmoud Elagdar in GitHub issue 2425.
2021-01-18There is no need to clear every line entirely before drawing to it, thisNicholas Marriott
means moving the cursor and messes up wrapping. Better to just clear the sections that aren't written over. GitHub issue 2537.
2020-08-07Do not force line width to grid width because it may need to be largerNicholas Marriott
to accomodate a wide character. GitHub issue 2336.
2020-06-05Do not take the address of a potentially unaligned member.Nicholas Marriott
2020-06-04Reset wrapped flag when clearing or moving lines, GitHub issue 2215.Nicholas Marriott
2020-06-02Move the code to set up a padding cell into grid.c.Nicholas Marriott
2020-06-02Allow UTF-8 characters of width 0 to be stored, it is useful to be ableNicholas Marriott
to put padding cells in as width 0.
2020-05-27Make padding cell a valid character.Nicholas Marriott
2020-05-26Remove leftover debug logging and fix comparison.Nicholas Marriott
2020-05-25Use the internal representation for UTF-8 keys instead of wchar_t andNicholas Marriott
drop some code only needed for that.
2020-05-25Tidy up new UTF-8 code and make it more generic.Nicholas Marriott
2020-05-25Instead of storing all UTF-8 characters in the extended cell which meansNicholas Marriott
that 14 bytes are wasted for each character in the BMP, only store characters of three bytes or less in the cell itself and store others (outside the BMP or with combining characters) in a separate global tree. Can reduce grid memory use for heavy Unicode users by around 30%.
2020-05-16Add screen write flags instead of individual bits and fix line lengthNicholas Marriott
calculation with padding.
2020-05-16Store and restore cursor position when copy mode is resized, fromNicholas Marriott
Anindya Mukherjee.
2020-05-16Use a grid cell not a style for the pane style.Nicholas Marriott
2020-04-15Use grid_empty_line rather than memset when adding new lines on resize.Nicholas Marriott
Also remove some old test code.
2020-04-09Some more, and use of wp->window before wp NULL check in format.c.Nicholas Marriott
2020-03-31Add a -T flag to resize-pane to trim lines below the cursor, movingNicholas Marriott
lines out of the history. GitHub issue 2134.
2020-03-21AIX colours are always stored as 90-97, not 100-107. From JohannesNicholas Marriott
Altmanninger.
2020-03-19Do not set the history flag if there is no history.Nicholas Marriott
2019-12-03Style nits in function arguments.Nicholas Marriott
2019-09-24Some minor performance improvements - most notably, don't search theNicholas Marriott
input state table if the next character matches the same state as before.
2019-08-01Remove check for same size - size has already been changed so thisNicholas Marriott
breaks reflow.
2019-07-16Fix grid clear code to correctly clear with the default backgroundNicholas Marriott
colour rather than ending up with the used count higher than the total size, GitHub issue 1829.
2019-07-06Correctly clear underscore colour in grid_get_cell1, also fix structNicholas Marriott
grid_cell to avoid padding. Fixes increased memory use reported by Suraj N Kurapati.
2019-06-27Add support for underscore colours with Setulc capability, mostly fromNicholas Marriott
Kai Moschcau.
2019-05-26Add formats for word and line under the mouse and use them to add someNicholas Marriott
items to the pane menu.
2019-05-13Add support for overline (SGR 53), from Ricardo Banffy.Nicholas Marriott
2019-04-02Store and restore cursor across reflow by working out a position basedNicholas Marriott
on unwrapped lines, rather than a grid offset. Fixes problems reported by Thomas Sattler and Paul de Weerd.
2019-04-01Restore a check to stop scrolled lines becoming larger than total lines,Nicholas Marriott
fixes a crash reported by Thomas Sattler.
2019-03-20Improve cursor positioning after reflow by storing the position as anNicholas Marriott
offset into the entire history before reflow and restoring it aftewards.
2019-03-18Mode init needs to be fired with the mode on the list or it will not beNicholas Marriott
resized correctly.
2019-03-12Set a flag on cells are genuinely empty (cleared and never written to)Nicholas Marriott
and use tty_clear_line (which will choose the best escape sequence) to clear any batches of cells with that flag when redrawing a line from the stored screen.
2018-10-25Add a "terminal" colour which can be used instead of "default" in styleNicholas Marriott
options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
2018-10-18Support for extended underline styles on terminals which offer them,Nicholas Marriott
enabled by adding the Smulx capability with terminal-overrides (add something like ',vte*:Smulx=\E[4\:%p1%dm'). GitHub issue 1492.
2018-07-11Helper function to shorten history.Nicholas Marriott
2018-07-11Add function comments.Nicholas Marriott
2018-07-04Add accessors for grid linedata member, for some future work. From DanNicholas Marriott
Aloni.
2018-06-11Fix some compiler warnings; from Thomas Adam.Nicholas Marriott
2018-06-03Increment the lines counter when skipping a line to avoid an infiniteNicholas Marriott
loop, and fix a check to avoid a potential out-of-bounds access. Problem reported by Yuxiang Qin and tracked down by Karl Beldan; GitHub issue 1352. Also a man page fix request by jmc@.
2018-04-18Include source function name in grid_check_y logging.Nicholas Marriott