diff options
Diffstat (limited to 'upstream/debian-bookworm/man1/tabs.1')
-rw-r--r-- | upstream/debian-bookworm/man1/tabs.1 | 293 |
1 files changed, 293 insertions, 0 deletions
diff --git a/upstream/debian-bookworm/man1/tabs.1 b/upstream/debian-bookworm/man1/tabs.1 new file mode 100644 index 00000000..69349d62 --- /dev/null +++ b/upstream/debian-bookworm/man1/tabs.1 @@ -0,0 +1,293 @@ +.\"*************************************************************************** +.\" Copyright 2018-2020,2021 Thomas E. Dickey * +.\" Copyright 2008-2016,2017 Free Software Foundation, Inc. * +.\" * +.\" Permission is hereby granted, free of charge, to any person obtaining a * +.\" copy of this software and associated documentation files (the * +.\" "Software"), to deal in the Software without restriction, including * +.\" without limitation the rights to use, copy, modify, merge, publish, * +.\" distribute, distribute with modifications, sublicense, and/or sell * +.\" copies of the Software, and to permit persons to whom the Software is * +.\" furnished to do so, subject to the following conditions: * +.\" * +.\" The above copyright notice and this permission notice shall be included * +.\" in all copies or substantial portions of the Software. * +.\" * +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * +.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * +.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * +.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * +.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * +.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * +.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * +.\" * +.\" Except as contained in this notice, the name(s) of the above copyright * +.\" holders shall not be used in advertising or otherwise to promote the * +.\" sale, use or other dealings in this Software without prior written * +.\" authorization. * +.\"*************************************************************************** +.\" +.\" $Id: tabs.1,v 1.35 2021/12/25 19:04:39 tom Exp $ +.TH tabs 1 "" +.ds n 5 +.ie \n(.g .ds `` \(lq +.el .ds `` `` +.ie \n(.g .ds '' \(rq +.el .ds '' '' +.de bP +.ie n .IP \(bu 4 +.el .IP \(bu 2 +.. +.de NS +.ie n .sp +.el .sp .5 +.ie n .in +4 +.el .in +2 +.nf +.ft C \" Courier +.. +.de NE +.fi +.ft R +.ie n .in -4 +.el .in -2 +.. +.SH NAME +\fBtabs\fP \- set tabs on a terminal +.SH SYNOPSIS +\fBtabs\fP [\fIoptions\fP]] \fI[tabstop-list]\fP +.SH DESCRIPTION +.PP +The \fBtabs\fP program clears and sets tab-stops on the terminal. +This uses the terminfo \fBclear_all_tabs\fP and \fBset_tab\fP capabilities. +If either is absent, \fBtabs\fP is unable to clear/set tab-stops. +The terminal should be configured to use hard tabs, e.g., +.NS +stty tab0 +.NE +.PP +Like \fBclear\fP(1), \fBtabs\fP writes to the standard output. +You can redirect the standard output to a file (which prevents +\fBtabs\fP from actually changing the tabstops), +and later \fBcat\fP the file to the screen, setting tabstops at that point. +.PP +These are hardware tabs, which cannot be queried rapidly by applications +running in the terminal, if at all. +Curses and other full-screen applications may use hardware tabs +in optimizing their output to the terminal. +If the hardware tabstops differ from the information in the terminal +database, the result is unpredictable. +Before running curses programs, +you should either reset tab-stops to the standard interval +.NS +tabs -8 +.NE +.PP +or use the \fBreset\fP program, +since the normal initialization sequences do not ensure that tab-stops +are reset. +.SH OPTIONS +.SS General Options +.TP 5 +.BI \-T "name" +Tell \fBtabs\fP which terminal type to use. +If this option is not given, \fBtabs\fP will use the \fB$TERM\fP +environment variable. +If that is not set, it will use the \fIansi+tabs\fP entry. +.TP 5 +.B \-d +The debugging option shows a ruler line, followed by two data lines. +The first data line shows the expected tab-stops marked with asterisks. +The second data line shows the actual tab-stops, marked with asterisks. +.TP 5 +.B \-n +This option tells \fBtabs\fP to check the options and run any debugging +option, but not to modify the terminal settings. +.TP +\fB\-V\fP +reports the version of ncurses which was used in this program, and exits. +.PP +The \fBtabs\fP program processes a single list of tab stops. +The last option to be processed which defines a list is the one that +determines the list to be processed. +.SS Implicit Lists +Use a single number as an option, +e.g., \*(``\fB\-5\fP\*('' to set tabs at the given +interval (in this case 1, 6, 11, 16, 21, etc.). +Tabs are repeated up to the right margin of the screen. +.PP +Use \*(``\fB\-0\fP\*('' to clear all tabs. +.PP +Use \*(``\fB\-8\fP\*('' to set tabs to the standard interval. +.SS Explicit Lists +An explicit list can be defined after the options +(this does not use a \*(``\-\*(''). +The values in the list must be in increasing numeric order, +and greater than zero. +They are separated by a comma or a blank, for example, +.NS +tabs 1,6,11,16,21 +.br +tabs 1 6 11 16 21 +.NE +.PP +Use a \*(``+\*('' to treat a number +as an increment relative to the previous value, +e.g., +.NS +tabs 1,+5,+5,+5,+5 +.NE +.PP +which is equivalent to the 1,6,11,16,21 example. +.SS Predefined Tab-Stops +POSIX defines several predefined lists of tab stops. +.TP 5 +.B \-a +Assembler, IBM S/370, first format +.br +1,10,16,36,72 +.TP 5 +.B \-a2 +Assembler, IBM S/370, second format +.br +1,10,16,40,72 +.TP 5 +.B \-c +COBOL, normal format +.br +1,8,12,16,20,55 +.TP 5 +.B \-c2 +COBOL compact format +.br +1,6,10,14,49 +.TP 5 +.B \-c3 +COBOL compact format extended +.br +1,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,67 +.TP 5 +.B \-f +FORTRAN +.br +1,7,11,15,19,23 +.TP 5 +.B \-p +PL/I +.br +1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61 +.TP 5 +.B \-s +SNOBOL +.br +1,10,55 +.TP 5 +.B \-u +UNIVAC 1100 Assembler +.br +1,12,20,44 +.SS Margins +A few terminals provide the capability for changing their left/right margins. +The tabs program has an option to use this feature: +.TP 5 +.BI +m \ margin +The effect depends on whether the terminal has the margin capabilities: +.RS +.bP +If the terminal provides the capability for setting the left margin, +tabs uses this, and adjusts the available width for tab-stops. +.bP +If the terminal does not provide the margin capabilities, +tabs imitates the effect, putting the tab stops at the appropriate +place on each line. +The terminal's left-margin is not modified. +.RE +.IP +If the \fImargin\fP parameter is omitted, the default is 10. +Use \fB+m0\fP to reset the left margin, +i.e., to the left edge of the terminal's display. +Before setting a left-margin, +tabs resets the margin to reduce problems which might arise +on moving the cursor before the current left-margin. +.PP +When setting or resetting the left-margin, +tabs may reset the right-margin. +.SH PORTABILITY +.PP +\fIIEEE Std 1003.1/The Open Group Base Specifications Issue 7\fP (POSIX.1-2008) +describes a \fBtabs\fP utility. +However +.bP +This standard describes a \fB+m\fP option, to set a terminal's left-margin. +Very few of the entries in the terminal database provide the +\fBsmgl\fP (\fBset_left_margin\fP) or +\fBsmglp\fP (\fBset_left_margin_parm\fP) +capability needed to support the feature. +.bP +There is no counterpart in X/Open Curses Issue 7 for this utility, +unlike \fBtput\fP(1). +.PP +The \fB\-d\fP (debug) and \fB\-n\fP (no-op) options are extensions not provided +by other implementations. +.PP +A \fBtabs\fP utility appeared in PWB/Unix 1.0 (1977). +There was a reduced version of the \fBtabs\fP utility +in Unix 7th edition and in 3BSD (1979). +The latter supported a single \*(``\-n\*('' option +(to cause the first tab stop to be set on the left margin). +That option is not documented by POSIX. +.PP +The PWB/Unix \fBtabs\fP utility, which was included in System III (1980), +used built-in tables rather than the terminal database, +to support a half-dozen hardcopy terminal (printer) types. +It also had built-in logic to support the left-margin, +as well as a feature for copying the tab settings from a file. +.PP +Later versions of Unix, e.g., SVr4, +added support for the terminal database, +but kept the tables to support the printers. +In an earlier development effort, +the tab-stop initialization provided by \fBtset\fP (1982) +and incorporated into \fBtput\fP uses the terminal database, +.PP +The \fB+m\fP option was documented +in the Base Specifications Issue 5 (Unix98, 1997), +and omitted in Issue 6 (Unix03, 2004) without documenting the rationale, +though an introductory comment +\fI\*(``and optionally adjusts the margin\*(''\fP remains, +overlooked in the removal. +The documented \fBtabs\fP utility in Issues 6 and later has no mechanism +for setting margins. +The \fB+m\fP option in this implementation differs from the feature +in SVr4 by using terminal capabilities rather than built-in tables. +.PP +POSIX documents no limits on the number of tab stops. +Documentation for other implementations states that there is a limit on the +number of tab stops +(e.g., 20 in PWB/Unix's \fBtabs\fP utility). +While some terminals may not accept an arbitrary number +of tab stops, this implementation will attempt to set tab stops up to the +right margin of the screen, if the given list happens to be that long. +.PP +The \fIRationale\fP section of the POSIX documentation goes into some +detail about the ways the committee considered redesigning the +\fBtabs\fP and \fBtput\fP utilities, +without proposing an improved solution. +It comments that +.RS 5 +.PP +no known historical version of tabs supports the capability of setting +arbitrary tab stops. +.RE +.PP +However, the \fIExplicit Lists\fP described in this manual page +were implemented in PWB/Unix. +Those provide the capability of setting abitrary tab stops. +.SH SEE ALSO +\fBinfocmp\fP(1), +\fBtset\fP(1), +\fBncurses\fP(3NCURSES), +\fBterminfo\fP(\*n). +.PP +This describes \fBncurses\fP +version 6.4 (patch 20221231). |