| Commit message (Collapse) | Author | Age |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
(cherry picked from commit d19810eba8959f052d91fd6609cef6adf36b3951)
|
|
|
|
|
|
|
| |
This is a more suitable place to track the requesting seat, since we are
able to respond appropriately to destroy notifications.
(cherry picked from commit f6d22f8e6886edfeca3ecbb695b02079e81ce360)
|
|
|
|
|
|
|
|
| |
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
(cherry picked from commit ca40663d4277ade2a7dfec0484db5b7881799ee4)
|
|
|
|
|
|
| |
It's not possible to switch this at runtime.
(cherry picked from commit 93d391651c1ad43eb8b54449769e034eb1f2380c)
|
| |
|
|
|
|
|
|
|
| |
Otherwise, an error will be shown whenever reloading due to the value of
primary_selection being reset to true.
(cherry picked from commit 6b2aa8324681b2623f660c3851397761df9b70dc)
|
| |
|
|
|
|
|
|
|
|
| |
This doesn't catch the error if a background changing command is
executed via swaymsg, but improves logging.
The additional checks at least propagate if e.g. forking failed.
(cherry picked from commit c8676fad54bb0f4152947a6781626872bfa6ad64)
|
| |
|
|
|
|
|
|
|
|
|
| |
swaybg is out-of-tree so not relevant here. swaybar's tray doesn't
actually depend on gdk-pixbuf, but gdk-pixbuf enables more image
formats for swaybar tray when available.
Closes: https://github.com/swaywm/sway/issues/7913
(cherry picked from commit ae33f4eb37a8ee647907e4fef72c6a488b8b1138)
|
|
|
|
|
|
|
| |
Allowing sandboxed clients to request DRM leases has security
implications.
(cherry picked from commit c5fd8c050f7ddbfe3e5b7abc8f5f6ace3a3c5307)
|
|
|
|
| |
(cherry picked from commit fa294a9094b673e99e5de0c456dc5a6b9ff7db55)
|
|
|
|
|
| |
Closes: https://github.com/swaywm/sway/issues/7890
(cherry picked from commit 95265fba59bce77ed52a74fcc21abf7f668c01b2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since output layout is destroyed when the wayland display is destroyed
we run into a destroy listener order problem: Either the display starts
destroying the outputs first, in which case we're good: The existing
handling will clean up. However, things go wrong if the display decides
to destroy the output layout first. In this case, sway will hold
invalid references to the output layout as part of each output so that
when it finally goes to destroy them, sway will dereference destroyed
output layout bits.
Ref: https://github.com/swaywm/sway/pull/6844#issuecomment-1843599513
(cherry picked from commit bbabb9aae8d7b7771d02489b6f20301cf1c090c9)
|
|
|
|
| |
(cherry picked from commit 255ff665c53c8d042bce0c4cff4081d2bd35beeb)
|
|
|
|
|
|
|
|
| |
When override-redirect changes, we need to setup/teardown listeners,
just like we do for map.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3773
(cherry picked from commit bf2b79b2845a070d84aafaf95e6cfcf9af7eeb9b)
|
|
|
|
|
|
| |
Make it extra extra extra clear, because I had to stumbled upon https://github.com/swaywm/sway/issues/3292 to understand this.
(cherry picked from commit ae3acf26f81c0d46f065aeb4860922883a97e1d0)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`gcc-14` added a new warning around dangerous use of `strncpy()` withi
known overflow:
../sway/config.c: In function 'do_var_replacement':
../sway/config.c:983:33: error: '__builtin___strncpy_chk' specified bound depends on the length of the source argument [-Werror=stringop-truncation]
983 | strncpy(newptr, var->value, vvlen);
| ^
../sway/config.c:971:45: note: length computed here
971 | int vvlen = strlen(var->value);
| ^~~~~~~~~~~~~~~~~~
It's a bit fishy to rely on truncating behaviour of `strncpy()`. The
change uses `memcpy()` as more explicit way to express copy of `vvlen`
bytes.
(cherry picked from commit 2cd73a33c26ea6510a2f50359b1c550cd9b4fead)
|
| |
|
| |
|
|
|
|
| |
This has been dropped from wlroots. Previous commit missed that.
|
|
|
|
|
|
|
| |
As a first step, deny access to privileged protocols to sandboxed
apps.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3589
|
|
|
|
| |
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3679
|
|
|
|
|
|
| |
Remove any existing executed criteria items at unmap time. If a window
gets unmapped but not destroyed, we want to reapply 'for_window'
criteria. Fixes #6905.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit afde6369
"seat: avoid unneeded reloading xcursor theme".
Always avoiding to reload the xcursor theme prevents reloading the
cursor even when this is desired. Instead seat_configure_xcursor
can determine whether a full reload is necessary.
To stay with the spirit of the reverted change, cursors are only fully
reloaded, if the theme has changed.
Fixes #6931
|
|
|
|
| |
This is now unused.
|
|
|
|
|
|
| |
Fully reconfiguring all input devices on output change takes a
loooong time. Let's just reconfigure what we need: only mappings
depend on outputs.
|
|
|
|
| |
seat_apply_input_mapping is a lot more descriptive.
|
|
|
|
|
| |
Switch devices cannot be mapped to an output/region, stop trying
to do so.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`gcc-14` added a new `-Walloc-size` warning that makes sure that size of
an individual element matches size of a pointed type:
https://gcc.gnu.org/PR71219
`sway` triggers it on `calloc()` calls where member size is used as
`1` (instead of member count):
swaynag/config.c:169:65: error: allocation of insufficient size '1'
for type 'struct swaynag_button' with size '48' [-Werror=alloc-size]
169 | struct swaynag_button *button = calloc(sizeof(struct swaynag_button), 1);
|
|
|
|
|
| |
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4411
fix #7802
|
|
|
|
| |
wlroots doesn't do it automatically anymore.
|
|
|
|
|
|
|
|
|
|
| |
3d5ae9813d390ea747462fc0026ee43b7c77d0f2 added logic to change the
underlying wlr_toplevel size for floating containers, but it does it
even if the container has no actual coordinates yet. This doesn't really
make sense to update the toplevel size in this case since there's many
things that could affect the initial coordinates (sway commands,
fullscreen state, etc.). Skip this by doing a crude check to see if the
current container state has any width.
|
|
|
|
|
| |
wlr_surface_has_buffer() is insufficient; if a client has committed a
buffer but it couldn't be applied, NULL deref happens in the next line.
|
|
|
|
|
|
|
|
|
|
|
| |
Previous behavior was that only if resolution and refresh rate match
exactly, the mode was accepted. As fallback, the mode with the highest
refresh rate and the same resolution was chosen.
New behavior is that the mode with the closest match for the refresh
rate is used with a limit of up to 1Hz. The fallback behavior stays the same.
Additionally, the logging was made more verbose.
|
| |
|
| |
|
| |
|
|
|
|
| |
We support the standard idle-notify protocol since Sway 1.8.
|
| |
|
|
|
|
|
|
|
| |
- Optional since Sway 1.6 per swaywm/wlroots@bad1e9afa8ea
- Deprecated in Sway 1.7 per 67d3d952b6cd
- Removed in Sway 1.8 per e5728052b59f
- Ignored in future versions (keeps root priveleges)
|
| |
|
|
|
|
|
|
| |
Matches all views. i3 PR: https://github.com/i3/i3/pull/4460
Fixes #7110
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using the `map_from_region` for pen tables, we will usually make
the available area as big as possible while maintaining the proportions
with the screen.
As most of the tablets uses a 16:10 ratios while the most popular screen
ratios is still 16:9, the argument for most people should be `0x0 1x0.9`
to have the maximum effective area.
However, the argument above won't work because the current code will
treat `0x...` as a hexadecimal number, instead of setting both `x` and
`y` to `0`.
This fix allows the use of the following syntax:
```
input type:tablet_tool {
map_from_region 0x0 1x0.9
}
```
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a floating client resizes itself, sway updates several of its
internal dimensions to match but not wlr_toplevel. This means that the
next time wlroots sends a toplevel configure event, it can have wrong
coordinates that resize the client back to its old size. To fix this,
let's just use wlr_xdg_toplevel_set_size so the wlr_toplevel has the
same dimensions as sway.
Exactly the same as 0183b9d35d0ce750588e700e536b7d2e367b0d0a but the
logic is onlly applied to xdg_shell and not xwayland.
|
|
|
|
|
|
|
|
| |
This isn't the right fix for this issue because the xwayland code also
uses this function and updating the wlr_toplevel there doesn't make
sense and also causes problems. Fixes #7722.
This reverts commit bf44690ee8ce8438ffb1a84fbe6e8dbb6a851c04.
|