waybar-sway-window(5)

NAME

waybar - sway window module

DESCRIPTION

The window module displays the title of the currently focused window in Sway

CONFIGURATION

Addressed by sway/window

format:
    typeof: string
    default: {title}
    The format, how information should be displayed.

rotate:
    typeof: integer
    Positive value to rotate the text label.

max-length:
    typeof: integer
    The maximum length in character the module should display.

min-length:
    typeof: integer
    The minimum length in characters the module should accept.

align:
    typeof: float
    The alignment of the label within the module, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text.

justify:
    typeof: string
    The alignment of the text within the module's label, allowing options 'left', 'right', or 'center' to define the positioning.

on-click:
    typeof: string
    Command to execute when clicked on the module.

on-click-middle:
    typeof: string
    Command to execute when middle-clicked on the module using mousewheel.

on-click-right:
    typeof: string
    Command to execute when you right-click on the module.

on-update:
    typeof: string
    Command to execute when the module is updated.

on-scroll-up:
    typeof: string
    Command to execute when scrolling up on the module.

on-scroll-down:
    typeof: string
    Command to execute when scrolling down on the module.

smooth-scrolling-threshold:
    typeof: double
    Threshold to be used when scrolling.

tooltip:
    typeof: bool
    default: true
    Option to disable tooltip on hover.

all-outputs:
    typeof: bool
    default: false
    Option to show the focused window along with its workspace styles on all outputs.

offscreen-css:
    typeof: bool
    default: false
    Only effective when all-outputs is true. Adds style according to present windows on unfocused outputs instead of showing the focused window and style.

offscreen-css-text:
    typeof: string
    Only effective when both all-outputs and offscreen-style are true. On screens currently not focused, show the given text along with that workspace styles.

show-focused-workspace-name:
    typeof: bool
    default: false
    If the workspace itself is focused and the workspace contains nodes or floating_nodes, show the workspace name. If not set, text remains empty but styles according to nodes in the workspace are still applied.

rewrite:
    typeof: object
    Rules to rewrite the module format output. See rewrite rules.

icon:
    typeof: bool
    default: false
    Option to hide the application icon.

icon-size:
    typeof: integer
    default: 24
    Option to change the size of the application icon.

FORMAT REPLACEMENTS

{title}: The title of the focused window.

{app_id}: The app_id of the focused window.

{shell}: The shell of the focused window. It's 'xwayland' when the window is running through xwayland, otherwise, it's 'xdg-shell'.

REWRITE RULES

rewrite is an object where keys are regular expressions and values are rewrite rules if the expression matches. Rules may contain references to captures of the expression.

Regular expression and replacement follow ECMA-script rules.

If no expression matches, the format output is left unchanged.

Invalid expressions (e.g., mismatched parentheses) are skipped.

EXAMPLES

    "sway/window": {
    	"format": "{}",
    	"max-length": 50,
    	"rewrite": {
    		"(.*) - Mozilla Firefox": "🌎 $1",
    		"(.*) - zsh": "> [$1]"
    	}
    }

STYLE

•   #window

The following classes are applied to the entire Waybar rather than just the window widget:

•   window#waybar.empty When no windows are in the workspace, or screen is not focused and offscreen-css option is not set
•   window#waybar.solo When one tiled window is in the workspace
•   window#waybar.floating When there are only floating windows in the workspace
•   window#waybar.stacked When there is more than one window in the workspace and the workspace layout is stacked
•   window#waybar.tabbed When there is more than one window in the workspace and the workspace layout is tabbed
•   window#waybar.tiled When there is more than one window in the workspace and the workspace layout is splith or splitv
•   window#waybar.<app_id> Where app_id is the app_id or instance name like (chromium) of the only window in the workspace