Status Bar
Jay includes a built-in bar that displays workspace tabs, status text, tray
icons (via wl-tray-bridge), and a
clock. The status text is provided by an external program that you configure
in the [status] table.
Configuring a Status Program
The [status] table has three fields:
format- Message format:
plain,pango, ori3bar. Optional. exec- How to start the program (string, array, or table). Required.
i3bar-separator- Separator between i3bar components (default
" | "). Optional.
Format
plain- Plain text output
pango- Output containing Pango markup
i3bar- JSON output in i3bar protocol format
Exec
The exec field accepts the same forms used elsewhere in the configuration:
- String – the program name:
exec = "i3status" - Array – program and arguments:
exec = ["i3status", "-c", "~/.config/i3status/config"] - Table – full control over program, arguments, and environment (see the spec for details)
Example: i3status
i3status is a popular status line generator.
[status]
format = "i3bar"
exec = "i3status"
Note
i3status defaults to plain-text output. You must explicitly configure it to use i3bar format by adding
output_format = "i3bar"to your~/.config/i3status/config:general { output_format = "i3bar" }
Example: Custom Script
A simple shell script that prints the date every second:
[status]
format = "plain"
exec = { shell = "while true; do date '+%Y-%m-%d %H:%M:%S'; sleep 1; done" }
Changing the Status Program at Runtime
The set-status action lets you switch the status program from a shortcut.
Omit the status field to reset the status text to empty.
[shortcuts]
# Switch to i3status
alt-F10 = {
type = "set-status",
status = {
format = "i3bar",
exec = "i3status",
},
}
# Clear the status text
alt-F11 = { type = "set-status" }
Bar Appearance
The bar’s visual appearance (height, background color, text color, position, and
font) is configured in the [theme] table. See the
Theme & Appearance chapter for details. The bar can be shown or
hidden with the show-bar top-level setting or the toggle-bar action.