mirror of
https://github.com/tmux/tmux.git
synced 2026-09-20 20:08:09 +00:00
18c48cf34af4710852569d925bdadab337cea7bf
The redraw loop hands images to the sixel backend one grid line at a time, so a placement N rows tall arrives as N separate one-row rectangles - each a full scale/encode pass and its own DCS sequence carrying its own copy of the palette. Hold a run of vertically adjacent rows back in struct sixel_output and write it as a single SIXEL once the run ends (image_draw_flush, called from the redraw loop after each pane/line pass). Also make image_tty_update() report whether the backend actually changed, and skip the client redraw in tty_update_features() when it didn't. That function runs on every DA/secondary DA/extended DA answer, most of which just confirm what's already known; the redraw it triggers repaints from tmux's grid and discards anything a pane wrote via DCS passthrough that tmux doesn't model - visibly flashing images away right after they're drawn. Ported from paranoidi's fork (commit 98cc26d) onto the damage-rectangle based redraw introduced on this branch; the three image_draw_flush() call sites are placed at the equivalent point in redraw_draw_pane_lines(), redraw_draw_lines(), and redraw_draw_damage_rect(). Verified against tmux/tmux#5445. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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
73.5%
Shell
18.7%
Roff
5.7%
Yacc
0.9%
M4
0.7%
Other
0.4%