Replace the single `mode` option with separate `keyboard_focus_animation`
and `mouse_focus_animation` settings, leveraging `Desktop::eFocusReason`
to distinguish focus source. This allows different effects (or none) for
keyboard vs mouse focus changes.
New config options:
- `enable` — toggle the plugin on/off
- `animate_floating` — control whether floating windows animate
- `keyboard_focus_animation` — animation for keyboard focus (default: flash)
- `mouse_focus_animation` — animation for mouse focus (default: none)
Renamed `bounce` → `shrink` and `bounce_strength` → `shrink_percentage`
for clarity. Preserves existing `only_on_monitor_change`, `fade_opacity`,
and `slide_height` options.
Hyprland's renderText() accepts a Pango weight parameter, but hyprbars
never passed one, so titles always rendered at weight 400. The font
family alone cannot disambiguate weight for variable fonts (e.g.
Adwaita Sans) where every weight shares the same family name and
pango_font_description_set_family_static() ignores style tokens in
the family string.
Add a bar_text_weight config (default 400 = Regular) and plumb it
through to renderText().
* hyprexpo: Fixes for 40d8fa8
* csgo-vulkan-fix: Fixes for 40d8fa8
* hyprbars: Fixes for 40d8fa8
I am not entirely sure whether I was supposed to use fullWindowFocus()
or rawWindowFocus() in hyprbars/barDeco.cpp at line 220
* xtra-dispatchers: Fixes for 40d8fa8
I am not entirely sure whether I was supposed to use fullWindowFocus()
or rawWindowFocus() in xtra-dispatchers/main.cpp at lines 47 and 106
* hyprscrolling: Fixes for 40d8fa8
A lot of repeated code can be removed if it's safe to store
`Desktop::focusState()`, `Desktop::focusState()->monitor()` and
`Desktop::focusState()->window()` at the top of the
`CScrollingLayout::findBestNeighbor` function.
This change requires further review as I don't know if any of those
change during this function so I didn't wanna introduce any unexpected
issues.
I am not entirely sure whether I was supposed to use fullWindowFocus()
or rawWindowFocus() in xtra-dispatchers/main.cpp at lines 786, 789 and
1344