Release 17.1
[tint2-nick87720z.git] / doc / manual.html
blobf27f216e196dfdfa6f072f3ccc198ff0f664026d
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <head>
5 <style type="text/css">
6 html,
7 body {
8 color: #333;
9 font-family: Helvetica, Arial, sans-serif;
10 font-size: 14px;
11 line-height: 1.6;
12 word-wrap: break-word;
13 max-width: 1000px;
14 margin: 0 auto;
17 h1,
18 h2,
19 h3,
20 h4,
21 h5,
22 h6 {
23 margin-top: 1em;
24 margin-bottom: 1rem;
27 h1 {
28 font-size: 1.8rem;
29 font-weight: normal;
30 font-style: normal;
31 border-bottom: 1px solid #eee;
34 h2 {
35 font-size: 1.5rem;
36 font-weight: normal;
37 font-style: normal;
38 border-bottom: 1px solid #eee;
41 h3 {
42 font-size: 1.2rem;
43 font-weight: bold;
44 font-style: normal;
47 h4 {
48 font-size: 1rem;
49 font-weight: bold;
50 font-style: normal;
53 h5 {
54 font-size: 1rem;
55 font-weight: bold;
56 font-style: italic;
59 h6 {
60 font-size: 1rem;
61 font-weight: normal;
62 font-style: italic;
66 code,
67 kbd,
68 pre {
69 font-family: monospace;
70 font-size: 1em;
73 table {
74 border-spacing: 0;
75 border-collapse: collapse;
78 td,
79 th {
80 padding: 0;
83 asdff {
84 box-sizing: border-box;
87 a {
88 color: #46c;
89 text-decoration: none;
92 a:hover,
93 a:active {
94 text-decoration: underline;
97 a:not([href]) {
98 color: inherit;
99 text-decoration: none;
102 hr {
103 box-sizing: content-box;
104 height: 0;
105 margin: 15px 0;
106 overflow: hidden;
107 background: transparent;
108 border: 0;
109 border-bottom: 1px solid #ddd;
112 hr::before {
113 display: table;
114 content: "";
117 hr::after {
118 display: table;
119 clear: both;
120 content: "";
124 margin-top: 0;
125 margin-bottom: 0.7em;
128 blockquote {
129 margin: 0;
132 code {
133 font-family: "Liberation Mono", monospace;
134 font-size: 1em;
137 pre {
138 margin-top: 0;
139 margin-bottom: 0;
140 font: 1em "Liberation Mono", monospace;
141 overflow-x: auto;
144 blockquote {
145 padding: 0 15px;
146 color: #777;
147 border-left: 4px solid #ddd;
150 blockquote>:first-child {
151 margin-top: 0;
154 blockquote>:last-child {
155 margin-bottom: 0;
158 table {
159 display: block;
160 width: 100%;
161 overflow: auto;
162 word-break: normal;
165 table th {
166 font-weight: bold;
169 table th,
170 table td {
171 padding: 6px 13px;
172 border: 1px solid #ddd;
175 table tr {
176 background-color: #fff;
177 border-top: 1px solid #ccc;
180 table tr:nth-child(2n) {
181 background-color: #f8f8f8;
184 code {
185 padding: 0.2em;
186 margin: 0;
187 font-size: 0.95em;
188 background-color: #eee;
191 pre {
192 word-wrap: normal;
193 background-color: #eee;
194 margin: 1em 0;
195 padding: 0.2em;
199 </style>
200 </head>
201 <body>
202 <h1>TINT2 1 &ldquo;2022-02-23&rdquo; 17.1</h1>
204 <h2>NAME</h2>
206 <p>tint2 - lightweight panel/taskbar</p>
208 <h2>DESCRIPTION</h2>
210 <p>tint2 is a simple panel/taskbar made for modern X window managers.
211 It was specifically made for Openbox but it should also work with other window managers (GNOME, KDE, XFCE etc.).</p>
213 <p>Features:</p>
215 <ul>
216 <li>Panel with taskbar, system tray, clock and launcher icons;</li>
217 <li>Easy to customize: color/transparency on fonts, icons, borders and backgrounds;</li>
218 <li>Pager like capability: move tasks between workspaces (virtual desktops), switch between workspaces;</li>
219 <li>Multi-monitor capability: create one panel per monitor, showing only the tasks from the current monitor;</li>
220 <li>Customizable mouse events.</li>
221 </ul>
224 <p>Goals:</p>
226 <ul>
227 <li>Be unintrusive and light (in terms of memory, CPU and aesthetic);</li>
228 <li>Follow the freedesktop.org specifications;</li>
229 <li>Make certain workflows, such as multi-desktop and multi-monitor, easy to use.</li>
230 </ul>
233 <h2>SYNOPSIS</h2>
235 <p><code>tint2 [OPTION...]</code></p>
237 <h2>OPTIONS</h2>
239 <p><code>-c path_to_config_file</code>
240 Specifies which configuration file to use instead of the default.</p>
242 <p><code>-v, --version</code>
243 Prints version information and exits.</p>
245 <p><code>-h, --help</code>
246 Display this help and exits.</p>
248 <h2>CONFIGURATION</h2>
250 <h3>Table of contents</h3>
252 <ul>
253 <li><p><a href="#introduction">Introduction</a></p></li>
254 <li><p><a href="#backgrounds-and-borders">Backgrounds and borders</a></p></li>
255 <li><p><a href="#gradients">Gradients</a></p></li>
256 <li><p><a href="#panel">Panel</a></p></li>
257 <li><p><a href="#launcher">Launcher</a></p></li>
258 <li><p><a href="#taskbar-pager">Taskbar/Pager</a></p></li>
259 <li><p><a href="#taskbar-buttons">Taskbar buttons</a></p></li>
260 <li><p><a href="#mouse-actions-for-taskbar-buttons">Mouse actions for taskbar buttons</a></p></li>
261 <li><p><a href="#system-tray">System tray</a></p></li>
262 <li><p><a href="#clock">Clock</a></p></li>
263 <li><p><a href="#tooltip">Tooltip</a></p></li>
264 <li><p><a href="#battery">Battery</a></p></li>
265 <li><p><a href="#executor">Executor</a></p></li>
266 <li><p><a href="#button">Button</a></p></li>
267 <li><p><a href="#separator">Separator</a></p></li>
268 <li><p><a href="#example-configuration">Example configuration</a></p></li>
269 </ul>
272 <h3>Introduction</h3>
274 <p>These are instructions for configuring tint2 directly by editing its config file.
275 You may also use instead the graphical interface <code>tint2conf</code>.</p>
277 <p>The first time you run tint2, it will create the config file in <code>$HOME/.config/tint2/tint2rc</code> (This applies if you have done a clean install. Running tint2 in the source directory without doing &lsquo;make install&rsquo; will not create the config file.)</p>
279 <p>You can also specify another file on the command line with the -c option, e.g.: <code>tint2 -c $HOME/tint2.conf</code>. This can be used to run multiple instances of tint2 that use different settings.</p>
281 <p>If you change the config file while tint2 is running, the command <code>killall -SIGUSR1 tint2</code> will force tint2 to reload it.</p>
283 <p>All the configuration options supported in the config file are listed below.
284 Try to respect as much as possible the order of the options as given below.</p>
286 <h3>Backgrounds and borders</h3>
288 <p>The tint2 config file starts with the options defining background elements with borders:</p>
290 <ul>
291 <li><p><code>rounded = number_of_pixels</code> : the corner radius</p></li>
292 <li><p><code>rounded_corners = TL TR BR BL</code>: corners to be rounded (top left, top right, bottom right, bottom left). If not specified - all corners are rounded. <em>(since 17.1)</em></p></li>
293 <li><p><code>border_width = integer</code> : the border width in pixels</p></li>
294 <li><p><code>border_sides = LRTB</code> : sides to draw the border on (left, right, top, bottom). If not specified - all sides are used. <em>(since 0.12.12)</em></p></li>
295 <li><p><code>background_color = color opacity</code></p>
297 <ul>
298 <li><code>color</code> is specified in hex RGB, e.g. #ff0000 is red</li>
299 <li><code>opacity</code> varies from (0 to 100), where 0 is fully transparent, 100 is fully opaque. Note that for a transparent panel you need to enable a desktop compositor (such as compton or compiz).</li>
300 </ul>
301 </li>
302 <li><p><code>border_color = color opacity</code></p>
304 <ul>
305 <li><code>color</code> is specified in hex RGB, e.g. #ff0000 is red</li>
306 <li><code>opacity</code> varies from (0 to 100), where 0 is fully transparent, 100 is fully opaque</li>
307 </ul>
308 </li>
309 <li><p><code>background_color_hover = color opacity</code> (default: same as <code>background_color</code>) <em>(since 0.12.3)</em></p>
311 <ul>
312 <li><code>color</code> is specified in hex RGB, e.g. #ff0000 is red</li>
313 <li><code>opacity</code> varies from (0 to 100), where 0 is fully transparent, 100 is fully opaque. Note that for a transparent panel you need to enable a desktop compositor (such as compton or compiz)</li>
314 </ul>
315 </li>
316 <li><p><code>border_color_hover = color opacity</code> (default: same as <code>border_color</code>) <em>(since 0.12.3)</em></p>
318 <ul>
319 <li><code>color</code> is specified in hex RGB, e.g. #ff0000 is red</li>
320 <li><code>opacity</code> varies from (0 to 100), where 0 is fully transparent, 100 is fully opaque</li>
321 </ul>
322 </li>
323 <li><p><code>background_color_pressed = color opacity</code> (default: same as <code>background_color_hover</code>) <em>(since 0.12.3)</em></p>
325 <ul>
326 <li><code>color</code> is specified in hex RGB, e.g. #ff0000 is red</li>
327 <li><code>opacity</code> varies from (0 to 100), where 0 is fully transparent, 100 is fully opaque. Note that for a transparent panel you need to enable a desktop compositor (such as compton or compiz)</li>
328 </ul>
329 </li>
330 <li><p><code>border_color_pressed = color opacity</code> (default: same as <code>border_color_hover</code>) <em>(since 0.12.3)</em></p>
332 <ul>
333 <li><code>color</code> is specified in hex RGB, e.g. #ff0000 is red</li>
334 <li><code>opacity</code> varies from (0 to 100), where 0 is fully transparent, 100 is fully opaque</li>
335 </ul>
336 </li>
337 <li><p><code>border_content_tint_weight = integer</code> : Mixes the border color with the content color (for tasks, this is the average color of the window icon). Values must be between 0 (no mixing) and 100 (fully replaces the color). <em>(since 16.0)</em></p></li>
338 <li><p><code>background_content_tint_weight = integer</code> : Mixes the background color with the content color (for tasks, this is the average color of the window icon). Values must be between 0 (no mixing) and 100 (fully replaces the color). <em>(since 16.0)</em></p></li>
339 </ul>
342 <p>You can define as many backgrounds as you want. For example, the following config defines two backgrounds:</p>
344 <p>```
345 rounded = 1
346 border_width = 0
347 background_color = #282828 100
348 border_color = #000000 0</p>
350 <p>rounded = 1
351 border_width = 0
352 background_color = #f6b655 90
353 border_color = #cccccc 40
354 ```</p>
356 <p>tint2 automatically identifies each background with a number starting from 1 (1, 2, &hellip;).
357 Afterwards, you can apply a background to objects (panel, taskbar, task, clock, systray) using the background id, for example:</p>
359 <p><code>
360 panel_background_id = 1
361 taskbar_background_id = 0
362 task_background_id = 0
363 task_active_background_id = 2
364 systray_background_id = 0
365 clock_background_id = 0
366 </code></p>
368 <p>Identifier 0 refers to a special background which is fully transparent, identifier 1 applies the first background defined in the config file etc.</p>
370 <h3>Gradients</h3>
372 <p>(Available since 0.13.0)</p>
374 <p>Backgrounds also allow specifying gradient layers
375 that are drawn on top of the solid color background.</p>
377 <p>First the user must define one or more gradients in the config file,
378 each starting with <code>gradient = TYPE</code>. These must be added before backgrounds.</p>
380 <p>Then gradients can be added by index to backgrounds,
381 using the <code>gradient_id = INDEX</code>, <code>gradient_id_hover = INDEX</code> and
382 <code>gradient_id_pressed = INDEX</code>, where <code>INDEX</code> is
383 the gradient index, starting from 1.</p>
385 <h4>Gradient types</h4>
387 <p>Gradients vary the color between fixed control points:
388 * vertical gradients: top-to-bottom;
389 * horizontal gradients: left-to-right;
390 * radial gradients: center-to-corners.</p>
392 <p>The user must specify the start and end colors, and can optionally add extra color stops in between
393 using the <code>color_stop</code> option, as explained below.</p>
395 <h5>Vertical gradient, with color varying from the top edge to the bottom edge, two colors</h5>
397 <p><code>
398 gradient = vertical
399 start_color = #rrggbb opacity
400 end_color = #rrggbb opacity
401 </code></p>
403 <h5>Horizontal gradient, with color varying from the left edge to the right edge, two colors</h5>
405 <p><code>
406 gradient = horizontal
407 start_color = #rrggbb opacity
408 end_color = #rrggbb opacity
409 </code></p>
411 <h5>Radial gradient, with color varying from the center to the corner, two colors:</h5>
413 <p><code>
414 gradient = radial
415 start_color = #rrggbb opacity
416 end_color = #rrggbb opacity
417 </code></p>
419 <h5>Adding extra color stops (0% and 100% remain fixed, more colors at x% between the start and end control points)</h5>
421 <p><code>
422 color_stop = percentage #rrggbb opacity
423 </code></p>
425 <h4>Gradient examples</h4>
427 <p>```</p>
429 <h1>Gradient 1: thin film effect</h1>
431 <p>gradient = horizontal
432 start_color = #111122 30
433 end_color = #112211 30
434 color_stop = 60 #221111 30</p>
436 <h1>Gradient 2: radial glow</h1>
438 <p>gradient = radial
439 start_color = #ffffff 20
440 end_color = #ffffff 0</p>
442 <h1>Gradient 3: elegant black</h1>
444 <p>gradient = vertical
445 start_color = #444444 100
446 end_color = #222222 100</p>
448 <h1>Gradient 4: elegant black</h1>
450 <p>gradient = horizontal
451 start_color = #111111 100
452 end_color = #222222 100</p>
454 <h1>Background 1: Active desktop name</h1>
456 <p>rounded = 2
457 border_width = 1
458 border_sides = TBLR
459 background_color = #555555 10
460 border_color = #ffffff 60
461 background_color_hover = #555555 10
462 border_color_hover = #ffffff 60
463 background_color_pressed = #555555 10
464 border_color_pressed = #ffffff 60
465 gradient_id = 3
466 gradient_id_hover = 4
467 gradient_id_pressed = 2</p>
469 <p>[&hellip;]
470 ```</p>
472 <h3>Panel</h3>
474 <ul>
475 <li><p><code>panel_items = LTSBC</code> defines the items tint2 will show and the order of those items. Each letter refers to an item, defined as:</p>
477 <ul>
478 <li><code>L</code> shows the Launcher</li>
479 <li><code>T</code> shows the Taskbar</li>
480 <li><code>S</code> shows the Systray (also called notification area)</li>
481 <li><code>B</code> shows the Battery status</li>
482 <li><code>C</code> shows the Clock</li>
483 <li><code>F</code> adds an extensible spacer (freespace). You can specify more than one. Has no effect if <code>T</code> is also present. <em>(since 0.12)</em></li>
484 <li><code>E</code> adds an executor plugin. You can specify more than one. <em>(since 0.12.4)</em></li>
485 <li><code>P</code> adds a push button. You can specify more than one. <em>(since 0.14)</em></li>
486 <li><code>:</code> adds a separator. You can specify more than one. <em>(since 0.13.0)</em></li>
487 </ul>
490 <p>For example, <code>panel_items = STC</code> will show the systray, the taskbar and the clock (from left to right).</p></li>
491 <li><p><code>panel_monitor = monitor (all or primary or 1 or 2 or ...)</code> : Which monitor tint2 draws the panel on</p>
493 <ul>
494 <li>The first monitor is <code>1</code></li>
495 <li>Use <code>panel_monitor = all</code> to get a separate panel per monitor</li>
496 </ul>
497 </li>
498 <li><p><code>primary_monitor_first = boolean (0 or 1)</code> : Place the primary monitor before all the other monitors in the list. <em>(since 0.12.4; removed in 1.0, use <code>primary</code> instead)</em></p></li>
499 </ul>
502 <p><img src="images/panel_padding.jpg" alt="" /></p>
504 <ul>
505 <li><p><code>panel_position = vertical_position horizontal_position orientation</code></p>
507 <ul>
508 <li><code>vertical_position</code> is one of: <code>bottom</code>, <code>top</code>, <code>center</code></li>
509 <li><code>horizontal_position</code> is one of: <code>left</code>, <code>right</code>, <code>center</code></li>
510 <li><code>orientation</code> is one of: <code>horizontal</code>, <code>vertical</code></li>
511 </ul>
512 </li>
513 <li><p><code>panel_size = width height</code></p>
515 <ul>
516 <li><code>width</code> and <code>height</code> can be specified without units (e.g. <code>123</code>) as pixels, or followed by <code>%</code> as percentages of the monitor size (e.g. <code>50%</code>). Use <code>100%</code> for full monitor width/height.
517 Example:</li>
518 </ul>
519 </li>
520 <li><p><code>scale_relative_to_dpi = integer</code> : If set to a non-zero value, HiDPI scaling is enabled. Each panel is visible on a different monitor. Thus each panel has a specific scaling factor. The scaling factor is computed as the ratio between the monitor DPI (obtained from the dimensions in pixels and millimeters from RandR) and a configured reference DPI - this is the DPI for which exising user configs looked normal, for backward compatibility.</p></li>
521 <li><p><code>scale_relative_to_screen_height = integer</code> : Similar to <code>scale_relative_to_dpi</code>, except the scaling factor is computed as the ratio between the monitor height and <code>scale_relative_to_screen_height</code>. The effect is cumulative with <code>scale_relative_to_dpi</code>, i.e. if both options are present, the factors are multiplied.</p></li>
522 </ul>
525 <p>```</p>
527 <h1>The panel&rsquo;s width is 94% the size of the monitor, the height is 30 pixels:</h1>
529 <p>panel_size = 94% 30
530 ```</p>
532 <ul>
533 <li><p><code>panel_shrink = boolean (0 or 1)</code> : If set to 1, the panel will shrink to a compact size dynamically. <em>(since 0.13)</em></p></li>
534 <li><p><code>panel_margin = horizontal_margin vertical_margin</code> : The margins define the distance between the panel and the horizontal/vertical monitor edge. Use <code>0</code> to obtain a panel with the same size as the edge of the monitor (no margin).</p></li>
535 </ul>
538 <p><img src="images/panel_size_margin.jpg" alt="" /></p>
540 <ul>
541 <li><code>panel_padding = horizontal_padding vertical_padding spacing</code> : Please refer to the image below.</li>
542 </ul>
545 <p><img src="images/panel_padding.jpg" alt="" /></p>
547 <ul>
548 <li><p><code>font_shadow = boolean (0 or 1)</code></p></li>
549 <li><p><code>panel_background_id = integer</code> : Which background to use for the panel.</p></li>
550 <li><p><code>wm_menu = boolean (0 or 1)</code> : Defines if tint2 forwards unhandled mouse events to your window manager. Useful for window managers such as openbox, which display the start menu if you right click on the desktop.</p></li>
551 <li><p><code>panel_dock = boolean (0 or 1)</code> : Defines if tint2 is placed into the window manager&rsquo;s dock. For the openbox window manager it is advised to also use a modifier for the moveButton option, otherwise the mouse click is not forwarded to tint2 (in ~/.config/openbox/rc.xml).</p></li>
552 <li><p><code>panel_pivot_struts = boolean (0 or 1)</code> : Defines if tint2 lies to the window manager about its orientation (horizontal vs vertical) when requesting reserved space with STRUTs (see <code>strut_policy</code> below). On some window managers, this allows placing a panel in the middle of the virtual screen, e.g. on the bottom edge of the top monitor in a vertical dual-monitor setup.</p></li>
553 <li><p><code>panel_layer = bottom/normal/top</code> : Places tint2 into the bottom/normal/top layer. This is helpful for specifying if the panel can be covered by other windows or not. The default is the bottom layer, but with real transparency normal or top layer may be a nice alternative.</p></li>
554 <li><p><code>strut_policy = follow_size/minimum/none</code> : STRUTs are used by the window manager to decide the size of maximized windows. Note: on multi-monitor (Xinerama) setups, the panel generally must be placed at the edge (not in the middle) of the virtual screen for this to work correctly (though on some window managers, setting <code>panel_pivot_struts</code> may work around this limitation).</p>
556 <ul>
557 <li><code>follow_size</code> means that the maximized windows always resize to have a common edge with tint2.</li>
558 <li><code>minimum</code> means that the maximized windows always expand to have a common edge with the hidden panel. This is useful if the <code>autohide</code> option is enabled.</li>
559 <li><code>none</code> means that the maximized windows use the full screen size.</li>
560 </ul>
561 </li>
562 <li><p><code>panel_window_name = string</code> : Defines the name of the panel&rsquo;s window. Default: &lsquo;tint2&rsquo;. <em>(since 0.12)</em></p></li>
563 <li><p><code>disable_transparency = boolean (0 or 1)</code> : Whether to disable transparency instead of detecting if it is supported. Useful on broken graphics stacks. <em>(since 0.12)</em></p></li>
564 <li><p><code>mouse_effects = boolean (0 or 1)</code> : Whether to enable mouse hover effects for clickable items. <em>(since 0.12.3)</em></p></li>
565 <li><p><code>mouse_hover_icon_asb = alpha (0 to 100) saturation (-100 to 100) brightness (-100 to 100)</code> : Adjusts the icon color and transparency on mouse hover (works only when mouse_effects = 1).` <em>(since 0.12.3)</em></p></li>
566 <li><p><code>mouse_pressed_icon_asb = alpha (0 to 100) saturation (-100 to 100) brightness (-100 to 100)</code> : Adjusts the icon color and transparency on mouse press (works only when mouse_effects = 1).` <em>(since 0.12.3)</em></p></li>
567 <li><p><code>autohide = boolean (0 or 1)</code> : Whether to enable panel hiding when the mouse cursor exists the panel.</p></li>
568 <li><p><code>autohide_show_timeout = float</code> : Show timeout in seconds after the mouse cursor enters the panel. Use &lsquo;.&rsquo; as decimal separator.</p></li>
569 <li><p><code>autohide_hide_timeout = float</code> : Hide timeout in seconds after the mouse cursor exits the panel. Use &lsquo;.&rsquo; as decimal separator.</p></li>
570 <li><p><code>autohide_height = integer</code> : panel height (width for vertical panels) in hidden mode.</p></li>
571 </ul>
574 <h3>Launcher</h3>
576 <ul>
577 <li><p><code>launcher_item_app = path_to_application</code> : Each <code>launcher_item_app</code> must be a file path to a .desktop file following the freedesktop.org <a href="http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html">specification</a>. The paths may begin with <code>~</code>, which is expanded to the path of the user&rsquo;s home directory. If only a file name is specified, the file is search in the standard application directories (<code>$XDG_DATA_HOME/applications</code>, <code>~/.local/share/applications</code>, <code>$XDG_DATA_DIRS/applications</code>, <code>/usr/local/share/applications</code>, <code>/usr/share/applications</code>, <code>/opt/share/applications</code>).</p></li>
578 <li><p><code>launcher_apps_dir = path_to_directory</code> : Specifies a path to a directory from which the launcher is loading all .desktop files (all subdirectories are explored recursively). Can be used multiple times. The path may begin with <code>~</code>, which is expanded to the path of the user&rsquo;s home directory. <em>(since 0.12)</em></p></li>
579 <li><p><code>launcher_background_id = integer</code> : Defines which background to use.</p></li>
580 <li><p><code>launcher_icon_background_id = integer</code> : Defines which background to use for icons.</p></li>
581 <li><p><code>launcher_padding = horizontal_padding vertical_padding spacing</code></p></li>
582 <li><p><code>launcher_icon_size = integer</code> : The launcher icon size, in pixels.</p></li>
583 <li><p><code>launcher_icon_theme = name_of_theme</code> : (Optional) Uses the specified icon theme to display shortcut icons. Note that tint2 will detect and use the icon theme of your desktop if you have an XSETTINGS manager running (which you probably do), unless <code>launcher_icon_theme_override = 1</code>.</p></li>
584 <li><p><code>launcher_icon_theme_override = boolean (0 or 1)</code> : Whether <code>launcher_icon_theme</code> overrides the value obtained from the XSETTINGS manager. <em>(since 0.12)</em></p></li>
585 <li><p><code>launcher_icon_asb = alpha (0 to 100) saturation (-100 to 100) brightness (-100 to 100)</code> : Adjusts the icon color and transparency.</p></li>
586 <li><p><code>launcher_tooltip = boolean (0 or 1)</code> : Whether to show tooltips for the launcher icons.</p></li>
587 <li><p><code>startup_notifications = boolean (0 or 1)</code> : Whether to show startup notifications when starting applications from the launcher. <em>(since 0.12)</em></p></li>
588 </ul>
591 <h3>Taskbar / Pager</h3>
593 <ul>
594 <li><p><code>taskbar_mode = single_desktop/multi_desktop</code></p>
596 <ul>
597 <li><code>single_desktop</code> : Shows a normal taskbar listing the tasks running on the current virtual desktop (also known as &lsquo;workspace&rsquo;);</li>
598 <li><code>multi_desktop</code> : Pager like capability. Shows multiple taskbars, one per virtual desktop, with which:
600 <ul>
601 <li>You can drag-and-drop tasks between virtual desktops;</li>
602 <li>You can switch between virtual desktops.</li>
603 </ul>
604 </li>
605 </ul>
606 </li>
607 <li><p><code>taskbar_hide_if_empty = boolean (0 or 1)</code> : If enabled, in multi-desktop mode the taskbars corresponding to empty desktops different from the current desktop are hidden. <em>(since 0.13)</em></p></li>
608 <li><p><code>taskbar_distribute_size = boolean (0 or 1)</code> : If enabled, in multi-desktop mode distributes between taskbars the available size proportionally to the number of tasks. Default: disabled. <em>(since 0.12)</em></p></li>
609 <li><p><code>taskbar_padding = horizontal_padding vertical_padding spacing</code></p></li>
610 </ul>
613 <p><img src="images/taskbar_padding.jpg" alt="" /></p>
615 <ul>
616 <li><p><code>taskbar_background_id = integer</code> : Which background to use</p></li>
617 <li><p><code>taskbar_active_background_id = integer</code> : Which background to use for the taskbar of the current virtual desktop.</p></li>
618 <li><p><code>taskbar_hide_inactive_tasks = boolean (0 or 1)</code> : If enabled, the taskbar shows only the active task. <em>(since 0.12)</em></p></li>
619 <li><p><code>taskbar_hide_different_monitor = boolean (0 or 1)</code> : If enabled, the taskbar shows only the tasks from the current monitor. Useful when running different tint2 instances on different monitors, each one having its own config. <em>(since 0.12)</em></p></li>
620 <li><p><code>taskbar_hide_different_desktop = boolean (0 or 1)</code> : If enabled, the taskbar shows only the tasks from the current desktop. Useful to make multi-desktop taskbars more compact, but still allow desktop switching with mouse click. <em>(since 1.0)</em></p></li>
621 <li><p><code>taskbar_always_show_all_desktop_tasks = boolean (0 or 1)</code> : Has effect only if <code>taskbar_mode = multi_desktop</code>. If enabled, tasks that appear on all desktops are shown on all taskbars. Otherwise, they are shown only on the taskbar of the current desktop. <em>(since 0.12.4)</em></p></li>
622 <li><p><code>taskbar_sort_order = none/title/center</code> : Specifies the sort order of the tasks on the taskbar. <em>(since 0.12)</em></p>
624 <ul>
625 <li><code>none</code> : No sorting. New tasks are simply appended at the end of the taskbar when they appear.</li>
626 <li><code>title</code> : Sorts the tasks by title.</li>
627 <li><code>application</code> : Sorts the tasks by application name. <em>(since 16.3)</em></li>
628 <li><code>center</code> : Sorts the tasks by their window centers.</li>
629 <li><code>mru</code> : Shows the most recently used tasks first. <em>(since 0.12.4)</em></li>
630 <li><code>lru</code> : Shows the most recently used tasks last. <em>(since 0.12.4)</em></li>
631 </ul>
632 </li>
633 <li><p><code>task_align = left/center/right</code> : Specifies the alignment of the tasks on the taskbar. Default: left.</p></li>
634 <li><p><code>taskbar_name = boolean (0 or 1)</code> : Whether to show the virtual desktop name in the taskbar.</p></li>
635 <li><p><code>taskbar_name_padding = padding</code> : Padding for the virtual desktop name.</p></li>
636 <li><p><code>taskbar_name_background_id = integer</code> : Which background to use for the desktop name.</p></li>
637 <li><p><code>taskbar_name_font = [FAMILY-LIST] [STYLE-OPTIONS] [SIZE]</code> : Font configuration for the desktop name.</p></li>
638 <li><p><code>taskbar_name_font_color = color opacity (0 to 100)</code> : Font color for the desktop name.</p></li>
639 <li><p><code>taskbar_name_active_background_id = integer</code> : Which background to use for the name of the current desktop.</p></li>
640 <li><p><code>taskbar_name_active_font_color = color opacity (0 to 100)</code> : Font color for the name of the current desktop.</p></li>
641 </ul>
644 <h1>Taskbar buttons</h1>
646 <p>The following options configure the task buttons in the taskbar:</p>
648 <ul>
649 <li><p><code>task_icon = boolean (0 or 1)</code> : Whether to display the task icon. There is no explicit option to control the task icon size; it depends on the vertical padding set with <code>task_padding</code>.</p></li>
650 <li><p><code>task_text = boolean (0 or 1)</code> : Whether to display the task text.</p></li>
651 <li><p><code>task_centered = boolean (0 or 1)</code> : Whether the task text is centered.</p></li>
652 <li><p><code>task_tooltip = boolean (0 or 1)</code> : Whether to show tooltips for tasks.</p></li>
653 <li><p><code>task_thumbnail = boolean (0 or 1)</code> : Whether to show thumbnail tooltips for tasks. <em>(since 16.0)</em></p></li>
654 <li><p><code>task_thumbnail_size = width</code> : Thumbnail size. <em>(since 16.0)</em></p></li>
655 <li><p><code>task_maximum_size = width height</code></p>
657 <ul>
658 <li><code>width</code> is used with horizontal panels to limit the size of the tasks. Use <code>width = 0</code> to get full taskbar width.</li>
659 <li><code>height</code> is used with vertical panels.</li>
660 </ul>
661 </li>
662 <li><p><code>task_padding = horizontal_padding vertical_padding spacing</code></p></li>
663 <li><p><code>urgent_nb_of_blink = integer</code> : Number of blinks on &lsquo;get attention&rsquo; events.</p></li>
664 </ul>
667 <p><img src="images/task_padding.jpg" alt="" /></p>
669 <ul>
670 <li><p><code>task_font = [FAMILY-LIST] [STYLE-OPTIONS] [SIZE]</code></p></li>
671 <li><p><code>task_font_color = color opacity (0 to 100)</code></p></li>
672 <li><p><code>task_icon_asb = alpha (0 to 100) saturation (-100 to 100) brightness (-100 to 100)</code> : Adjust the task icon&rsquo;s color and transparency.</p></li>
673 <li><p><code>task_background_id = integer</code> : Which background to use for non selected tasks</p></li>
674 </ul>
677 <p>For the next 3 options STATUS can be <code>active</code> / <code>iconified</code> / <code>urgent</code>:
678 * <code>task_STATUS_font_color = color opacity (0 to 100)</code></p>
680 <ul>
681 <li><p><code>task_STATUS_icon_asb = alpha (0 to 100) saturation (-100 to 100) brightness (-100 to 100)</code> : Adjusts the task icon&rsquo;s color and transparency.</p></li>
682 <li><p><code>task_STATUS_background_id = integer</code> : Which background to use for the task.</p></li>
683 </ul>
686 <h3>Mouse actions for taskbar buttons</h3>
688 <p>The possible mouse events are: <code>left, middle, right, scroll_up, scroll_down</code>.</p>
690 <p>The possible mouse actions are: <code>none, close, toggle, iconify, shade, toggle_iconify, maximize_restore, desktop_left, desktop_right, next_task, prev_task</code>.</p>
692 <p>Use <code>mouse_event = action</code> to customize mouse actions. Example:
693 <code>
694 mouse_middle = none
695 mouse_right = close
696 mouse_scroll_up = toggle
697 mouse_scroll_down = iconify
698 </code></p>
700 <p>The action semantics:
701 * <code>none</code> : If <code>wm_menu = 1</code> is set, the mouse event is forwarded to the window manager. Otherwise it is ignored.
702 * <code>close</code> : close the task
703 * <code>toggle</code> : toggle the task
704 * <code>iconify</code> : iconify (minimize) the task
705 * <code>toggle_iconify</code> : toggle or iconify the task
706 * <code>maximize_restore</code> : maximized or minimized the task
707 * <code>shade</code> : shades (collapses) the task
708 * <code>desktop_left</code> : send the task to the desktop on the left
709 * <code>desktop_right</code> : send the task to the desktop on the right
710 * <code>next_task</code> : send the focus to next task
711 * <code>prev_task</code> : send the focus to previous task</p>
713 <h3>System Tray</h3>
715 <ul>
716 <li><p><code>systray_padding = horizontal_padding vertical_padding spacing</code></p></li>
717 <li><p><code>systray_background_id = integer</code> : Which background to use.</p></li>
718 <li><p><code>systray_sort = ascending/descending/left2right/right2left</code> : Specifies the sorting order for the icons in the systray: in ascending/descending alphabetical order of the icon title, or always add icons to the right/left (note that with <code>left2right</code> or <code>right2left</code> the order can be different on panel restart).</p></li>
719 <li><p><code>systray_icon_size = max_icon_size</code> : Set the maximum system tray icon size to <code>number</code>. Set to <code>0</code> for automatic icon sizing.</p></li>
720 <li><p><code>systray_icon_asb = alpha (0 to 100) saturation (-100 to 100) brightness (-100 to 100)</code> : Adjust the systray icons color and transparency.</p></li>
721 <li><p><code>systray_monitor = integer (1, 2, ...) or primary</code> : On which monitor to draw the systray. The first monitor is <code>1</code>. <em>(since 0.12)</em></p></li>
722 <li><p><code>systray_name_filter = string</code> : Regular expression to identify icon names to be hidden. For example, <code>^audacious$</code> will hide icons with the exact name <code>audacious</code>, while <code>aud</code> will hide any icons having <code>aud</code> in the name. <em>(since 0.13.1)</em></p></li>
723 </ul>
726 <h3>Clock</h3>
728 <ul>
729 <li><p><code>time1_format = %H:%M</code> : The format used by the first line of the clock.</p>
731 <ul>
732 <li><code>time1_format</code>, <code>time2_format</code> and <code>clock_tooltip</code> use the &lsquo;strftime&rsquo; syntax. More info can be found here: http://www.manpagez.com/man/3/strftime/</li>
733 <li>To hide the clock, comment <code>time1_format</code> and <code>time2_format</code>.</li>
734 </ul>
735 </li>
736 <li><p><code>time1_timezone = :US/Hawaii</code></p>
738 <ul>
739 <li><code>time1_timezone</code>, <code>time2_timezone</code> and <code>clock_tooltip_timezone</code> can be used to specify a timezone. If you do not specify a value the system-wide timezone is used. The timezones can usually be found in <code>/usr/share/zoneinfo</code>. If your timezones are in a different directory, you need to specify the absolute path, e.g. <code>time1_timezone = :/different/zoneinfo/dir/US/Hawaii</code> Always prepend the timezone with a &lsquo;:&rsquo;</li>
740 </ul>
741 </li>
742 <li><p><code>time1_font = [FAMILY-LIST] [STYLE-OPTIONS] [SIZE]</code></p></li>
743 <li><p><code>time2_format = %A %d %B</code></p></li>
744 <li><p><code>time2_timezone = :Europe/Berlin</code></p></li>
745 <li><p><code>time2_font = [FAMILY-LIST] [STYLE-OPTIONS] [SIZE]</code></p></li>
746 <li><p><code>clock_font_color = color opacity (0 to 100)</code></p></li>
747 <li><p><code>clock_padding = horizontal_padding vertical_padding</code></p></li>
748 <li><p><code>clock_background_id = integer</code> : Which background to use</p></li>
749 <li><p><code>clock_tooltip = %a, %d. %b %Y</code> : Format for the clock&rsquo;s tooltip.</p></li>
750 <li><p><code>clock_tooltip_timezone = :UTC</code></p></li>
751 <li><p><code>clock_lclick_command = text</code> : Command to execute on left click.</p></li>
752 <li><p><code>clock_rclick_command = text</code> : Command to execute on right click.</p></li>
753 <li><p><code>clock_mclick_command = text</code> : Command to execute on middle click. <em>(since 0.12.1)</em></p></li>
754 <li><p><code>clock_uwheel_command = text</code> : Command to execute on wheel scroll up. <em>(since 0.12.1)</em></p></li>
755 <li><p><code>clock_dwheel_command = text</code> : Command to execute on wheel scroll down. <em>(since 0.12.1)</em></p></li>
756 </ul>
759 <h3>Tooltip</h3>
761 <ul>
762 <li><p><code>tooltip_padding = horizontal_padding vertical_padding</code></p></li>
763 <li><p><code>tooltip_show_timeout = float</code> : Delay to show the tooltip in seconds. Use <code>.</code> as decimal separator.</p></li>
764 <li><p><code>tooltip_hide_timeout = float</code> : Delay to hide the tooltip in seconds. Use <code>.</code> as decimal separator.</p></li>
765 <li><p><code>tooltip_background_id = integer</code> : Which background to use for tooltips. Note that with fake transparency the alpha channel and corner radius options are not respected.</p></li>
766 <li><p><code>tooltip_font_color = color opacity (0 to 100)</code></p></li>
767 <li><p><code>tooltip_font = [FAMILY-LIST] [STYLE-OPTIONS] [SIZE]</code></p></li>
768 </ul>
771 <h3>Battery</h3>
773 <ul>
774 <li><p><code>battery_hide = never/integer (0 to 100)</code> : At what battery percentage the battery item is hidden.</p></li>
775 <li><p><code>battery_low_status = integer</code>: At what battery percentage the low command is executed.</p></li>
776 <li><p><code>battery_low_cmd = xmessage 'tint2: Battery low!'</code> : Command to execute when the battery is low.</p></li>
777 <li><p><code>battery_full_cmd = notify-send "battery full"</code> : Command to execute when the battery is full.</p></li>
778 <li><p><code>bat1_font = [FAMILY-LIST] [STYLE-OPTIONS] [SIZE]</code></p></li>
779 <li><p><code>bat2_font = [FAMILY-LIST] [STYLE-OPTIONS] [SIZE]</code></p></li>
780 <li><p><code>battery_font_color = color opacity (0 to 100)</code></p></li>
781 <li><p><code>bat1_format = FORMAT_STRING</code> : Format for battery line 1. Default: %p. <em>(since 1.0)</em> Format specification:</p>
783 <ul>
784 <li>%s: State (charging, discharging, full, unknown).</li>
785 <li>%m: Minutes left until completely charged/discharged (estimated).</li>
786 <li>%h: Hours left until completely charged/discharged (estimated).</li>
787 <li>%t: Time left. Shows &ldquo;hrs:mins&rdquo; when charging/discharging, or &ldquo;Ful\&rdquo; when full.</li>
788 <li>%p: Percentage. Includes the % sign.</li>
789 <li>%P: Percentage. Without the % sign.</li>
790 </ul>
791 </li>
792 <li><p><code>bat2_format = FORMAT_STRING</code> : Format for battery line 2. Default: %t. <em>(since 1.0)</em></p></li>
793 <li><p><code>battery_padding = horizontal_padding vertical_padding</code></p></li>
794 <li><p><code>battery_background_id = integer</code> : Which background to use for the battery.</p></li>
795 <li><p><code>battery_tooltip_enabled = boolean (0 or 1)</code> : Enable/disable battery tooltips. <em>(since 0.12.3)</em></p></li>
796 <li><p><code>battery_lclick_command = text</code> : Command to execute on left click. <em>(since 0.12.1)</em></p></li>
797 <li><p><code>battery_rclick_command = text</code> : Command to execute on right click. <em>(since 0.12.1)</em></p></li>
798 <li><p><code>battery_mclick_command = text</code> : Command to execute on middle click. <em>(since 0.12.1)</em></p></li>
799 <li><p><code>battery_uwheel_command = text</code> : Command to execute on wheel scroll up. <em>(since 0.12.1)</em></p></li>
800 <li><p><code>battery_dwheel_command = text</code> : Command to execute on wheel scroll down. <em>(since 0.12.1)</em></p></li>
801 <li><p><code>ac_connected_cmd = text</code> : Command to execute when the power adapter is plugged in. <em>(since 0.12.3)</em></p></li>
802 <li><p><code>ac_disconnected_cmd = text</code> : Command to execute when the power adapter is unplugged. <em>(since 0.12.3)</em></p></li>
803 </ul>
806 <h3>Executor</h3>
808 <ul>
809 <li><p><code>execp = new</code> : Begins the configuration of a new executor plugin. Multiple such plugins are supported; just use multiple <code>E</code>s in <code>panel_items</code>. <em>(since 0.12.4)</em></p></li>
810 <li><p><code>execp_name = text</code> : A name that can be used with <code>tint2-send refresh-execp</code> to re-execute the command. <em>(since 17.0.2)</em></p></li>
811 <li><p><code>execp_command = text</code> : Command to execute. <em>(since 0.12.4)</em></p></li>
812 <li><p><code>execp_interval = integer</code> : The command is executed again after <code>execp_interval</code> seconds from the moment it exits. If zero, the command is executed only once. <em>(since 0.12.4)</em></p></li>
813 <li><p><code>execp_continuous = integer</code> : If non-zero, the last <code>execp_continuous</code> lines from the output of the command are displayed, every <code>execp_continuous</code> lines; this is useful for showing the output of commands that run indefinitely, such as <code>ping 127.0.0.1</code>. If zero, the output of the command is displayed after it finishes executing. <em>(since 0.12.4)</em></p></li>
814 <li><p><code>execp_has_icon = boolean (0 or 1)</code> : If <code>execp_has_icon = 1</code>, the first line printed by the command is interpreted as a path to an image file. <em>(since 0.12.4)</em></p></li>
815 <li><p><code>execp_cache_icon = boolean (0 or 1)</code> : If <code>execp_cache_icon = 0</code>, the image is reloaded each time the command is executed (useful if the image file is changed on disk by the program executed by <code>execp_command</code>). <em>(since 0.12.4)</em></p></li>
816 <li><p><code>execp_icon_w = integer</code> : You can use <code>execp_icon_w</code> and <code>execp_icon_h</code> to resize the image. If one of them is zero/missing, the image is rescaled proportionally. If both of them are zero/missing, the image is not rescaled. <em>(since 0.12.4)</em></p></li>
817 <li><p><code>execp_icon_h = integer</code> : See <code>execp_icon_w</code>. <em>(since 0.12.4)</em></p></li>
818 <li><p><code>execp_tooltip = text</code> : The tooltip. If left empty - no tooltip is displayed. If missing - the standard error of the command is shown as a tooltip. If the standard error is empty, the tooltip will show information about the time when the command was last executed. <em>(since 0.12.4)</em><br/>
819 An ANSI clear screen sequence can reset the contents:</p>
821 <ul>
822 <li>shell: <code>printf '\e[2J'</code></li>
823 <li>C: <code>printf ("\x1b[2J");</code></li>
824 <li>shell using tput from ncurses: <code>tput clear</code>)<br/>
825 <strong>Note:</strong> previous tint2 versions don&rsquo;t set TERM, so this must be done manually - <code>tput -Tansi.sys-old clear</code></li>
826 </ul>
827 </li>
828 <li><p><code>execp_font = [FAMILY-LIST] [STYLE-OPTIONS] [SIZE]</code> : The font used to draw the text. <em>(since 0.12.4)</em></p></li>
829 <li><p><code>execp_font_color = color opacity</code> : The font color. <em>(since 0.12.4)</em></p></li>
830 <li><p><code>execp_markup = boolean (0 or 1)</code> : If non-zero, the output of the command is treated as Pango markup, which allows rich text formatting. The format is <a href="https://developer.gnome.org/pygtk/stable/pango-markup-language.html">documented here</a>. Note that using this with commands that print data downloaded from the Internet is a possible security risk. <em>(since 0.12.4)</em></p></li>
831 <li><p><code>execp_background_id = integer</code> : Which background to use. <em>(since 0.12.4)</em></p></li>
832 <li><p><code>execp_centered = boolean (0 or 1)</code> : Whether to center the text. <em>(since 0.12.4)</em></p></li>
833 <li><p><code>execp_padding = horizontal_padding vertical_padding spacing_between_icon_and_text</code> <em>(since 0.12.4)</em></p></li>
834 <li><p><code>execp_monitor = integer (1, 2, ...), primary or all</code> : On which monitor to draw the executor. The first monitor is <code>1</code>. <em>(since 17.0)</em></p></li>
835 <li><p><code>execp_lclick_command = text</code> : Command to execute on left click. If not defined, <code>execp_command</code> is executed immediately, unless it is currently running. <em>(since 0.12.4)</em></p></li>
836 <li><code>execp_mclick_command = text</code> : Command to execute on right click. If not defined, <code>execp_command</code> is executed immediately, unless it is currently running. <em>(since 0.12.4)</em></li>
837 <li><code>execp_rclick_command = text</code> : Command to execute on middle click. If not defined, <code>execp_command</code> is executed immediately, unless it is currently running. <em>(since 0.12.4)</em></li>
838 <li><code>execp_uwheel_command = text</code> : Command to execute on wheel scroll up. If not defined, <code>execp_command</code> is executed immediately, unless it is currently running. <em>(since 0.12.4)</em></li>
839 <li><p><code>execp_dwheel_command = text</code> : Command to execute on wheel scroll down. If not defined, <code>execp_command</code> is executed immediately, unless it is currently running. <em>(since 0.12.4)</em></p></li>
840 <li><p><code>execp_lclick_command_sink = integer (-1, 0 or positive)</code> : Command sink for execp_lclick_command. If not defined or -1 - command is executed in new shell. 0 - use sink for local executor (executors only). <em>(since 17.1)</em></p></li>
841 <li><code>execp_mclick_command_sink = integer (-1, 0 or positive)</code> : Command sink for execp_mclick_command. If not defined or -1 - command is executed in new shell. 0 - use sink for local executor (executors only). <em>(since 17.1)</em></li>
842 <li><code>execp_rclick_command_sink = integer (-1, 0 or positive)</code> : Command sink for execp_rclick_command. If not defined or -1 - command is executed in new shell. 0 - use sink for local executor (executors only). <em>(since 17.1)</em></li>
843 <li><code>execp_uwheel_command_sink = integer (-1, 0 or positive)</code> : Command sink for execp_uwheel_command. If not defined or -1 - command is executed in new shell. 0 - use sink for local executor (executors only). <em>(since 17.1)</em></li>
844 <li><code>execp_dwheel_command_sink = integer (-1, 0 or positive)</code> : Command sink for execp_dwheel_command. If not defined or -1 - command is executed in new shell. 0 - use sink for local executor (executors only). <em>(since 17.1)</em></li>
845 </ul>
848 <h4>Executor samples</h4>
850 <h5>Print the hostname</h5>
852 <p><code>
853 execp = new
854 execp_command = hostname
855 execp_interval = 0
856 </code></p>
858 <h5>Print disk usage for the root partition every 10 seconds</h5>
860 <p><code>
861 execp = new
862 execp_command = while df -h; do sleep 1; done | stdbuf -oL awk '$6 == "/" { print $6 ": " $2 " " $5 }'
863 execp_interval = 10
864 </code></p>
866 <h5>Button with icon and rich text, executes command when clicked</h5>
868 <p><code>
869 execp = new
870 execp_command = echo /usr/share/icons/elementary-xfce/emblems/24/emblem-colors-blue.png; echo '&lt;span foreground="#7f7"&gt;Click&lt;/span&gt; &lt;span foreground="#77f"&gt;me&lt;/span&gt; &lt;span foreground="#f77"&gt;pls&lt;/span&gt;'
871 execp_has_icon = 1
872 execp_interval = 0
873 execp_centered = 1
874 execp_font = sans 9
875 execp_markup = 1
876 execp_font_color = #aaffaa 100
877 execp_padding = 2 0
878 execp_tooltip = I will tell you a secret...
879 execp_lclick_command = zenity --info "--text=$(uname -sr)"
880 execp_background_id = 2
881 </code></p>
883 <h5>Desktop pager with text</h5>
885 <p><code>
886 execp = new
887 execp_command = xprop -root -spy | stdbuf -oL awk '/^_NET_CURRENT_DESKTOP/ { print "Workspace " ($3 + 1) }'
888 execp_interval = 1
889 execp_continuous = 1
890 </code></p>
892 <h5>Desktop pager with icon</h5>
894 <p><code>
895 execp_command = xprop -root -spy | stdbuf -oL awk -v home="$HOME" '/^_NET_CURRENT_DESKTOP/ { print home "/.config/myPager/" ($3 + 1) ".png\n" }'
896 execp_interval = 1
897 execp_has_icon = 1
898 execp_cache_icon = 1
899 execp_continuous = 2
900 </code></p>
902 <h5>Round-trip time to the gateway, refreshed every second</h5>
904 <p><code>
905 execp = new
906 execp_command = ping -i 1 -W 1 -O -D -n $(ip route | grep '^default.* via' | grep -o '[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*') | stdbuf -oL awk -F'[ =]' '/no answer/ { print "&lt;span foreground=\"#faa\"&gt;timeout&lt;/span&gt;" } /time=/ { printf "&lt;span foreground=\"#7af\"&gt;%3.0f %s&lt;/span&gt;\n", $11, $12 }'
907 execp_continuous = 1
908 execp_interval = 1
909 execp_markup = 1
910 </code></p>
912 <h5>Memory usage</h5>
914 <p>```</p>
916 <h1>Note the use of &ldquo;stdbuf -oL&rdquo; to force the program to flush the output line by line.</h1>
918 <p>execp = new
919 execp_command = free -b -s1 | stdbuf -oL awk &lsquo;/^Mem:/ { printf &ldquo;Mem: %s %.0f%%\n&rdquo;, $2, 100 * ($2 - $7) / $2 }&rsquo; | stdbuf -oL numfmt &ndash;to=iec-i &ndash;field=2 -d' &lsquo;
920 execp_interval = 1
921 execp_continuous = 1
922 ```</p>
924 <h4>X keyboard layout with icon and tooltip with</h4>
926 <p><code>
927 execp = new
928 execp_command = skb | stdbuf -oL -eL awk -v "c=$(tput -Tansi.sys-old clear)" '{ print "/usr/share/xxkb/"tolower(substr($1,0,2))"15.xpm"; print c$1 | "cat &gt;&amp;2" }'
929 execp_interval = 1
930 execp_continuous = 1
931 </code></p>
933 <h5>Network load</h5>
935 <p><code>
936 execp = new
937 execp_command = stdbuf -oL bwm-ng -o csv -t 1000 | stdbuf -oL awk -F ';' '/total/ { printf "Net: %.0f Mb/s\n", ($5*8/1.0e6) }'
938 execp_continuous = 1
939 execp_interval = 1
940 </code></p>
942 <h5>Dumb executor sink example</h5>
944 <p><code>
945 execp = new
946 execp_command = echo waiting; stdbuf -oL sed 's/^/Event:/'
947 execp_continuous = 1
948 execp_lclick_command = Left Button
949 execp_rclick_command = Right Button
950 execp_mclick_command = Middle Button
951 execp_uwheel_command = Scroll Up
952 execp_dwheel_command = Scroll Down
953 execp_lclick_command_sink = 0
954 execp_rclick_command_sink = 0
955 execp_mclick_command_sink = 0
956 execp_uwheel_command_sink = 0
957 execp_dwheel_command_sink = 0
958 </code></p>
960 <h3>Button</h3>
962 <ul>
963 <li><p><code>button = new</code> : Begins the configuration of a new button. Multiple such plugins are supported; just use multiple <code>P</code>s in <code>panel_items</code>. <em>(since 0.14)</em></p></li>
964 <li><p><code>button_icon = text</code> : Name or path of icon (or empty). <em>(since 0.14)</em></p></li>
965 <li><p><code>button_text = text</code> : Text to display (or empty). <em>(since 0.14)</em></p></li>
966 <li><p><code>button_tooltip = text</code> : The tooltip (or empty). <em>(since 0.14)</em></p></li>
967 <li><p><code>button_font = [FAMILY-LIST] [STYLE-OPTIONS] [SIZE]</code> : The font used to draw the text. <em>(since 0.14)</em></p></li>
968 <li><p><code>button_font_color = color opacity</code> : The font color. <em>(since 0.14)</em></p></li>
969 <li><p><code>button_background_id = integer</code> : Which background to use. <em>(since 0.14)</em></p></li>
970 <li><p><code>button_centered = boolean (0 or 1)</code> : Whether to center the text. <em>(since 0.14)</em></p></li>
971 <li><p><code>button_padding = horizontal_padding vertical_padding spacing_between_icon_and_text</code> <em>(since 0.14)</em></p></li>
972 <li><p><code>button_max_icon_size = integer</code> : Sets a limit to the icon size. Otherwise, the icon will expand to the edges. <em>(since 0.14)</em></p></li>
973 <li><p><code>button_lclick_command = text</code> : Command to execute on left click. If not defined, <code>execp_command</code> is executed immediately, unless it is currently running. <em>(since 0.14)</em></p></li>
974 <li><code>button_mclick_command = text</code> : Command to execute on right click. If not defined, <code>execp_command</code> is executed immediately, unless it is currently running. <em>(since 0.14)</em></li>
975 <li><code>button_rclick_command = text</code> : Command to execute on middle click. If not defined, <code>execp_command</code> is executed immediately, unless it is currently running. <em>(since 0.14)</em></li>
976 <li><code>button_uwheel_command = text</code> : Command to execute on wheel scroll up. If not defined, <code>execp_command</code> is executed immediately, unless it is currently running. <em>(since 0.14)</em></li>
977 <li><code>button_dwheel_command = text</code> : Command to execute on wheel scroll down. If not defined, <code>execp_command</code> is executed immediately, unless it is currently running. <em>(since 0.14)</em></li>
978 </ul>
981 <h3>Separator</h3>
983 <ul>
984 <li><p><code>separator = new</code> : Begins the configuration of a new separator. Multiple such plugins are supported; just use multiple <code>:</code>s in <code>panel_items</code>. <em>(since 0.13.0)</em></p></li>
985 <li><p><code>separator_background_id = integer</code> : Which background to use. <em>(since 0.13.0)</em></p></li>
986 <li><p><code>separator_color = color opacity</code> : The foreground color. <em>(since 0.13.0)</em></p></li>
987 <li><p><code>separator_style = [empty | line | dots]</code> : The separator style. <em>(since 0.13.0)</em></p></li>
988 <li><p><code>separator_size = integer</code> : The thickness of the separator. Does not include the border and padding. For example, if the style is <code>line</code>, this is the line thickness; if the style is <code>dots</code>, this is the dot&rsquo;s diameter. <em>(since 0.13.0)</em></p></li>
989 <li><p><code>separator_padding = side_padding cap_padding</code> : The padding to add to the sides of the separator, in pixels. <em>(since 0.13.0)</em></p></li>
990 </ul>
993 <h3>Example configuration</h3>
995 <p>See /etc/xdg/tint2/tint2rc.</p>
997 <h2>AUTHOR</h2>
999 <p>tint2 was written by Thierry Lorthiois <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#108;&#111;&#114;&#116;&#104;&#105;&#111;&#105;&#115;&#64;&#98;&#98;&#115;&#111;&#102;&#116;&#46;&#102;&#114;">&#108;&#111;&#114;&#116;&#104;&#105;&#111;&#105;&#115;&#64;&#98;&#98;&#115;&#111;&#102;&#116;&#46;&#102;&#114;</a>.
1000 It is based on ttm, originally written by Pål Staurland <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#115;&#116;&#97;&#117;&#114;&#97;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;">&#115;&#116;&#97;&#117;&#114;&#97;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;</a>.</p>
1002 <p>This manual page was originally written by Daniel Moerner <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#100;&#109;&#111;&#101;&#114;&#110;&#101;&#114;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;">&#100;&#109;&#111;&#101;&#114;&#110;&#101;&#114;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;</a>, for the Debian project (but may be used by others).
1003 It was adopted from the tint2 docs.</p>
1005 <h2>SEE ALSO</h2>
1007 <p>The main website https://gitlab.com/nick87720z/tint2
1008 and the wiki page at https://gitlab.com/o9000/tint2/wikis/home.</p>
1010 <p>This documentation is also provided in HTML and Markdown format in the system&rsquo;s default location
1011 for documentation files, usually <code>/usr/share/doc/tint2</code> or <code>/usr/local/share/doc/tint2</code>.</p>
1012 </body>
1013 </html>