dtao
[]...
dtao
reads text and formatting commands from standard input, displaying them on a customizable status bar.
-
-b
: [EXPERIMENTAL] toggle bar position between top and bottom of screen -
-bg
: set default background color -
-e
: define actions -
-expand
{l
|r
}: dynamically adjust left/right side of title window to fit text -
-fg
: set default foreground color -
-fn
: set display font (using Fontconfig string) -
-h
: set window height -
-l
: number of lines in the sub-window -
-L
{o
|t
|b
|u
} draw the bar in the overlay, top (default), bottom, or underlay/background layer -
-p
: persist for seconds after EOF on stdin, 0 for indefinitely -
-sa
{l
|c
|r
}: set alignment for sub-window -
-ta
{l
|c
|r
}: set alignment for title window -
-tw
: set title window width -
-u
: wrap to title-window after sub-window fills -
-w
: set window width -
-xs
: display on output number -
-z
: when used once: bar will not cover "exclusive zones" of other layer-shell surfaces; when used twice: bar will request its own exclusive zone
Formatting commands are read in-line with text. These commands have the following syntax:
^
(
[[,
]...])
To include a literal ^
character in the text, write ^^
.
Color arguments are written in hex as [#
][].
-
^fg(
[])
: set current foreground color for text, or reset to default if no argument is given -
^bg(
[])
: set current background color for text, or reset to default if no argument is given
Note: the positioning of graphics in dzen is not obvious. dtao may opt to implement different behavior instead of mirroring dzen.
-
^i(
)
: draw icon found at -
^r(
x
)
: draw filled rectangle centered at current position, moving right by pixels -
^ro(
x
)
: draw rectangle outline centered at current position, moving right by pixels -
^c(
)
: draw filled circle centered at current position, moving right by pixels -
^co(
)
: draw circle outline centered at current position, moving right by pixels
-
^pa(
)
,^pa(;
)
,^pa(
;
)
: absolute positioning: set X and/or Y position according to the argument format (see below) -
^p(
)
,^p(;
)
,^p(
;
)
: relative positioning: calculate X and/or Y position according to the argument format and add it to the current position -
^p()
: resets Y position to default; alias for^pa(;0)
-
^p(_LEFT)
,^p(_CENTER)
,^p(_RIGHT)
: move to left edge, center, or right edge of window; aliases for^pa(w0)
,^pa(w50)
, and^pa(w100)
-
^p(_TOP)
,^p(_BOTTOM)
: move to top or bottom edge of window; aliases for^pa(;w0)
and^pa(;w100)
-
^sx()
,^rx()
: save or restore X position, for aligning items vertically
The p
and pa
commands accept the following argument formats:
-
: an integer number of pixels
-
w
: percent of the window width (for X) or height (for Y) -
a
,d
: percent of the text ascent or descent
^ca(
,
)
,^ca()
: defines beginning and end of a "clickable area"; when mouse button number is pressed over the text drawn between these two commands, spawn the command
The actions [toggle
|un
]collapse
, [toggle
|un
]stick
, [toggle
|un
]hide
, raise
, lower
, scroll
{home
|end
}, and exit
may be used as commands.
-
^tw()
: clear the title window and write the remainder of the line to it -
^cs()
: clear the sub-window and write the remainder of the line to it -
^ib(
{0
|1
})
: [DEPRECATED] stop (1
) or start (0
) drawing background fill; dtao supports alpha, so this command should be converted to^bg(#00000000)
and^bg(
)
-
0: Reached EOF without encountering any errors
-
1: Some error occurred (see output)
Written by Devin J. Pohly.
See project page at [https://github.com/djpohly/dtao].