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