xref: /freebsd/usr.bin/dpv/dpv.1 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
156b38aa6SDevin Teske.\" Copyright (c) 2013-2016 Devin Teske
2041394f3SDevin Teske.\" All rights reserved.
3041394f3SDevin Teske.\"
4041394f3SDevin Teske.\" Redistribution and use in source and binary forms, with or without
5041394f3SDevin Teske.\" modification, are permitted provided that the following conditions
6041394f3SDevin Teske.\" are met:
7041394f3SDevin Teske.\" 1. Redistributions of source code must retain the above copyright
8041394f3SDevin Teske.\"    notice, this list of conditions and the following disclaimer.
9041394f3SDevin Teske.\" 2. Redistributions in binary form must reproduce the above copyright
10041394f3SDevin Teske.\"    notice, this list of conditions and the following disclaimer in the
11041394f3SDevin Teske.\"    documentation and/or other materials provided with the distribution.
12041394f3SDevin Teske.\"
13041394f3SDevin Teske.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14041394f3SDevin Teske.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15041394f3SDevin Teske.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16041394f3SDevin Teske.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17041394f3SDevin Teske.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18041394f3SDevin Teske.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19041394f3SDevin Teske.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20041394f3SDevin Teske.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21041394f3SDevin Teske.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22041394f3SDevin Teske.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23041394f3SDevin Teske.\" SUCH DAMAGE.
24041394f3SDevin Teske.\"
25a85aa7f9SMateusz Piotrowski.Dd November 2, 2021
26041394f3SDevin Teske.Dt DPV 1
27041394f3SDevin Teske.Os
28041394f3SDevin Teske.Sh NAME
29041394f3SDevin Teske.Nm dpv
30041394f3SDevin Teske.Nd stream data from stdin or multiple paths with dialog progress view
31041394f3SDevin Teske.Sh SYNOPSIS
32041394f3SDevin Teske.Nm
33041394f3SDevin Teske.Op options
34a85aa7f9SMateusz Piotrowski.Sm off
35a85aa7f9SMateusz Piotrowski.Op Ar bytes Cm \&:
36a85aa7f9SMateusz Piotrowski.Ar label
37a85aa7f9SMateusz Piotrowski.Sm on
38041394f3SDevin Teske.Nm
39041394f3SDevin Teske.Op options
40041394f3SDevin Teske.Fl m
41a85aa7f9SMateusz Piotrowski.Sm off
42a85aa7f9SMateusz Piotrowski.Op Ar bytes1 Cm \& :
43a85aa7f9SMateusz Piotrowski. Ar label1
44a85aa7f9SMateusz Piotrowski.Sm on
45041394f3SDevin Teske.Ar path1
46a85aa7f9SMateusz Piotrowski.Oo
47a85aa7f9SMateusz Piotrowski.Sm off
48a85aa7f9SMateusz Piotrowski.Op Ar bytes2 Cm \&:
49a85aa7f9SMateusz Piotrowski.Ar label2
50a85aa7f9SMateusz Piotrowski.Sm on
51a85aa7f9SMateusz Piotrowski.Ar path2
52a85aa7f9SMateusz Piotrowski.Ar ...
53a85aa7f9SMateusz Piotrowski.Oc
54041394f3SDevin Teske.Sh DESCRIPTION
55041394f3SDevin Teske.Nm
56041394f3SDevin Teskeprovides a dialog progress view, allowing a user to see current throughput rate
57041394f3SDevin Teskeand total data transferred for one or more streams.
58041394f3SDevin Teske.Pp
59041394f3SDevin TeskeThe
60041394f3SDevin Teske.Nm
61041394f3SDevin Teskeutility has two main modes for processing input.
62041394f3SDevin Teske.Pp
63041394f3SDevin TeskeThe default input mode, without
64041394f3SDevin Teske.Ql Fl m ,
65041394f3SDevin Teske.Nm
66041394f3SDevin Teskereads bytes from standard input.
67041394f3SDevin TeskeA label for the data must be provided.
68041394f3SDevin Teske.Pp
69041394f3SDevin TeskeThe secondary input mode, with
70041394f3SDevin Teske.Ql Fl m ,
71041394f3SDevin Teske.Nm
72041394f3SDevin Teskereads multiple paths
73041394f3SDevin Teske.Pq up to 2047 or Dq ARG_MAX/2-1 ,
74041394f3SDevin Teskesequentially.
75041394f3SDevin Teske.Pp
76041394f3SDevin TeskeData read in either mode is either thrown away
77041394f3SDevin Teske.Pq default ,
78041394f3SDevin Teskesent to a spawned instance of the program specified via
79041394f3SDevin Teske.Ql Fl x Ar cmd ,
80041394f3SDevin Teskeor sent to a unique file specified by
81041394f3SDevin Teske.Ql Fl o Ar file .
82041394f3SDevin Teske.Pp
83041394f3SDevin TeskeWith or without
84041394f3SDevin Teske.Ql Fl m ,
85041394f3SDevin Teskeprogress is displayed using one of
86041394f3SDevin Teske.Xr dialog 3
87041394f3SDevin Teske.Pq default ,
88041394f3SDevin Teske.Xr dialog 1
89041394f3SDevin Teske.Pq see Ql Fl D ,
90041394f3SDevin Teskeor instead
91*e1ae2a28SJens Schweikhardt.Xr Xdialog 1 Pq Pa ports/x11/xdialog
92041394f3SDevin Teske.Pq see Ql Fl X .
93041394f3SDevin Teske.Pp
94041394f3SDevin TeskeThe following options are available:
953693250eSMateusz Piotrowski.Bl -tag -width "-b backtitle"
96041394f3SDevin Teske.It Fl a Ar text
97041394f3SDevin TeskeDisplay
98041394f3SDevin Teske.Ar text
99041394f3SDevin Teskebelow the file progress indicator(s).
100041394f3SDevin Teske.It Fl b Ar backtitle
101041394f3SDevin TeskeDisplay
102041394f3SDevin Teske.Ar backtitle
103041394f3SDevin Teskeon the backdrop, at top-left, behind the dialog widget.
104041394f3SDevin TeskeWhen using
105*e1ae2a28SJens Schweikhardt.Xr Xdialog 1 Pq Pa ports/x11/xdialog ,
106041394f3SDevin Teskethis is displayed inside the window
107041394f3SDevin Teske.Pq at the top
108041394f3SDevin Teskefollowed by a separator line.
109041394f3SDevin Teske.It Fl D
110041394f3SDevin TeskeDo not use the default interface of
111041394f3SDevin Teske.Xr dialog 3 ,
112041394f3SDevin Teskebut instead spawn an instance of
113041394f3SDevin Teske.Xr dialog 1 .
114041394f3SDevin TeskeThe path to
115041394f3SDevin Teske.Xr dialog 1
116041394f3SDevin Teskeis taken from the
117041394f3SDevin Teske.Ev DIALOG
118041394f3SDevin Teskeenvironment variable or simply
119041394f3SDevin Teske.Dq Li dialog
120041394f3SDevin Teskeif unset or NULL.
121a85aa7f9SMateusz Piotrowski.It Fl d
122a85aa7f9SMateusz PiotrowskiDebug mode.
123a85aa7f9SMateusz PiotrowskiPrint dialog prompt data to standard out and provide additional debugging on
124a85aa7f9SMateusz Piotrowskistandard error.
125041394f3SDevin Teske.It Fl h
126041394f3SDevin TeskeProduce a short syntax usage with brief option descriptions and exit.
127041394f3SDevin TeskeOutput is produced on standard error.
128041394f3SDevin Teske.It Fl I Ar format
129041394f3SDevin TeskeCustomize the multi-file format string used to update the status line.
130041394f3SDevin TeskeIgnored when using either
131041394f3SDevin Teske.Ql Fl D
132041394f3SDevin Teskeor
133041394f3SDevin Teske.Ql Fl X
134041394f3SDevin Teskewhich lack the ability to display the status line
135041394f3SDevin Teske.Pq containing bytes/rate/thread information .
136041394f3SDevin TeskeDefault value
137041394f3SDevin Teskeis
138041394f3SDevin Teske.Dq Li %'10lli bytes read @ %'9.1f bytes/sec. [%i/%i busy/wait] .
139041394f3SDevin TeskeThis format is used when handling more than one file.
140a85aa7f9SMateusz Piotrowski.It Fl i Ar format
141a85aa7f9SMateusz PiotrowskiCustomize the single-file format string used to update the status line.
142a85aa7f9SMateusz PiotrowskiIgnored when using either
143a85aa7f9SMateusz Piotrowski.Ql Fl D
144a85aa7f9SMateusz Piotrowskior
145a85aa7f9SMateusz Piotrowski.Ql Fl X
146a85aa7f9SMateusz Piotrowskiwhich lack the ability to display the status line
147a85aa7f9SMateusz Piotrowski.Pq containing bytes/rate/thread information .
148a85aa7f9SMateusz PiotrowskiDefault value
149a85aa7f9SMateusz Piotrowskiis
150a85aa7f9SMateusz Piotrowski.Dq Li %'10lli bytes read @ %'9.1f bytes/sec. .
151a85aa7f9SMateusz PiotrowskiThis format is used when handling one file.
15256b38aa6SDevin Teske.It Fl k
15356b38aa6SDevin TeskeKeep tite.
15456b38aa6SDevin TeskePrevent visually distracting initialization/exit routines for scripts running
15556b38aa6SDevin Teske.Xr dialog 1
15656b38aa6SDevin Teskeseveral times.
157041394f3SDevin Teske.It Fl L Ar size
158041394f3SDevin TeskeLabel size.
159041394f3SDevin TeskeIf negative, shrink to longest label width.
160a85aa7f9SMateusz Piotrowski.It Fl l
161a85aa7f9SMateusz PiotrowskiLine mode.
162a85aa7f9SMateusz PiotrowskiRead lines from input instead of bytes.
163041394f3SDevin Teske.It Fl m
164041394f3SDevin TeskeMulti-input mode.
165041394f3SDevin TeskeInstead of reading bytes from standard input, read from a set of paths
166041394f3SDevin Teske.Pq one for each label .
167041394f3SDevin TeskeBy default, each path is processed sequentially in the order given.
168a85aa7f9SMateusz Piotrowski.It Fl N
169a85aa7f9SMateusz PiotrowskiNo overrun.
170a85aa7f9SMateusz PiotrowskiIf enabled, stop reading known-length inputs when input reaches stated length.
171041394f3SDevin Teske.It Fl n Ar num
172041394f3SDevin TeskeDisplay at-most
173041394f3SDevin Teske.Ar num
174041394f3SDevin Teskeprogress indicators per screen.
175041394f3SDevin TeskeIf zero, display as many as possible.
176041394f3SDevin TeskeIf negative, only display the main progress indicator.
177041394f3SDevin TeskeDefault is 0.
178041394f3SDevin TeskeMaximum value is 10.
179041394f3SDevin Teske.It Fl o Ar file
180041394f3SDevin TeskeOutput data to
181041394f3SDevin Teske.Ar file .
182041394f3SDevin TeskeThe first occurrence of
183041394f3SDevin Teske.Ql %s
184041394f3SDevin Teske.Pq if any
185041394f3SDevin Teskein
186041394f3SDevin Teske.Ql Ar file
187041394f3SDevin Teskewill be replaced with the
188041394f3SDevin Teske.Ar label
189041394f3SDevin Tesketext.
190041394f3SDevin Teske.It Fl P Ar size
191041394f3SDevin TeskeMini-progressbar size.
192041394f3SDevin TeskeIf negative, don't display mini-progressbars
193041394f3SDevin Teske.Pq only the large overall progress indicator is shown .
194041394f3SDevin TeskeIf zero, auto-adjust based on number of files to read.
195041394f3SDevin TeskeWhen zero and only one file to read, defaults to -1.
196041394f3SDevin TeskeWhen zero and more than one file to read, defaults to 17.
197a85aa7f9SMateusz Piotrowski.It Fl p Ar text
198a85aa7f9SMateusz PiotrowskiDisplay
199a85aa7f9SMateusz Piotrowski.Ar text
200a85aa7f9SMateusz Piotrowskiabove the file progress indicator(s).
201a85aa7f9SMateusz Piotrowski.It Fl T
202a85aa7f9SMateusz PiotrowskiTest mode.
203a85aa7f9SMateusz PiotrowskiSimulate reading a number of bytes, divided evenly across the number of files,
204a85aa7f9SMateusz Piotrowskiwhile stepping through each percent value of each file to process.
205a85aa7f9SMateusz PiotrowskiAppends
206a85aa7f9SMateusz Piotrowski.Dq Li [TEST MODE]
207a85aa7f9SMateusz Piotrowskito the status line
208a85aa7f9SMateusz Piotrowski.Pq to override, use Ql Fl u Ar format .
209a85aa7f9SMateusz PiotrowskiNo data is actually read.
210041394f3SDevin Teske.It Fl t Ar title
211041394f3SDevin TeskeDisplay
212041394f3SDevin Teske.Ar title
213041394f3SDevin Teskeatop the dialog box.
214041394f3SDevin TeskeNote that if you use this option at the same time as
215041394f3SDevin Teske.Ql Fl X
216041394f3SDevin Teskeand
217041394f3SDevin Teske.Ql Fl b Ar backtitle ,
218041394f3SDevin Teskethe
219041394f3SDevin Teske.Ar backtitle
220041394f3SDevin Teskeand
221041394f3SDevin Teske.Ar title
222041394f3SDevin Teskeare effectively switched
223041394f3SDevin Teske.Pq see BUGS section below .
224041394f3SDevin Teske.It Fl U Ar num
225041394f3SDevin TeskeUpdate status line
226041394f3SDevin Teske.Ar num
227041394f3SDevin Tesketimes per-second.
228041394f3SDevin TeskeDefault value is
229041394f3SDevin Teske.Ql Li 2 .
230041394f3SDevin TeskeA value of
231041394f3SDevin Teske.Ql Li 0
232041394f3SDevin Teskedisables status line updates.
233041394f3SDevin TeskeIf negative, update the status line as fast as possible.
234041394f3SDevin TeskeIgnored when using either
235041394f3SDevin Teske.Ql Fl D
236041394f3SDevin Teskeor
237041394f3SDevin Teske.Ql Fl X
238041394f3SDevin Teskewhich lack the ability to display the status line
239041394f3SDevin Teske.Pq containing bytes/rate/thread information .
240041394f3SDevin Teske.It Fl w
241041394f3SDevin TeskeWide mode.
242041394f3SDevin TeskeAllows long
243041394f3SDevin Teske.Ar text
244041394f3SDevin Teskearguments used with
245041394f3SDevin Teske.Ql Fl p
246041394f3SDevin Teskeand
247041394f3SDevin Teske.Ql Fl a
248041394f3SDevin Tesketo bump the dialog width.
249041394f3SDevin TeskePrompts wider than the maximum width will wrap
250*e1ae2a28SJens Schweikhardtunless using
251*e1ae2a28SJens Schweikhardt.Xr Xdialog 1 Pq Pa ports/x11/xdialog ;
252*e1ae2a28SJens Schweikhardtsee BUGS section below.
253a85aa7f9SMateusz Piotrowski.It Fl X
254a85aa7f9SMateusz PiotrowskiEnable X11 mode by using
255*e1ae2a28SJens Schweikhardt.Xr Xdialog 1 Pq Pa ports/x11/xdialog
256a85aa7f9SMateusz Piotrowskiinstead of
257a85aa7f9SMateusz Piotrowski.Xr dialog 1
258a85aa7f9SMateusz Piotrowskior
259a85aa7f9SMateusz Piotrowski.Xr dialog 3 .
260041394f3SDevin Teske.It Fl x Ar cmd
261041394f3SDevin TeskeExecute
262041394f3SDevin Teske.Ar cmd
263041394f3SDevin Teske.Pq via Xr sh 1
264041394f3SDevin Teskeand send it data that has been read.
265041394f3SDevin TeskeData is available to
266041394f3SDevin Teske.Ar cmd
267041394f3SDevin Teskeon standard input.
268041394f3SDevin TeskeWith
269041394f3SDevin Teske.Ql Fl m ,
270041394f3SDevin Teske.Ar cmd
271041394f3SDevin Teskeis executed once for each
272041394f3SDevin Teske.Ar path
273041394f3SDevin Teskeargument.
274041394f3SDevin TeskeThe first occurrence of
275041394f3SDevin Teske.Ql %s
276041394f3SDevin Teske.Pq if any
277041394f3SDevin Teskein
278041394f3SDevin Teske.Ql Ar cmd
279041394f3SDevin Teskewill be replaced with the
280041394f3SDevin Teske.Ar label
281041394f3SDevin Tesketext.
282041394f3SDevin Teske.El
283041394f3SDevin Teske.Sh ENVIRONMENT
284041394f3SDevin TeskeThe following environment variables are referenced by
285041394f3SDevin Teske.Nm :
286041394f3SDevin Teske.Bl -tag -width ".Ev USE_COLOR"
287041394f3SDevin Teske.It Ev DIALOG
288041394f3SDevin TeskeOverride command string used to launch
289041394f3SDevin Teske.Xr dialog 1
290041394f3SDevin Teske.Pq requires Ql Fl D
291041394f3SDevin Teskeor
292*e1ae2a28SJens Schweikhardt.Xr Xdialog 1 Pq Pa ports/x11/xdialog
293041394f3SDevin Teske.Pq requires Ql Fl X ;
294041394f3SDevin Teskedefault is either
295041394f3SDevin Teske.Ql dialog
296041394f3SDevin Teske.Pq for Ql Fl D
297041394f3SDevin Teskeor
298041394f3SDevin Teske.Ql Xdialog
299041394f3SDevin Teske.Pq for Ql Fl X .
300041394f3SDevin Teske.It Ev DIALOGRC
301041394f3SDevin TeskeIf set and non-NULL, path to
302041394f3SDevin Teske.Ql .dialogrc
303041394f3SDevin Teskefile.
304041394f3SDevin Teske.It Ev HOME
305041394f3SDevin TeskeIf
306041394f3SDevin Teske.Ql Ev $DIALOGRC
307041394f3SDevin Teskeis either not set or NULL, used as a prefix to
308041394f3SDevin Teske.Ql .dialogrc
309041394f3SDevin Teske.Pq i.e., Ql $HOME/.dialogrc .
310041394f3SDevin Teske.It Ev USE_COLOR
311041394f3SDevin TeskeIf set and NULL, disables the use of color when using
312*e1ae2a28SJens Schweikhardt.Xr dialog 1 .
313*e1ae2a28SJens SchweikhardtDoes not apply to
314*e1ae2a28SJens Schweikhardt.Xr Xdialog 1 Pq Pa ports/x11/xdialog .
315041394f3SDevin Teske.El
316041394f3SDevin Teske.Sh DEPENDENCIES
317041394f3SDevin TeskeIf using
318041394f3SDevin Teske.Ql Fl D ,
319041394f3SDevin Teske.Xr dialog 1
320041394f3SDevin Teskeis required.
321041394f3SDevin Teske.Pp
322041394f3SDevin TeskeIf using
323041394f3SDevin Teske.Ql Fl X ,
324*e1ae2a28SJens Schweikhardt.Xr Xdialog 1 Pq Pa ports/x11/xdialog
325041394f3SDevin Teskeis required.
326041394f3SDevin Teske.Sh FILES
3273693250eSMateusz Piotrowski.Bl -tag -width "$HOME/.dialogrc" -compact
328041394f3SDevin Teske.It Pa $HOME/.dialogrc
329041394f3SDevin Teske.El
330041394f3SDevin Teske.Sh EXAMPLES
331041394f3SDevin TeskeSimple example to show how fast
332041394f3SDevin Teske.Xr yes 1
333041394f3SDevin Teskeproduces lines
334041394f3SDevin Teske.Pq usually about ten-million per-second; your results may vary :
335041394f3SDevin Teske.Bd -literal -offset indent
336041394f3SDevin Teskeyes | dpv -l yes
337041394f3SDevin Teske.Ed
338041394f3SDevin Teske.Pp
339041394f3SDevin TeskeDisplay progress while timing how long it takes
340041394f3SDevin Teske.Xr yes 1
341041394f3SDevin Tesketo produce a half-billion lines
342041394f3SDevin Teske.Pq usually under one minute; your results may vary :
343041394f3SDevin Teske.Bd -literal -offset indent
344041394f3SDevin Tesketime yes | dpv -Nl 500000000:yes
345041394f3SDevin Teske.Ed
346041394f3SDevin Teske.Pp
347041394f3SDevin TeskeAn example to watch how quickly a file is transferred using
348041394f3SDevin Teske.Xr nc 1 :
349041394f3SDevin Teske.Bd -literal -offset indent
350041394f3SDevin Teskedpv -x "nc -w 1 somewhere.com 3000" -m label file
351041394f3SDevin Teske.Ed
352041394f3SDevin Teske.Pp
353041394f3SDevin TeskeA similar example, transferring a file from another process and passing the
354041394f3SDevin Teskeexpected size to
355041394f3SDevin Teske.Nm :
356041394f3SDevin Teske.Bd -literal -offset indent
357041394f3SDevin Teskecat file | dpv -x "nc -w 1 somewhere.com 3000" 12345:label
358041394f3SDevin Teske.Ed
359041394f3SDevin Teske.Pp
360041394f3SDevin TeskeA more complicated example:
361041394f3SDevin Teske.Bd -literal -offset indent
362041394f3SDevin Tesketar cf - . | dpv -x "gzip -9 > out.tgz" \\
363041394f3SDevin Teske	$( du -s . | awk '{print $1 * 1024}' ):label
364041394f3SDevin Teske.Ed
365041394f3SDevin Teske.Pp
366041394f3SDevin TeskeTaking an image of a disk:
367041394f3SDevin Teske.Bd -literal -offset indent
368041394f3SDevin Teskedpv -o disk-image.img -m label /dev/ada0
369041394f3SDevin Teske.Ed
370041394f3SDevin Teske.Pp
371041394f3SDevin TeskeWriting an image back to a disk:
372041394f3SDevin Teske.Bd -literal -offset indent
373041394f3SDevin Teskedpv -o /dev/ada0 -m label disk-image.img
374041394f3SDevin Teske.Ed
375041394f3SDevin Teske.Pp
376041394f3SDevin TeskeZeroing a disk:
377041394f3SDevin Teske.Bd -literal -offset indent
378f7c7a6acSMateusz Piotrowskidpv -o /dev/md42 "Zeroing md42" < /dev/zero
379041394f3SDevin Teske.Ed
380d4d112e3SJoel Dahl.Sh SEE ALSO
381d4d112e3SJoel Dahl.Xr dialog 1 ,
382d4d112e3SJoel Dahl.Xr sh 1 ,
383*e1ae2a28SJens Schweikhardt.Xr Xdialog 1 Pq Pa ports/x11/xdialog ,
384914f6e62SJoel Dahl.Xr dialog 3
385d4d112e3SJoel Dahl.Sh HISTORY
386d4d112e3SJoel DahlA
387d4d112e3SJoel Dahl.Nm
388d4d112e3SJoel Dahlutility first appeared in
389bf7a0eebSDevin Teske.Fx 10.2 .
390d4d112e3SJoel Dahl.Sh AUTHORS
391d4d112e3SJoel Dahl.An Devin Teske Aq dteske@FreeBSD.org
392041394f3SDevin Teske.Sh BUGS
393*e1ae2a28SJens Schweikhardt.Xr Xdialog 1 Pq Pa ports/x11/xdialog ,
394041394f3SDevin Teskewhen given both
395041394f3SDevin Teske.Ql Fl -title Ar title
396041394f3SDevin Teske.Pq see above Ql Fl t Ar title
397041394f3SDevin Teskeand
398041394f3SDevin Teske.Ql Fl -backtitle Ar backtitle
399041394f3SDevin Teske.Pq see above Ql Fl b Ar backtitle ,
400041394f3SDevin Teskedisplays the backtitle in place of the title and vice-versa.
401041394f3SDevin Teske.Pp
402*e1ae2a28SJens Schweikhardt.Xr Xdialog 1 Pq Pa ports/x11/xdialog
403041394f3SDevin Teskedoes not wrap long prompt texts received after initial launch.
404041394f3SDevin TeskeThis is a known issue with the
405041394f3SDevin Teske.Ql --gauge
406041394f3SDevin Teskewidget in
407*e1ae2a28SJens Schweikhardt.Xr Xdialog 1 Pq Pa ports/x11/xdialog .
408041394f3SDevin Teske.Pp
409041394f3SDevin Teske.Xr dialog 1
410041394f3SDevin Teskedoes not display the first character after a series of escaped escape-sequences
411041394f3SDevin Teske(e.g., ``\\\\n'' produces ``\\'' instead of ``\\n'').
412041394f3SDevin TeskeThis is a known issue with
413041394f3SDevin Teske.Xr dialog 1
414041394f3SDevin Teskeand does not affect
415041394f3SDevin Teske.Xr dialog 3
416041394f3SDevin Teskeor
417*e1ae2a28SJens Schweikhardt.Xr Xdialog 1 Pq Pa ports/x11/xdialog .
418041394f3SDevin Teske.Pp
419041394f3SDevin TeskeIf your application ignores
420041394f3SDevin Teske.Ev USE_COLOR
421041394f3SDevin Teskewhen set and NULL before calling
422041394f3SDevin Teske.Xr dpv 1
423041394f3SDevin Teskewith color escape sequences anyway,
424041394f3SDevin Teske.Xr dialog 3
425041394f3SDevin Teskeand
426041394f3SDevin Teske.Xr dialog 1
427041394f3SDevin Teskemay not render properly.
428041394f3SDevin TeskeWorkaround is to detect when
429041394f3SDevin Teske.Ev USE_COLOR
430041394f3SDevin Teskeis set and NULL and either not use color escape sequences at that time or use
431041394f3SDevin Teske.Xr unset 1
432041394f3SDevin Teske.Xr [ sh 1 ]
433041394f3SDevin Teskeor
434041394f3SDevin Teske.Xr unsetenv 1
435041394f3SDevin Teske.Xr [ csh 1 ]
436041394f3SDevin Tesketo unset
437041394f3SDevin Teske.Ev USE_COLOR ,
438041394f3SDevin Teskeforcing interpretation of color sequences.
439041394f3SDevin TeskeThis does not effect
440*e1ae2a28SJens Schweikhardt.Xr Xdialog 1 Pq Pa ports/x11/xdialog ,
441041394f3SDevin Teskewhich renders the color escape sequences as plain text.
442041394f3SDevin TeskeSee
443d4d112e3SJoel Dahl.Do
444041394f3SDevin Teskeembedded "\\Z" sequences
445041394f3SDevin Teske.Dc
446041394f3SDevin Teskein
447041394f3SDevin Teske.Xr dialog 1
448041394f3SDevin Teskefor additional information.
449