mirror of
https://github.com/tmux/tmux.git
synced 2026-09-05 21:20:45 +00:00
4e2abff2d67d229c9ef4778924fed3f79b325274
window_copy_write_one() used to write text/highlight styling directly over image-covered cells via the normal path, which - since a character write typically clears whatever pixel content a terminal was showing there - erased the image with nothing to redraw it back in. Image-covered cells now bypass styling and go straight into the grid instead (a non-graphical client's ASCII fallback for the image still depends on this same write, so it can't just be skipped). window_copy_write_line()'s call to image_redraw_area() used to fire unconditionally on every redraw, needlessly recompositing (and briefly flashing) the image on every single cursor step even after the erasure above was fixed, even though nothing about the image had changed. It now only fires when window_copy_update_image_refresh() (new) determines the view's underlying history position actually moved since the last redraw. Also adds window_copy_visible_has_images(), used by a later commit's scroll-region fix as a bypass to a full redraw when the visible range carries image data - line insert/delete only shifts character cells, not already-sent image pixels, so scroll's normal fast path leaves stale or missing image content behind.
Welcome to tmux! tmux is a terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached. This release runs on OpenBSD, FreeBSD, NetBSD, Linux, macOS and Solaris. * Dependencies tmux depends on libevent 2.x, available from: https://github.com/libevent/libevent/releases/latest It also depends on ncurses, available from: https://invisible-mirror.net/archives/ncurses/ To build tmux, a C compiler (for example gcc or clang), make, pkg-config and a suitable yacc (yacc or bison) are needed. * Installation To build and install tmux from a release tarball, use: $ ./configure && make $ sudo make install tmux can use the utempter library to update utmp(5), if it is installed - run configure with --enable-utempter to enable this. To get and build the latest from version control - note that this requires autoconf, automake and pkg-config: $ git clone https://github.com/tmux/tmux.git $ cd tmux $ sh autogen.sh $ ./configure && make $ sudo make install * Contributing Bug reports, feature suggestions and especially code contributions are most welcome. Please send by email to: tmux-users@googlegroups.com Or open a GitHub issue or pull request. * Documentation For documentation on using tmux, see the tmux.1 manpage. View it from the source tree with: $ nroff -mdoc tmux.1|less A small example configuration is in example_tmux.conf. Other documentation is available in the wiki: https://github.com/tmux/tmux/wiki Also see the tmux FAQ at: https://github.com/tmux/tmux/wiki/FAQ A bash(1) completion file is at: https://github.com/scop/bash-completion/blob/main/completions/tmux For debugging, run tmux with -v and -vv to generate server and client log files in the current directory. * Support The tmux mailing list for general discussion and bug reports is: https://groups.google.com/forum/#!forum/tmux-users Subscribe by sending an email to: tmux-users+subscribe@googlegroups.com * License This file and the CHANGES files are licensed under the ISC license. All other files have a license and copyright notice at their start.
Description
Languages
C
74.5%
Shell
17.5%
Roff
5.8%
Yacc
1%
M4
0.7%
Other
0.4%