summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2024-02-24build: bump version to 1.91.9Furkan Sahin-1/+1
2024-02-17build: bump version to 1.9-rc.41.9-rc4Furkan Sahin-1/+1
2023-12-26xdg-activation: distinguish activation and urgency requestsFurkan Sahin-1/+18
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)
2024-02-07launcher: track the seat in the launcher ctxFurkan Sahin-6/+31
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)
2024-02-15Fix build with wlroots DRM backend disabledFurkan Sahin-1/+0
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)
2024-02-05commands: make primary_selection a config-only commandFurkan Sahin-1/+1
It's not possible to switch this at runtime. (cherry picked from commit 93d391651c1ad43eb8b54449769e034eb1f2380c)
2024-02-09build: bump version to 1.9-rc.31.9-rc3Furkan Sahin-1/+1
2024-02-03sway/config.c: only reset primary_selection at launchFurkan Sahin-0/+5
Otherwise, an error will be shown whenever reloading due to the value of primary_selection being reset to true. (cherry picked from commit 6b2aa8324681b2623f660c3851397761df9b70dc)
2024-02-02build: bump version to 1.9-rc.21.9-rc2Furkan Sahin-1/+1
2023-12-12sway/output: Improve logging of swaybg execvp failure and more checksFurkan Sahin-4/+10
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)
2024-01-26build: bump version to 1.9-rc.11.9-rc1Furkan Sahin-1/+1
2024-01-19Clarify gdk-pixbuf dependency purposeFurkan Sahin-2/+2
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)
2024-01-04Mark DRM lease protocol privilegedFurkan Sahin-0/+11
Allowing sandboxed clients to request DRM leases has security implications. (cherry picked from commit c5fd8c050f7ddbfe3e5b7abc8f5f6ace3a3c5307)
2023-12-04readme: add swaybg as optional depFurkan Sahin-0/+2
(cherry picked from commit fa294a9094b673e99e5de0c456dc5a6b9ff7db55)
2023-12-30input: reconfigure send_events on output hotplugFurkan Sahin-18/+46
Closes: https://github.com/swaywm/sway/issues/7890 (cherry picked from commit 95265fba59bce77ed52a74fcc21abf7f668c01b2)
2023-12-06output: Destroy when output layout is destroyedFurkan Sahin-2/+15
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)
2023-12-12sway: raise error on non-accessible background fileFurkan Sahin-0/+3
(cherry picked from commit 255ff665c53c8d042bce0c4cff4081d2bd35beeb)
2023-12-05desktop/xwayland: correctly handle association on o-r changeFurkan Sahin-2/+21
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)
2023-09-16Update sway.5.scdFurkan Sahin-1/+2
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)
2023-11-28sway/config.c: use `memcpy()` for known buffer sizeFurkan Sahin-1/+1
`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)
2023-11-22ci: checkout wlroots 0.17Furkan Sahin-3/+3
2023-10-23Use locale time format for default bar commandFurkan Sahin-1/+1
2023-11-21Fix reference to wlr_output_event_commit.committedFurkan Sahin-1/+1
This has been dropped from wlroots. Previous commit missed that.
2023-06-22Add support for security-context-v1Furkan Sahin-4/+38
As a first step, deny access to privileged protocols to sandboxed apps. References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3589
2023-10-05Apply gamma LUT when an output re-enabledFurkan Sahin-0/+5
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3679
2023-10-20view: re-apply criteria when window gets unmappedFurkan Sahin-0/+2
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.
2023-09-26seat: Fix cursor theme reload for tablet toolFurkan Sahin-3/+1
2022-06-06seat: Fix reloading cursor theme after changeFurkan Sahin-20/+19
This reverts commit 76624221 "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
2023-11-16input/input-manager: drop input_manager_configure_all_inputsFurkan Sahin-9/+0
This is now unused.
2023-11-16Only reconfigure input mappings on output changeFurkan Sahin-5/+38
Fully reconfiguring all input devices on output change takes a loooong time. Let's just reconfigure what we need: only mappings depend on outputs.
2023-11-16input/seat: rename seat_apply_input_configFurkan Sahin-5/+5
seat_apply_input_mapping is a lot more descriptive.
2023-11-16input/seat: don't configure mappings for switchesFurkan Sahin-1/+0
Switch devices cannot be mapped to an output/region, stop trying to do so.
2023-11-03swaynag/config.c: fix build against gcc-14 (-Walloc-size)Furkan Sahin-1/+1
`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);
2023-10-31chase wlroots!4411Furkan Sahin-3/+1
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4411 fix #7802
2023-10-29xdg-shell: send maximized if tiled isn't supportedFurkan Sahin-5/+12
wlroots doesn't do it automatically anymore.
2023-10-07xdg_shell: don't update wlr_toplevel if the container has no size yetFurkan Sahin-2/+5
9974e5cb92f963b4f47fb04adde79a79b5e12b50 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.
2023-10-24view: check if the buffer was uploaded on saveFurkan Sahin-1/+1
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.
2023-10-18config/output: Allow approximation of output refresh rateFurkan Sahin-10/+17
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.
2023-10-18gitignore: Ignore clangd-generated directory .cache/Furkan Sahin-0/+1
2023-10-06Chase wlroots!4331Furkan Sahin-4/+9
2023-09-10Update sway-input.5.scdFurkan Sahin-5/+10
2023-06-19Drop support for KDE's idle protocolFurkan Sahin-11/+0
We support the standard idle-notify protocol since Sway 1.8.
2023-09-14Translate README to ArabicFurkan Sahin-1/+93
2023-09-12readme: Stop recommending setuid bit for non-logind systemsFurkan Sahin-149/+0
- Optional since Sway 1.6 per swaywm/wlroots@bad1e9afa8ea - Deprecated in Sway 1.7 per 2570ed78b097 - Removed in Sway 1.8 per 301d2d21227d - Ignored in future versions (keeps root priveleges)
2023-09-09sway/server: Fix null pointer crash when Xwayland disabledFurkan Sahin-1/+1
2023-09-01i3 compat: Adding support for the `all` criteriaFurkan Sahin-3/+14
Matches all views. i3 PR: https://github.com/i3/i3/pull/4460 Fixes #7110
2023-09-07commands/input/map_from_region: don't treat 0x prefix as hex identifierFurkan Sahin-4/+14
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 } ```
2023-08-30build: fix build with wayland-scanner subprojectFurkan Sahin-1/+1
2023-08-28xdg_shell: update wlr_toplevel size on client resizesFurkan Sahin-0/+2
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.
2023-08-28Revert "view: update wlr_toplevel size on client resizes"Furkan Sahin-5/+0
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 7bbcf20ded00b4d661fe6a4843cdeb230873018a.