~martanne/dvtm

91a7538c3118eee9bbb0a03799b47cc893b5a512 — Marc André Tanner 3 years ago 311a8c0
Tweak README
1 files changed, 62 insertions(+), 103 deletions(-)

M README.md
M README.md => README.md +62 -103
@@ 1,79 1,63 @@
# dvtm - dynamic virtual terminal manager

[dvtm](http://www.brain-dump.org/projects/dvtm/) brings the concept
[dvtm](https://www.brain-dump.org/projects/dvtm/) brings the concept
of tiling window management, popularized by X11-window managers like
[dwm](http://dwm.suckless.org) to the console. As a console window
[dwm](https://dwm.suckless.org) to the console. As a console window
manager it tries to make it easy to work with multiple console based
programs.

![abduco+dvtm demo](https://raw.githubusercontent.com/martanne/dvtm/gh-pages/screencast.gif)
![abduco+dvtm demo](https://raw.githubusercontent.com/martanne/dvtm/gh-pages/screencast.gif#center)

## News

- [dvtm-0.15](http://www.brain-dump.org/projects/dvtm/dvtm-0.15.tar.gz)
  [released](http://lists.suckless.org/dev/1601/28095.html) (09.01.2016)
- [dvtm-0.14](http://www.brain-dump.org/projects/dvtm/dvtm-0.14.tar.gz)
  [released](http://lists.suckless.org/dev/1502/25558.html) (19.02.2015)
- [dvtm-0.13](http://www.brain-dump.org/projects/dvtm/dvtm-0.13.tar.gz)
  [released](http://lists.suckless.org/dev/1411/24449.html) (15.11.2014)
- [dvtm-0.12](http://www.brain-dump.org/projects/dvtm/dvtm-0.12.tar.gz)
  [released](http://lists.suckless.org/dev/1407/22702.html) (05.07.2014)
- [dvtm-0.11](http://www.brain-dump.org/projects/dvtm/dvtm-0.11.tar.gz)
  [released](http://lists.suckless.org/dev/1403/20371.html) (08.03.2014)
- [dvtm-0.10](http://www.brain-dump.org/projects/dvtm/dvtm-0.10.tar.gz)
  [released](http://lists.suckless.org/dev/1312/18805.html) (28.12.2013)
- [dvtm-0.9](http://www.brain-dump.org/projects/dvtm/dvtm-0.9.tar.gz)
  [released](http://lists.suckless.org/dev/1304/15112.html) (3.04.2013)
- [dvtm-0.8](http://www.brain-dump.org/projects/dvtm/dvtm-0.8.tar.gz)
  [released](http://lists.suckless.org/dev/1208/12004.html) (1.08.2012)
- [dvtm-0.7](http://www.brain-dump.org/projects/dvtm/dvtm-0.7.tar.gz)
  [released](http://lists.suckless.org/dev/1109/9266.html) (4.09.2011)
- [dvtm-0.6](http://www.brain-dump.org/projects/dvtm/dvtm-0.6.tar.gz)
  [released](http://lists.suckless.org/dev/1010/6146.html) (8.10.2010)
- [dvtm-0.5.2](http://www.brain-dump.org/projects/dvtm/dvtm-0.5.2.tar.gz)
  [released](http://lists.suckless.org/dev/0907/0520.html) (7.07.2009)
- [dvtm-0.5.1](http://www.brain-dump.org/projects/dvtm/dvtm-0.5.1.tar.gz)
  [released](http://lists.suckless.org/dwm/0902/7405.html) (8.02.2009)
- [dvtm-0.5](http://www.brain-dump.org/projects/dvtm/dvtm-0.5.tar.gz)
  [released](http://lists.suckless.org/dwm/0901/7354.html) (26.01.2009)
- [dvtm-0.4.1](http://www.brain-dump.org/projects/dvtm/dvtm-0.4.1.tar.gz)
  [released](http://lists.suckless.org/dwm/0805/5672.html) (10.05.2008)
- [dvtm-0.4](http://www.brain-dump.org/projects/dvtm/dvtm-0.4.tar.gz)
  [released](http://lists.suckless.org/dwm/0802/4850.html) (17.02.2008)
- [dvtm-0.3](http://www.brain-dump.org/projects/dvtm/dvtm-0.3.tar.gz)
  [released](http://lists.suckless.org/dwm/0801/4735.html) (12.01.2008)
- [dvtm-0.2](http://www.brain-dump.org/projects/dvtm/dvtm-0.2.tar.gz)
  [released](http://lists.suckless.org/dwm/0712/4677.html) (29.12.2007)
- [dvtm-0.1](http://www.brain-dump.org/projects/dvtm/dvtm-0.1.tar.gz)
  [released](http://lists.suckless.org/dwm/0712/4632.html) (21.12.2007)
- [dvtm-0.01](http://www.brain-dump.org/projects/dvtm/dvtm-0.01.tar.gz)
  [released](http://lists.suckless.org/dwm/0712/4424.html) (08.12.2007)
- [dvtm-0.15](https://www.brain-dump.org/projects/dvtm/dvtm-0.15.tar.gz)
  [released](https://lists.suckless.org/dev/1601/28095.html) (09.01.2016)
- [dvtm-0.14](https://www.brain-dump.org/projects/dvtm/dvtm-0.14.tar.gz)
  [released](https://lists.suckless.org/dev/1502/25558.html) (19.02.2015)
- [dvtm-0.13](https://www.brain-dump.org/projects/dvtm/dvtm-0.13.tar.gz)
  [released](https://lists.suckless.org/dev/1411/24449.html) (15.11.2014)
- [dvtm-0.12](https://www.brain-dump.org/projects/dvtm/dvtm-0.12.tar.gz)
  [released](https://lists.suckless.org/dev/1407/22702.html) (05.07.2014)
- [dvtm-0.11](https://www.brain-dump.org/projects/dvtm/dvtm-0.11.tar.gz)
  [released](https://lists.suckless.org/dev/1403/20371.html) (08.03.2014)
- [dvtm-0.10](https://www.brain-dump.org/projects/dvtm/dvtm-0.10.tar.gz)
  [released](https://lists.suckless.org/dev/1312/18805.html) (28.12.2013)
- [dvtm-0.9](https://www.brain-dump.org/projects/dvtm/dvtm-0.9.tar.gz)
  [released](https://lists.suckless.org/dev/1304/15112.html) (3.04.2013)
- [dvtm-0.8](https://www.brain-dump.org/projects/dvtm/dvtm-0.8.tar.gz)
  [released](https://lists.suckless.org/dev/1208/12004.html) (1.08.2012)
- [dvtm-0.7](https://www.brain-dump.org/projects/dvtm/dvtm-0.7.tar.gz)
  [released](https://lists.suckless.org/dev/1109/9266.html) (4.09.2011)
- [dvtm-0.6](https://www.brain-dump.org/projects/dvtm/dvtm-0.6.tar.gz)
  [released](https://lists.suckless.org/dev/1010/6146.html) (8.10.2010)
- [dvtm-0.5.2](https://www.brain-dump.org/projects/dvtm/dvtm-0.5.2.tar.gz)
  [released](https://lists.suckless.org/dev/0907/0520.html) (7.07.2009)
- [dvtm-0.5.1](https://www.brain-dump.org/projects/dvtm/dvtm-0.5.1.tar.gz)
  [released](https://lists.suckless.org/dwm/0902/7405.html) (8.02.2009)
- [dvtm-0.5](https://www.brain-dump.org/projects/dvtm/dvtm-0.5.tar.gz)
  [released](https://lists.suckless.org/dwm/0901/7354.html) (26.01.2009)
- [dvtm-0.4.1](https://www.brain-dump.org/projects/dvtm/dvtm-0.4.1.tar.gz)
  [released](https://lists.suckless.org/dwm/0805/5672.html) (10.05.2008)
- [dvtm-0.4](https://www.brain-dump.org/projects/dvtm/dvtm-0.4.tar.gz)
  [released](https://lists.suckless.org/dwm/0802/4850.html) (17.02.2008)
- [dvtm-0.3](https://www.brain-dump.org/projects/dvtm/dvtm-0.3.tar.gz)
  [released](https://lists.suckless.org/dwm/0801/4735.html) (12.01.2008)
- [dvtm-0.2](https://www.brain-dump.org/projects/dvtm/dvtm-0.2.tar.gz)
  [released](https://lists.suckless.org/dwm/0712/4677.html) (29.12.2007)
- [dvtm-0.1](https://www.brain-dump.org/projects/dvtm/dvtm-0.1.tar.gz)
  [released](https://lists.suckless.org/dwm/0712/4632.html) (21.12.2007)
- [dvtm-0.01](https://www.brain-dump.org/projects/dvtm/dvtm-0.01.tar.gz)
  [released](https://lists.suckless.org/dwm/0712/4424.html) (08.12.2007)

## Download

Either Download the latest source tarball
[dvtm-0.15.tar.gz](http://www.brain-dump.org/projects/dvtm/dvtm-0.15.tar.gz)
with sha1sum

    9bcec7af79b2adfead88c5513fa19b53dad6e134  dvtm-0.15.tar.gz

Either Download the latest [source tarball](https://github.com/martanne/dvtm/releases),
compile (you will need curses headers) and install it

    $EDITOR config.mk && $EDITOR config.def.h && make && sudo make install

or use one of the distribution provided packages:

 * [Debian](http://packages.debian.org/dvtm)
 * [Ubuntu](http://packages.ubuntu.com/dvtm)
 * [Fedora](https://admin.fedoraproject.org/pkgdb/package/dvtm/)
 * [openSUSE](http://software.opensuse.org/package/dvtm?search_term=dvtm)
 * [ArchLinux](http://www.archlinux.org/packages/?q=dvtm)
 * [Gentoo](http://packages.gentoo.org/package/app-misc/dvtm)
 * [Slackware](http://slackbuilds.org/result/?search=dvtm)
 * [FreeBSD](http://www.freshports.org/sysutils/dvtm/)
 * [NetBSD](http://www.pkgsrc.se/misc/dvtm/)
 * [OpenBSD](http://openports.se/misc/dvtm)
 * [Mac OS X](http://braumeister.org/formula/dvtm) via homebrew
or use one of the distribution provided
[binary packages](https://repology.org/project/dvtm/packages).

## Why dvtm? The philosophy behind



@@ 84,7 68,7 @@ and to do it well.

As such dvtm does *not* implement [session management](#faq) but instead
delegates this task to a separate tool called
[abduco](http://www.brain-dump.org/projects/abduco/).
[abduco](https://www.brain-dump.org/projects/abduco/).

Similarly dvtm's copy mode is implemented by piping the scroll back buffer
content to an external editor and only storing whatever the editor writes


@@ 92,10 76,9 @@ to `stdout`. Hence the selection process is delegated to the editor
where powerful features such as regular expression search are available.

As a result dvtm's source code is relatively small
([~4000 lines of C](http://www.ohloh.net/p/dvtm/analyses/latest/languages_summary)),
([~4000 lines of C](https://www.ohloh.net/p/dvtm/analyses/latest/languages_summary)),
simple and therefore easy to hack on.


## Quickstart

All of dvtm keybindings start with a common modifier which from now


@@ 154,25 137,9 @@ bindings are used to manipulate the tagsets.
### Statusbar

dvtm can be instructed to read and display status messages from a named
pipe. As an example the `dvtm-status` script is provided which shows the
current time.

    #!/bin/sh

    FIFO="/tmp/dvtm-status.$$"

    [ -p "$FIFO" ] || mkfifo -m 600 "$FIFO" || exit 1

    while true; do
        date +%H:%M
        sleep 60
    done > "$FIFO" &

    STATUS_PID=$!
    dvtm -s "$FIFO" "$@" 2> /dev/null
    kill $STATUS_PID
    wait $STATUS_PID 2> /dev/null
    rm -f "$FIFO"
pipe. As an example the
[`dvtm-status` script](https://raw.githubusercontent.com/martanne/dvtm/master/dvtm-status)
is provided which shows the current time.

### Copymode ###



@@ 182,8 149,7 @@ later be pasted with `MOD+p`.

In order for this to work the editor needs to be usable as a filter
and should use `stderr` for its user interface. Examples where this is
the case include [sandy](http://tools.suckless.org/sandy) and
[vis](http://github.com/martanne/vis).
the case include `sandy(1)` and [vis](https://www.brain-dump.org/projects/vis).

    $ echo Hello World | vis - | cat



@@ 193,14 159,14 @@ There exist a number of out of tree patches which customize dvtm's
behaviour:

 - [pertag](http://waxandwane.org/dvtm.html) (see also the corresponding
   [mailing list post](http://lists.suckless.org/hackers/1510/8186.html))
   [mailing list post](https://lists.suckless.org/hackers/1510/8186.html))

## FAQ

### Detach / reattach functionality

dvtm doesn't have session support built in. Use
[abduco](http://www.brain-dump.org/projects/abduco/) instead.
[abduco](https://www.brain-dump.org/projects/abduco/) instead.

    $ abduco -c dvtm-session



@@ 240,7 206,7 @@ This will instruct dvtm to use rxvt as `$TERM` value within its windows.
### How to set the window title?

The window title can be changed by means of a
[xterm extension](http://tldp.org/HOWTO/Xterm-Title-3.html#ss3.2)
[xterm extension](https://tldp.org/HOWTO/Xterm-Title-3.html#ss3.2)
terminal escape sequence

    $ echo -ne "\033]0;Your title here\007"


@@ 284,13 250,13 @@ that your locale settings contain UTF-8.

### The numeric keypad does not work with Putty

Disable [application keypad mode](http://the.earth.li/~sgtatham/putty/0.64/htmldoc/Chapter4.html#config-features-application)
Disable [application keypad mode](https://the.earth.li/~sgtatham/putty/0.64/htmldoc/Chapter4.html#config-features-application)
in the Putty configuration under `Terminal => Features => Disable application keypad mode`.

### Unicode characters do not work within Putty

You have to tell Putty in which
[character encoding](http://the.earth.li/~sgtatham/putty/0.64/htmldoc/Chapter4.html#config-translation)
[character encoding](https://the.earth.li/~sgtatham/putty/0.64/htmldoc/Chapter4.html#config-translation)
the received data is. Set the dropdown box under `Window => Translation`
to UTF-8. In order to get proper line drawing characters you proabably
also want to set the TERM environment variable to `putty` or `putty-256color`.


@@ 299,21 265,14 @@ following ncurses related environment variable set `NCURSES_NO_UTF8_ACS=1`.

## Development

You can always fetch the current code base from the git repository.

    git clone https://github.com/martanne/dvtm.git

or

    git clone git://repo.or.cz/dvtm.git

If you have comments, suggestions, ideas, a bug report, a patch or something
else related to abduco then write to the
[suckless developer mailing list](http://suckless.org/community)
or contact me directly mat[at]brain-dump.org.
You can always fetch the current code base from the git repository
located at [Github](https://github.com/martanne/dvtm/) or
[Sourcehut](https://git.sr.ht/~martanne/dvtm).

[![Build Status](https://travis-ci.org/martanne/dvtm.svg?branch=master)](https://travis-ci.org/martanne/dvtm)
[![Coverity Scan Build Status](https://scan.coverity.com/projects/4256/badge.svg)](https://scan.coverity.com/projects/4256)
If you have comments, suggestions, ideas, a bug report, a patch or
something else related to dvtm then write to the
[suckless developer mailing list](https://suckless.org/community)
or contact me directly.

## License