| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Output configuration can be applied to a particular output in three
ways: As a wildcard, by connector name and by identifier. This in turn
means that three different configurations must be handled at any given
time.
In the current model, this is managed by merging new configuration into
every other matching configuration. At the same time, an additional
synthetic configuration is made which matchehes both identifier and name
at the same time, further complicating logic.
Instead, manage and store each configuration independently and merge
them in order when retrieving configuration for an output. When changes
are made to a less specific configuration, clear these fields from more
specific configurations to allow the change to take effect regardless of
precedence.
Fixes: https://github.com/swaywm/sway/issues/8048
|
|
|
|
| |
This PR implements alternative human-readable names for the logo key
(Mod4) as proposed in #8084.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without this change, i see the following in the sway-ipc manpage:
```
9. GET_CONFIG
MESSAGE
Retrieve the contents of the config that was last loaded
REPLY
An object with a single string property containing the contents of the
config
Example Reply:
{
"config": "set $mod Mod4nbindsym $mod+q exitn"
}
```
|
|
|
|
| |
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4613
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
apply_output_config_to_outputs uses the specified output config to check
which outputs to apply to, and to use as backup when no config is found.
If any config matches the output, the specified config will be
disregarded.
The only remaining user of apply_output_config_to_outputs is
reset_outputs, which called apply_output_config_to_outputs with either
the first stored wildcard config, or a new empty wildcard config.
Providing a stored or empty wildcard config is practically the same as
calling `apply_all_output_configs`. Replace uses of `reset_outputs` with
`apply_all_output_configs` and remove the now unused functions.
|
| |
|
| |
|
|
|
|
|
| |
This allows us to test and if necessary degrade the entire backend
configuration to light everything up.
|
|
|
|
|
|
| |
Apply all output configs as they are. This differs from
apply_output_config_to_outputs, which tries to apply a specific output
config.
|
|
|
|
|
|
|
| |
Introduce apply_output_configs, which applies the specified matched
output configs as a single backend commit.
Reimplement apply_output_config_to_outputs using apply_output_configs.
|
|
|
|
|
|
|
|
|
| |
Applying an output config has two stages: Atomic application of
wlr_output_state, and applicaiton of non-atomic state like output
layout.
Split the latter out into finalize_output_config for use in a later
commit.
|
| |
|
| |
|
|
|
|
|
|
| |
fractional-scale only supports representing fractions of 120.
References: https://github.com/swaywm/sway/issues/8057
|
|
|
|
|
| |
With the fractional-scale protocol, clients can render without
being downscaled.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Same as [1].
I originally tried to properly handle seat destruction, but that
turned out to be a can of worms [2].
[1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4590
[2]: https://github.com/swaywm/sway/pull/8034
|
| |
|
|
|
|
|
| |
This was useful when wlroots backends were updating the current
mode on their own. This is no longer the case.
|
| |
|
| |
|
|
|
|
| |
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4582
|
| |
|
|
|
|
|
|
|
|
| |
If we can't create the XKB keymap used for keysym translation,
gracefully error out instead of crashing. This can happen if the
XKB_DEFAULT_LAYOUT is set to an invalid value, for instance.
Closes: https://github.com/swaywm/sway/issues/7789
|
|
|
|
|
|
|
|
|
|
| |
My code archaeology isn't good enough to determine what this is here
for, but it isn't correct. We should be able to move containers in a
direction without focusing them. AFAICT i3 doesn't do this, so we
shouldn't either.
This fixes ipc commands like move <dir> with criteria that apply to
containers which are not the current focus.
|
|
|
|
|
|
|
| |
wlroots has changed the naming, causing the following build errors when
building:
error: ‘WLR_INPUT_DEVICE_TABLET_TOOL’ undeclared
|
|
|
|
| |
See previous commit. This restores ipc parity with i3.
|
|
|
|
|
|
| |
i3 has had this property for over a decade but it wasn't documented
until a couple of years ago, so it was likely missed when developing
sway. Add the property to get us closer to ipc parity with i3.
|
|
|
|
| |
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4575
|
| |
|
| |
|
|
|
|
| |
See discussion in https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4555
|
| |
|
| |
|
|
|
| |
Co-authored-by: tadeokondrak <me@tadeo.ca>
|
|
|
|
|
|
|
|
|
| |
Check if the app that requested a token has provided a valid input
serial and a focused surface. Downgrade activation request to urgency
otherwise.
This is mostly in line with what other Wayland compositors decided to
do, and offers a better security than the original logic.
|
|
|
|
|
| |
This is a more suitable place to track the requesting seat, since we are
able to respond appropriately to destroy notifications.
|
| |
|
|
|
|
|
|
|
| |
The header is not installed by wlroots when the DRM backend is
disabled. We don't need it here, so don't include it.
Closes: https://github.com/swaywm/sway/issues/7943
|
|
|
|
| |
It's not used and causes a crash when a view is destroyed.
|
|
|
|
|
|
|
|
| |
We tried to synchronize layer shell popups with the parent layer shell
on commits, but this is subtly wrong because we would only update
the position for one layer shell that was committed, but not any other
layer that might be affected. By moving handling to the scene descriptor
we can iterate all popups and ensure they are synchronized.
|
| |
|
| |
|
|
|
|
| |
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4543
|
| |
|
|
|
|
| |
It's not possible to switch this at runtime.
|
| |
|