Switch if/else to a ternary operator
[dvtm.git] / dvtm.1
blob00bf83fdab6b165ae87ec44a2aa5014009c5a399
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\-C
83 Create a new shell window using the current working directory of the focused window.
84 .TP
85 .B Mod\-x\-x
86 Close focused window.
87 .TP
88 .B Mod\-l
89 Increases the master area width about 5% (all except grid and
90 fullscreen layout).
91 .TP
92 .B Mod\-h
93 Decreases the master area width about 5% (all except grid and
94 fullscreen layout).
95 .TP
96 .B Mod\-i
97 Increase number of windows displayed in the master area.
98 .TP
99 .B Mod\-d
100 Decrease number of windows displayed in the master area.
102 .B Mod\-j
103 Focus next window.
105 .B Mod\-k
106 Focus previous window.
108 .B Mod\-J
109 Focus next non minimized window.
111 .B Mod\-K
112 Focus previous non minimized window.
114 .BI Mod\- n
115 Focus the
116 .IR n \-th
117 window.
119 .B Mod\-Tab
120 Focus previously selected window.
122 .B Mod\-.
123 Toggle minimization of current window.
125 .B Mod\-m
126 Maximize current window (change to fullscreen layout).
128 .B Shift\-PageUp
130 .B Mod\-PageUp
131 Scroll up.
133 .B Shift\-PageDown
135 .B Mod\-PageDown
136 Scroll down.
138 .B Mod\-Space
139 Toggle between defined layouts (affects all windows).
141 .B Mod\-Enter
142 Zooms/cycles current window to/from master area.
144 .B Mod\-f
145 Change to vertical stack tiling layout.
147 .B Mod\-b
148 Change to bottom stack tiling layout.
150 .B Mod\-g
151 Change to grid layout.
153 .B Mod\-s
154 Show/hide the status bar.
156 .B Mod\-S
157 Toggle position of the status bar between top and bottom.
159 .B Mod\-r
161 .B Mod\-^L
162 Redraw whole screen.
164 .B Mod\-a
165 Toggle keyboard multiplexing mode, if activated keypresses are sent to all
166 visible windows.
168 .B Mod\-M
169 Toggle dvtm mouse grabbing.
171 .B Mod\-e
172 Enter copy mode (see section below for further information).
174 .B Mod\-/
175 Enter copy mode and start searching forward (assumes a vi-like editor).
177 .B Mod\-p
178 Paste last copied text from copy mode at current cursor position.
180 .B Mod\-?
181 Show this manual page.
183 .B Mod\-Mod
184 Send the Mod key.
186 .B Mod-F[1..n]
188 .B Mod-v-[1..n]
189 View all windows with nth tag.
191 .B Mod-0
192 View all windows with any tag.
194 .B Mod-v-Tab
195 Toggles to the previously selected tags.
197 .B Mod-V-[1..n]
198 Add/remove all windows with nth tag to/from the view.
200 .B Mod-t-[1..n]
201 Apply nth tag to focused window.
203 .B Mod-T-[1..n]
204 Add/remove nth tag to/from focused window.
206 .B Mod\-q\-q
207 Quit dvtm.
208 .SS Mouse commands
210 .B Copy and Paste
211 By default dvtm captures mouse events to provide the actions listed below.
212 Unfortunately this interferes with the standard X copy and paste mechanism.
213 To work around this you need to hold down
214 .B Shift
215 while selecting or pasting text.
216 Alternatively you can disable mouse support at compile time, start dvtm with the
217 .B -M
218 flag or toggle mouse support during runtime with
219 .BR Mod\-M .
221 .B Button1 click
222 Focus window.
224 .B Button1 double click
225 Focus window and toggle maximization.
227 .B Button2 click
228 Zoom/cycle current window to/from master area.
230 .B Button3 click
231 Toggle minimization of current window.
232 .SS Copy mode
233 Copy mode gives easy access to past output by piping it to an editor. What
234 ever the editor prints to stdout upon exiting will be stored in an internal
235 register and can be pasted into other clients (via
236 .B Mod\-p
238 .SH ENVIRONMENT VARIABLES
240 .B DVTM
241 Each process spawned by dvtm will have this variable set to the dvtm version
242 it is running under.
244 .B DVTM_WINDOW_ID
245 Each process also has access to its constant and unique window id.
247 .B DVTM_CMD_FIFO
248 If the -c command line argument was specified upon dvtm startup, this variable
249 will be set to the file name of the named pipe. Thus allowing the process
250 to send commands back to dvtm.
252 .B DVTM_TERM
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.
259 .B DVTM_EDITOR
260 When entering the copymode dvtm pipes the whole scroll back buffer to
261 .BR DVTM_EDITOR
262 which is launched with
263 .BR \-
264 (indicating to read from stdin) as its only argument.
266 .BR DVTM_EDITOR
267 is not set
268 .BR EDITOR
269 is checked, if this is also not set the default value specified in
270 .BR config.h
271 is used instead.
272 .SH EXAMPLE
273 See the
274 .I dvtm-status
275 script as an example of how to display text in the
276 status bar.
277 .SH CUSTOMIZATION
278 dvtm is customized by creating a custom
279 .I config.h
280 and (re)compiling the source code.
281 This keeps it fast, secure and simple.
282 .SH AUTHOR
283 dvtm is written by Marc AndrĂ© Tanner <mat at brain-dump.org>