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.
It is not really useful for other output backends and just results
in no outputs being enabled at all. (This is mainly an annoyance for
developers normally running with drm but occasionally nested.)
In addition to <snapping><range>, <snapping><cornerRange> configures the
distance from the screen corner to trigger quater window snapping.
Also, new values "up-left", "up-right", "down-left" and "down-right" are
allowed for <action name="(Toggle)SnapToEdge" direction="[value]"> and
<query tiled="[value]">.
This revises the changes done in 22d319c:
- Cancel defaulting to <dragLock>sticky<dragLock>. So labwc now disables
drag-lock by default, as libinput does.
- Update the options from [yes|no|sticky] to [timeout|no|yes] to
emphasize that the "sticky" mode (now "yes") is recommended when using
drag-lock.
...because Alt- keybinds should be for clients to use and the A-<arrow>
default combination is a frequent user complaint because it prevents some
common usage patterns like alt-left/right in web browers.
...to enable/disable primary selection clipboard support. This only works
on launch.
The reason it is useful to be able to disable this is that some clients
(like browsers) support middle-button-click to start scrolling up/down.
With some clients can be disabled via
gsettings set org.gnome.desktop.interface gtk-enable-primary-paste false
...but for others (like chromium and electron based programs) a compositor
setting is required.
Fixes: #2815
The default window switcher layout is updated from:
<windowSwitcher>
<fields>
<field content="type" width="25%" />
<field content="trimmed_identifier" width="25%" />
<field content="title" width="50%" />
</fields>
</windowSwitcher>
to:
<windowSwitcher>
<fields>
<field content="icon" width="5%" />
<field content="desktop_entry_name" width="30%" />
<field content="title" width="65%" />
</fields>
</windowSwitcher>
Only desktop entry name and title are shown when libsfdo is not linked.
Eliminate corner extents and instead use cursor position to map SSD
borders and extents to corner contexts, with a size configurable by the
<resize><cornerRange> parameter. This simplifies extent handling,
eliminates bugs in the detection of corner context, and allows users to
expand corner targets if they wish.
Co-authored-by: Andrew J. Hesford <ajh@sideband.org>
This commit adds <theme><fallbackAppIcon> that configures the icon name
to be used when lookups for an application icon is failed. Its default
value is set as 'labwc' which shows our labwc logo.
Currently, labwc automatically enables outputs at startup and when new
outputs are connected. Make this behavior optional (but still enabled by
default).
With autoEnableOutputs disabled, tools such as kanshi can be used to
give finer-grained control of which outputs are enabled and when.
...to avoid surprises on Acer Aspire One laptops where the numeric
keyboard does not physically exist but "overlaps" the qwerty keyboard.
Reported-by: staryvyr on IRC
Note: We do not like changing defaults, but feel that there is a good
reason for this one.