summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
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.
2023-07-15view: update wlr_toplevel size on client resizesFurkan Sahin-0/+5
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. Fixes #5266.
2023-06-22Hide xwayland_shell_v1 from regular clientsFurkan Sahin-0/+15
Regular clients are not allowed to use this interface. wlroots already sends a protocol error if a non-Xwayland client tries to use this interface, but let's remove all temptation by hiding it completely.
2023-08-23Fix typoFurkan Sahin-1/+1
2023-07-26chore: chase wlroots xdg-surface role reworkFurkan Sahin-7/+8
2023-08-19chase wlroots!4316Furkan Sahin-2/+2
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4316
2023-04-14Move contrib/ to separate repositoryFurkan Sahin-550/+0
User-contributed scripts are being moved over to this repository: https://github.com/OctopusET/sway-contrib
2023-07-29Rebase all cursors in handle_surface_mapFurkan Sahin-0/+2
Fix swaylock showing transient cursor after locked.
2023-07-31output: drop current_modeFurkan Sahin-7/+0
This is now unused.