Skip to content

Virtual TErminal

VTE provides a virtual terminal widget for GTK applications.

This is a fork

Branch sixel-cellstore forks VTE 0.84 to make inline SIXEL images an attribute of the cells they cover, rather than an entry in a side table keyed by row - which is the design problem upstream cites when it removes SIXEL support from every stable branch. Images then survive reflow, erase, scrollback and eviction because they ride the mechanisms the ring already has, and the parallel row-anchored bookkeeping is deleted.

Read SIXEL.md for the design, what is verified, and what is not done.

This branch was written with AI assistance, which upstream's contribution policy (below) does not permit, so it is not upstreamable as authored and no merge request has been opened. It is published as a working fork and as a reference implementation. Licensing is unchanged from upstream.

CI status

pipeline status

coverage report

Releases

Latest Release

Tarballs for newer releases are available from the package registry and new and old release are also available on download.gnome.org.

Source code

To get the source code, use

$ git clone https://gitlab.gnome.org/GNOME/vte

Installation

$ git clone https://gitlab.gnome.org/GNOME/vte  # Get the source code of VTE
$ cd vte                                        # Change to the toplevel directory
$ meson _build                                  # Run the configure script
$ ninja -C _build                               # Build VTE
[ Optional ]
$ ninja -C _build install                       # Install VTE to default `/usr/local`
  • By default, VTE will install under /usr/local. You can customize the prefix directory by --prefix option, e.g. If you want to install VTE under ~/foobar, you should run meson _build --prefix=~/foobar. If you already run the configure script before, you should also pass --reconfigure option to it.

  • You may need to execute ninja -C _build install as root (i.e. sudo ninja -C _build install) if installing to system directories.

  • If you wish to test VTE before installing it, you may execute it directly from its build directory. As _build directory, it should be _build/src/app/vte-[version].

  • You can pass -Ddbg=true option to meson if you wish to enable debug function.

Debugging

After installing VTE with -Ddbg=true flag, you can use VTE_DEBUG variable to control VTE to print out the debug information

# You should change vte-[2.91] to the version you build
$ VTE_DEBUG=selection ./_build/src/app/vte-2.91

# Or, you can mixup with multiple logging level
$ VTE_DEBUG=selection,draw,cell ./_build/src/app/vte-2.91

$ Or, you can use `all` to print out all logging message
$ VTE_DEBUG=all ./_build/src/app/vte-2.91

For logging level information, please refer to enum VteDebugFlags.

Contributing

Bugs should be filed here: https://gitlab.gnome.org/GNOME/vte/issues/ Please note that this is not a support forum; if you are a end user, always file bugs in your distribution's bug tracker, or use their support forums.

If you want to provide a patch, please attach them to an issue in GNOME GitLab, in the format output by the git format-patch command.

When providing a patch, make sure to add the correct licensing headers to each new file. If code was taken from somewhere else, note from where it was taken and under which license it was there. You must only contribute code that you have either written yourself, or that was copied from a source whose license is LGPL3+ compatible. You may not contribute any code that was written, whether wholly or partly, by using AI in any form.

About

VTE fork: SIXEL images as an attribute of the cells they cover, so they survive reflow, erase and scrollback. Design writeup in SIXEL.md.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages