tint2 - lightweight panel/taskbar
tint2 is a simple panel/taskbar made for modern X window managers. It was specifically made for Openbox but it should also work with other window managers (GNOME, KDE, XFCE etc.).
Features:
Goals:
tint2 [OPTION...]
-c path_to_config_file-v, --version-h, --helpThese are instructions for configuring tint2 directly by editing its config file.
You may also use instead the graphical interface tint2conf.
The first time you run tint2, it will create the config file in $HOME/.config/tint2/tint2rc (This applies if you have done a clean install. Running tint2 in the source directory without doing 'make install' will not create the config file.)
You can also specify another file on the command line with the -c option, e.g.: tint2 -c $HOME/tint2.conf. This can be used to run multiple instances of tint2 that use different settings.
If you change the config file while tint2 is running, the command killall -SIGUSR1 tint2 will force tint2 to reload it.
All the configuration options supported in the config file are listed below. Try to respect as much as possible the order of the options as given below.
The tint2 config file starts with the options defining background elements with borders:
rounded = number_of_pixels : the corner radius
border_width = integer : the border width in pixels
border_sides = LRTB : the sides to draw the border on (left, right, top, bottom). If not specified, all sides are used. (since 0.12.12)
background_color = color opacity
color is specified in hex RGB, e.g. #ff0000 is redopacity 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).border_color = color opacity
color is specified in hex RGB, e.g. #ff0000 is redopacity varies from (0 to 100), where 0 is fully transparent, 100 is fully opaquebackground_color_hover = color opacity (default: same as background_color) (since 0.12.3)
color is specified in hex RGB, e.g. #ff0000 is redopacity 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)border_color_hover = color opacity (default: same as border_color) (since 0.12.3)
color is specified in hex RGB, e.g. #ff0000 is redopacity varies from (0 to 100), where 0 is fully transparent, 100 is fully opaquebackground_color_pressed = color opacity (default: same as background_color_hover) (since 0.12.3)
color is specified in hex RGB, e.g. #ff0000 is redopacity 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)border_color_pressed = color opacity (default: same as border_color_hover) (since 0.12.3)
color is specified in hex RGB, e.g. #ff0000 is redopacity varies from (0 to 100), where 0 is fully transparent, 100 is fully opaqueborder_content_tint_weight = integer : 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). (since 16.0)
background_content_tint_weight = integer : 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). (since 16.0)
You can define as many backgrounds as you want. For example, the following config defines two backgrounds:
rounded = 1
border_width = 0
background_color = #282828 100
border_color = #000000 0
rounded = 1
border_width = 0
background_color = #f6b655 90
border_color = #cccccc 40
tint2 automatically identifies each background with a number starting from 1 (1, 2, ...). Afterwards, you can apply a background to objects (panel, taskbar, task, clock, systray) using the background id, for example:
panel_background_id = 1
taskbar_background_id = 0
task_background_id = 0
task_active_background_id = 2
systray_background_id = 0
clock_background_id = 0
Identifier 0 refers to a special background which is fully transparent, identifier 1 applies the first background defined in the config file etc.
(Available since 0.13.0)
Backgrounds also allow specifying gradient layers that are drawn on top of the solid color background.
First the user must define one or more gradients in the config file,
each starting with gradient = TYPE. These must be added before backgrounds.
Then gradients can be added by index to backgrounds,
using the gradient_id = INDEX, gradient_id_hover = INDEX and
gradient_id_pressed = INDEX, where INDEX is
the gradient index, starting from 1.
Gradients vary the color between fixed control points: * vertical gradients: top-to-bottom; * horizontal gradients: left-to-right; * radial gradients: center-to-corners.
The user must specify the start and end colors, and can optionally add extra color stops in between
using the color_stop option, as explained below.
gradient = vertical
start_color = #rrggbb opacity
end_color = #rrggbb opacity
gradient = horizontal
start_color = #rrggbb opacity
end_color = #rrggbb opacity
gradient = radial
start_color = #rrggbb opacity
end_color = #rrggbb opacity
color_stop = percentage #rrggbb opacity
# Gradient 1: thin film effect
gradient = horizontal
start_color = #111122 30
end_color = #112211 30
color_stop = 60 #221111 30
# Gradient 2: radial glow
gradient = radial
start_color = #ffffff 20
end_color = #ffffff 0
# Gradient 3: elegant black
gradient = vertical
start_color = #444444 100
end_color = #222222 100
# Gradient 4: elegant black
gradient = horizontal
start_color = #111111 100
end_color = #222222 100
# Background 1: Active desktop name
rounded = 2
border_width = 1
border_sides = TBLR
background_color = #555555 10
border_color = #ffffff 60
background_color_hover = #555555 10
border_color_hover = #ffffff 60
background_color_pressed = #555555 10
border_color_pressed = #ffffff 60
gradient_id = 3
gradient_id_hover = 4
gradient_id_pressed = 2
[...]
panel_items = LTSBC defines the items tint2 will show and the order of those items. Each letter refers to an item, defined as:
L shows the LauncherT shows the TaskbarS shows the Systray (also called notification area)B shows the Battery statusC shows the ClockF adds an extensible spacer (freespace). You can specify more than one. Has no effect if T is also present. (since 0.12)E adds an executor plugin. You can specify more than one. (since 0.12.4)P adds a push button. You can specify more than one. (since 0.14): adds a separator. You can specify more than one. (since 0.13.0)For example, panel_items = STC will show the systray, the taskbar and the clock (from left to right).
panel_monitor = monitor (all or primary or 1 or 2 or ...) : Which monitor tint2 draws the panel on
1panel_monitor = all to get a separate panel per monitorprimary_monitor_first = boolean (0 or 1) : Place the primary monitor before all the other monitors in the list. (since 0.12.4; removed in 1.0, use primary instead)

panel_position = vertical_position horizontal_position orientation
vertical_position is one of: bottom, top, centerhorizontal_position is one of: left, right, centerorientation is one of: horizontal, verticalpanel_size = width height
width and height can be specified without units (e.g. 123) as pixels, or followed by % as percentages of the monitor size (e.g. 50%). Use 100% for full monitor width/height.
Example:scale_relative_to_dpi = integer : 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.
scale_relative_to_screen_height = integer : Similar to scale_relative_to_dpi, except the scaling factor is computed as the ratio between the monitor height and scale_relative_to_screen_height. The effect is cumulative with scale_relative_to_dpi, i.e. if both options are present, the factors are multiplied.
# The panel's width is 94% the size of the monitor, the height is 30 pixels:
panel_size = 94% 30
panel_shrink = boolean (0 or 1) : If set to 1, the panel will shrink to a compact size dynamically. (since 0.13)
panel_margin = horizontal_margin vertical_margin : The margins define the distance between the panel and the horizontal/vertical monitor edge. Use 0 to obtain a panel with the same size as the edge of the monitor (no margin).

panel_padding = horizontal_padding vertical_padding spacing : Please refer to the image below.
font_shadow = boolean (0 or 1)
panel_background_id = integer : Which background to use for the panel.
wm_menu = boolean (0 or 1) : 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.
panel_dock = boolean (0 or 1) : Defines if tint2 is placed into the window manager'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).
panel_layer = bottom/normal/top : 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.
strut_policy = follow_size/minimum/none : STRUTs are used by the window manager to decide the size of maximized windows. Note: on multi-monitor (Xinerama) setups, the panel must be placed at the edge (not in the middle) of the virtual screen for this to work correctly.
follow_size means that the maximized windows always resize to have a common edge with tint2.minimum means that the maximized windows always expand to have a common edge with the hidden panel. This is useful if the autohide option is enabled.none means that the maximized windows use the full screen size.panel_window_name = string : Defines the name of the panel's window. Default: 'tint2'. (since 0.12)
disable_transparency = boolean (0 or 1) : Whether to disable transparency instead of detecting if it is supported. Useful on broken graphics stacks. (since 0.12)
mouse_effects = boolean (0 or 1) : Whether to enable mouse hover effects for clickable items. (since 0.12.3)
mouse_hover_icon_asb = alpha (0 to 100) saturation (-100 to 100) brightness (-100 to 100) : Adjusts the icon color and transparency on mouse hover (works only when mouse_effects = 1).` (since 0.12.3)
mouse_pressed_icon_asb = alpha (0 to 100) saturation (-100 to 100) brightness (-100 to 100) : Adjusts the icon color and transparency on mouse press (works only when mouse_effects = 1).` (since 0.12.3)
autohide = boolean (0 or 1) : Whether to enable panel hiding when the mouse cursor exists the panel.
autohide_show_timeout = float : Show timeout in seconds after the mouse cursor enters the panel. Use '.' as decimal separator.
autohide_hide_timeout = float : Hide timeout in seconds after the mouse cursor exits the panel. Use '.' as decimal separator.
autohide_height = integer : panel height (width for vertical panels) in hidden mode.
launcher_item_app = path_to_application : Each launcher_item_app must be a file path to a .desktop file following the freedesktop.org specification. The paths may begin with ~, which is expanded to the path of the user's home directory. If only a file name is specified, the file is search in the standard application directories ($XDG_DATA_HOME/applications, ~/.local/share/applications, $XDG_DATA_DIRS/applications, /usr/local/share/applications, /usr/share/applications, /opt/share/applications).
launcher_apps_dir = path_to_directory : 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 ~, which is expanded to the path of the user's home directory. (since 0.12)
launcher_background_id = integer : Defines which background to use.
launcher_icon_background_id = integer : Defines which background to use for icons.
launcher_padding = horizontal_padding vertical_padding spacing
launcher_icon_size = integer : The launcher icon size, in pixels.
launcher_icon_theme = name_of_theme : (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 launcher_icon_theme_override = 1.
launcher_icon_theme_override = boolean (0 or 1) : Whether launcher_icon_theme overrides the value obtained from the XSETTINGS manager. (since 0.12)
launcher_icon_asb = alpha (0 to 100) saturation (-100 to 100) brightness (-100 to 100) : Adjusts the icon color and transparency.
launcher_tooltip = boolean (0 or 1) : Whether to show tooltips for the launcher icons.
startup_notifications = boolean (0 or 1) : Whether to show startup notifications when starting applications from the launcher. (since 0.12)
taskbar_mode = single_desktop/multi_desktop
single_desktop : Shows a normal taskbar listing the tasks running on the current virtual desktop (also known as 'workspace');multi_desktop : Pager like capability. Shows multiple taskbars, one per virtual desktop, with which:
taskbar_hide_if_empty = boolean (0 or 1) : If enabled, in multi-desktop mode the taskbars corresponding to empty desktops different from the current desktop are hidden. (since 0.13)
taskbar_distribute_size = boolean (0 or 1) : If enabled, in multi-desktop mode distributes between taskbars the available size proportionally to the number of tasks. Default: disabled. (since 0.12)
taskbar_padding = horizontal_padding vertical_padding spacing

taskbar_background_id = integer : Which background to use
taskbar_active_background_id = integer : Which background to use for the taskbar of the current virtual desktop.
taskbar_hide_inactive_tasks = boolean (0 or 1) : If enabled, the taskbar shows only the active task. (since 0.12)
taskbar_hide_different_monitor = boolean (0 or 1) : 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. (since 0.12)
taskbar_hide_different_desktop = boolean (0 or 1) : 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. (since 1.0)