A full man<->code consistency audit surfaced options, format placeholders
and CSS classes that were implemented but undocumented, documented but not
implemented (some causing fmt crashes when copied from examples), and
defaults that disagreed with the code. This aligns the docs with the code
and fixes a few genuine code gaps.
Docs:
- Add the missing waybar-user(5) man page (and register it in meson.build)
- Document previously-undocumented options/placeholders/CSS across many
modules (custom image-path/image-name/icon-size, graph_type/width/
datapoints; battery smooth-power; wireplumber format-source/only-physical;
mpris {position}/prefer-album-artist; network {signalStrengthApp}/compact
bandwidth; pulseaudio {source_volume}/{source_desc}; upower {temperature}/
{model}/{native-path}; wwan {power_state}/{imei}; tray ignore-list; and
many CSS state classes: .sink-muted, .source-muted, .workspace-hover, etc.)
- Correct documented defaults to match the code (hyprland format {name},
gamemode {count}, cpu-graph interval 5, cava input_delay 4, niri taskbar
icon-size 16, disk/gps/wayfire formats, menu-actions object type, ...)
- Remove placeholders/options that do not apply (custom-graph {icon}/format/
format-icons/rotate) and fix crashing examples (wwan {mode}, gps
format-no-fix); note cava background/foreground/continuous_rendering are
cava-config-file options
Code:
- bluetooth: accept the documented `controller` key as a synonym of
`controller-alias` (the option was silently ignored)
- mango/workspaces: supply the documented `{name}` fmt arg (was missing ->
fmt::format threw)
- privacy: read `tooltip` as a bool (was guarded on isString(), so the
documented `tooltip: false` was silently ignored)
All man pages validated with scdoc 1.11.4. Not compiled locally (no gtkmm);
C++ build relies on CI.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
117 lines
2.9 KiB
Scdoc
117 lines
2.9 KiB
Scdoc
waybar-hyprland-language(5)
|
||
|
||
# NAME
|
||
|
||
waybar - hyprland language module
|
||
|
||
# DESCRIPTION
|
||
|
||
The *language* module displays the currently selected language.
|
||
|
||
# CONFIGURATION
|
||
|
||
Addressed by *hyprland/language*
|
||
|
||
*format*: ++
|
||
typeof: string ++
|
||
default: {} ++
|
||
The format, how information should be displayed.
|
||
|
||
*format-<lang>* ++
|
||
typeof: string++
|
||
Provide an alternative name to display per language where <lang> is the language of your choosing. Can be passed multiple times with multiple languages as shown by the example below.
|
||
|
||
*format-<lang>-<variant>* ++
|
||
typeof: string ++
|
||
Like *format-<lang>* but also matches the layout variant, taking precedence over *format-<lang>* when both the language and variant match.
|
||
|
||
*keyboard-name*: ++
|
||
typeof: string ++
|
||
Specifies which keyboard to use from hyprctl devices output. Using the option that begins with "at-translated-set..." is recommended.
|
||
|
||
*menu*: ++
|
||
typeof: string ++
|
||
Action that popups the menu.
|
||
|
||
*menu-file*: ++
|
||
typeof: string ++
|
||
Location of the menu descriptor file. There need to be an element of type
|
||
GtkMenu with id *menu*
|
||
|
||
*menu-actions*: ++
|
||
typeof: array ++
|
||
The actions corresponding to the buttons of the menu.
|
||
|
||
*tooltip*: ++
|
||
typeof: boolean ++
|
||
default: true ++
|
||
Enables or disables the tooltip for the language module. By default, the tooltip is enabled. Set to *false* to disable.
|
||
|
||
*tooltip-format*: ++
|
||
typeof: string ++
|
||
default: {long} ++
|
||
Specifies the format of the tooltip when it is enabled. It follows the same format replacement rules as the *format* key.
|
||
|
||
*tooltip-format-<lang>*: ++
|
||
typeof: string ++
|
||
Allows specifying a different tooltip format for each language. The *<lang>* should be replaced with the language code. This can be used to provide a custom tooltip for each language.
|
||
|
||
*tooltip-format-<lang>-<variant>*: ++
|
||
typeof: string ++
|
||
Like *tooltip-format-<lang>* but also matches the layout variant, taking precedence over *tooltip-format-<lang>* when both the language and variant match.
|
||
|
||
*expand*: ++
|
||
typeof: bool ++
|
||
default: false ++
|
||
Enables this module to consume all left over space dynamically.
|
||
|
||
|
||
# FORMAT REPLACEMENTS
|
||
|
||
*{short}*: Short name of layout (e.g. "us").
|
||
|
||
*{shortDescription}*: Short description of layout (e.g. "en").
|
||
|
||
*{long}*: Long name of layout (e.g. "English (Dvorak)").
|
||
|
||
*{variant}*: Variant of layout (e.g. "dvorak").
|
||
|
||
|
||
# EXAMPLES
|
||
|
||
```
|
||
"hyprland/language": {
|
||
"format": "Lang: {long}",
|
||
"format-en": "AMERICA, HELL YEAH!",
|
||
"format-tr": "As bayrakları",
|
||
"keyboard-name": "at-translated-set-2-keyboard"
|
||
}
|
||
```
|
||
|
||
```
|
||
"hyprland/language": {
|
||
"format": "{}",
|
||
"format-en": "US",
|
||
"format-es": "ES",
|
||
"tooltip": true,
|
||
"tooltip-format": "{long}"
|
||
}
|
||
```
|
||
|
||
```
|
||
"hyprland/language": {
|
||
"format": "{}",
|
||
"format-en": "US",
|
||
"format-es": "ES",
|
||
"tooltip": true,
|
||
"tooltip-format": "{}",
|
||
"tooltip-format-es": "{Español}",
|
||
"tooltip-format-en": "{English (american)}"
|
||
}
|
||
```
|
||
|
||
# STYLE
|
||
|
||
- *#language*
|
||
- *#language.<layout>* (per-layout class derived from the layout short name, e.g. '.us')
|