Changes the default behavior to show windows from all outputs instead
of only the cursor's output.
- Updated default value in documentation from "no" to "yes"
- Inverted parsing logic: allOutputs="no" now enables output filtering
- Removed LAB_VIEW_CRITERIA_CURSOR_OUTPUT from default criteria flags
Users who prefer the previous behavior (output filtering) can now set
allOutputs="no" in their configuration.
Introduces a new configuration option for the window switcher
that allows users to filter windows by output (monitor).
Changes:
- Added `allOutputs` attribute to <windowSwitcher>
- Default is "no" (only shows windows on the cursor's output)
- When set to "yes", shows windows from all outputs
- Introduced LAB_VIEW_CRITERIA_CURSOR_OUTPUT flag to filter views by output
- Windows are matched against the output nearest to the cursor
- Bit positions of existing criteria flags shifted to accommodate new flag
- Modified OSD display behavior to show only on the cursor's output
- Previously, the OSD would appear on all outputs simultaneously
- Now displays only on the output nearest to the cursor location
This provides better multi-monitor support by allowing users to focus on
windows relevant to their current screen, reducing visual clutter when
working across multiple displays.
Before this commit, output transformations were not taken into account for
parcent-based osd widths like:
osd.window-switcher.style-classic.width: 80%
osd.window-switcher.style-thumbnail.width.max: 80%
Removing newlines in rc.xml and menu.xml caused parser error with
following content:
<!--
-
- Some comments
-
-->
...though it is a valid XML.
Let's not do that. I moved `grab_file()` to `buf.c` and renamed it to
`buf_from_file()`, because it now directly touches `struct buf` and
I don't like having a source file only for one function.
The new `--keyboard-focus [none|on-demand|exclusive]` option (default:
`none`) allows to some keyboard controls in labnag:
Right-arrow or Tab: move the button selection to the right
Left-arrow or Shift-Tab: move the button selection to the left
Enter: press the selected button
Escape: close labnag
The selected button is highlighted with the inner 1px border. Maybe we can
instead use different colors for the selected button, but I prefer the
inner border for now because it doesn't require us to add new color
options or make them inherit labwc's theme.
The if-statement doesn't make sense, because `view_get_string_prop()`
never returns NULL. And if it did, it would cause segfault in
`osd_thumbnail_update()`.
This commit adds new theme options:
- osd.window-switcher.style-classic.item.active.border.color
- osd.window-switcher.style-classic.item.active.bg.color
These theme options configures the border/background of selected window
item in the `classic` style window switcher. Their default values are
identical to `thumbnail` style window switcher, which means the default
border color is now `osd.label.text.color` with 50% opacity and the
default background color is now `osd.label.text.color` with 15% opacity.
In 2ac4811, I was missing that windows can be tiled to "center".
As a result, after executing
`<action name="SnapToEdge" combined="yes" direction="left" />` against a
center-tiled window, `view->tiled` is set to `CENTER|LEFT`.