Optimize redraws, reduce cursor flickering
[dvtm.git] / dvtm.1
blob802e39e71724f88c3f0e78e1ffc3ea37dac00d27
1 .TH DVTM 1 dvtm\-VERSION
2 .nh
3 .SH NAME
4 dvtm \- dynamic virtual terminal manager
5 .SH SYNOPSIS
6 .B dvtm
7 .RB [ \-v ]
8 .RB [ \-M ]
9 .RB [ \-m
10 .IR modifier ]
11 .RB [ \-d
12 .IR delay ]
13 .RB [ \-h
14 .IR lines ]
15 .RB [ \-t
16 .IR title ]
17 .RB [ \-s
18 .IR status-fifo ]
19 .RB [ \-c
20 .IR cmd-fifo ]
21 .RI [ command \ ... "" ]
22 .SH DESCRIPTION
23 dvtm is a dynamic tiling window manager for the console.
24 As a console window manager it tries to make it easy to work with multiple
25 console based applications.
26 .SH OPTIONS
27 .TP
28 .B \-v
29 Print version information to standard output and exit.
30 .TP
31 .B \-M
32 Toggle default mouse grabbing upon startup. Use this to allow normal mouse operation
33 under X.
34 .TP
35 .BI \-m \ modifier
36 Set command modifier at runtime.
37 .TP
38 .BI \-d \ delay
39 Set the delay ncurses waits before deciding if a character that might be
40 part of an escape sequence is actually part of an escape sequence.
41 .TP
42 .BI \-h \ lines
43 Set the scrollback history buffer size at runtime.
44 .TP
45 .BI \-t \ title
46 Set a static terminal
47 .I title
48 and don't change it to the one of the currently focused window.
49 .TP
50 .BI \-s \ status-fifo
51 Open or create the named pipe
52 .I status-fifo
53 read its content and display it in the statusbar. See the
54 .I dvtm-status
55 script for an usage example.
56 .TP
57 .BI \-c \ cmd-fifo
58 Open or create the named pipe
59 .I cmd-fifo
60 and look for commands to execute which were defined in
61 .IR config.h .
62 .TP
63 .IR command \ ...
64 Execute
65 .IR command (s),
66 each in a separate window.
67 .SH USAGE
68 .SS Keyboard commands
69 .TP
70 .B Mod
71 Each keybinding begins with Mod which defaults to
72 .BR ^g ,
73 but can be changed in
74 .I config.h
75 or with the
76 .B \-m
77 command line option.
78 .TP
79 .B Mod\-c
80 Create a new shell window.
81 .TP
82 .B Mod\-x
83 Close focused window.
84 .TP
85 .B Mod\-l
86 Increases the master area width about 5% (all except grid and
87 fullscreen layout).
88 .TP
89 .B Mod\-h
90 Decreases the master area width about 5% (all except grid and
91 fullscreen layout).
92 .TP
93 .B Mod\-j
94 Focus next window.
95 .TP
96 .B Mod\-k
97 Focus previous window.
98 .TP
99 .BI Mod\- n
100 Focus the
101 .IR n \-th
102 window.
104 .B Mod\-.
105 Toggle minimization of current window.
107 .B Mod\-u
108 Focus next non minimized window.
110 .B Mod\-i
111 Focus prev non minimized window.
113 .B Mod\-m
114 Maximize current window (change to fullscreen layout).
116 .B Mod\-PageUp
117 Scroll up.
119 .B Mod\-PageDown
120 Scroll down.
122 .B Mod\-Space
123 Toggle between defined layouts (affects all windows).
125 .B Mod\-Enter
126 Zooms/cycles current window to/from master area.
128 .B Mod\-t
129 Change to vertical stack tiling layout.
131 .B Mod\-b
132 Change to bottom stack tiling layout.
134 .B Mod\-g
135 Change to grid layout.
137 .B Mod\-s
138 Show/hide the status bar.
140 .B Mod\-r
141 Redraw whole screen.
143 .B Mod\-G
144 Escape the next typed key.
146 .B Mod\-a
147 Toggle keyboard multiplexing mode, if activated keypresses are sent to all
148 non minimized windows.
150 .B Mod\-X
151 Lock screen.
153 .B Mod\-B
154 Toggle bell (off by default).
156 .B Mod\-M
157 Toggle dvtm mouse grabbing.
159 .B Mod\-v
160 Enter copy mode (see section below for navigation commands).
162 .B Mod\-/
163 Enter copy mode and start searching forward.
165 .B Mod\-?
166 Enter copy mode and start searching backwards.
168 .B Mod\-p
169 Paste last copied text from copy mode at current cursor position.
171 .B Mod\-F1
172 Show this manual page.
174 .B Mod\-Mod
175 Send the Mod key.
177 .B Mod\-q
178 Quit dvtm.
179 .SS Mouse commands
181 .B Copy and Paste
182 By default dvtm captures mouse events to provide the actions listed below.
183 Unfortunately this interferes with the standard X copy and paste mechanism.
184 To work around this you need to hold down
185 .B Shift
186 while selecting or pasting text.
187 Alternatively you can disable mouse support at compile time, start dvtm with the
188 .B -M
189 flag or toggle mouse support during runtime with
190 .BR Mod\-M .
192 .B Button1 click
193 Select window.
195 .B Button1 double click
196 Select window and toggle maximization.
198 .B Button2 click
199 Zoom/cycle current window to/from master area.
201 .B Button3 click
202 Toggle minimization of current window.
203 .SS Copy mode
204 Copy mode gives easy access to past output.
205 The commands use vi style keybindings and support number prefixes as
206 command multipliers.
208 .B Entering
209 Copy mode can be entered with
210 .BR Mod\-v .
212 .B Navigation
213 Once in, navigation works with vi style keybindings
214 .RB ( h , j , k , l , ^ , $ , g , H , M , L , G )
215 as well as with the
216 .BR Arrows / Home / End / Page-Down / Page-Up
217 keys.
219 .B Searching
220 Search forward with
221 .B /
222 and backwards with
223 .BR ? .
224 Jump forward to next match with
225 .BR n .
226 Jump backwards to next match with
227 .BR N .
229 .B Selecting
230 To start making a selection press
231 .B v
232 (similar to visual mode in vi).
234 .B Copying
235 To copy the current selection use
236 .BR y .
237 If you haven't made a selection the current line is copied.
238 Add a number prefix to copy n lines starting from the current line.
239 This command leaves the copy mode.
241 .B Pasting
242 The previously copied text can be pasted at the current cursor position
243 with
244 .BR Mod\-p .
246 .B Leaving
247 Copy mode is automatically left upon copying something. To manually
248 exit at any time press
249 .B ESC
251 .BR q .
252 .SH ENVIRONMENT VARIABLES
253 By default dvtm uses its own terminfo file and therefore sets
254 .BR TERM=dvtm
255 within the client windows. This can be overridden by setting the
256 .BR DVTM_TERM
257 environment variable to a valid terminal name before launching dvtm.
258 .SH EXAMPLE
259 See the
260 .I dvtm-status
261 script as an example of how to display text in the
262 status bar.
263 .SH CUSTOMIZATION
264 dvtm is customized by creating a custom
265 .I config.h
266 and (re)compiling the source code.
267 This keeps it fast, secure and simple.
268 .SH AUTHOR
269 dvtm is written by Marc AndrĂ© Tanner <mat at brain-dump.org>