aboutsummaryrefslogtreecommitdiffstats
path: root/sway
Commit message (Collapse)AuthorAge
...
* Detect Nvidia proprietary driver via drmGetVersion()Libravatar Simon Ser2023-12-12
| | | | | This is less punishing for users with the Nvidia driver loaded but not used by Sway (e.g. for CUDA).
* Drop fglrx detectionLibravatar Simon Ser2023-12-12
| | | | | This ancient driver doesn't do KMS. So we were never able to run with it anyways.
* sway: raise error on non-accessible background fileLibravatar Tamino Bauknecht2023-12-12
|
* desktop/xwayland: correctly handle association on o-r changeLibravatar Simon Ser2023-12-06
| | | | | | | 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
* Update sway.5.scdLibravatar mrusme2023-12-04
| | | Make it extra extra extra clear, because I had to stumbled upon https://github.com/swaywm/sway/issues/3292 to understand this.
* Don't destroy output layout on exitLibravatar Alexander Orzechowski2023-12-01
| | | | wlroots will destroy this object itself.
* sway/config.c: use `memcpy()` for known buffer sizeLibravatar Sergei Trofimovich2023-11-29
| | | | | | | | | | | | | | | | | `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.
* xdg-shell: chase events updateLibravatar Kirill Primak2023-11-23
|
* Pass wl_display to wlr_output_layoutLibravatar Simon Ser2023-11-23
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4310
* Add wlr/util/transform.h includesLibravatar Simon Ser2023-11-23
| | | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4097 Closes: https://github.com/swaywm/sway/issues/7830
* Chase wlroots!4440Libravatar llyyr2023-11-22
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4440
* Fix reference to wlr_output_event_commit.committedLibravatar Simon Ser2023-11-21
| | | | This has been dropped from wlroots. Previous commit missed that.
* Add support for security-context-v1Libravatar Simon Ser2023-11-21
| | | | | | | As a first step, deny access to privileged protocols to sandboxed apps. References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3589
* Apply gamma LUT when an output re-enabledLibravatar Simon Ser2023-11-21
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3679
* view: re-apply criteria when window gets unmappedLibravatar EBADBEEF2023-11-21
| | | | | | 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.
* seat: Fix cursor theme reload for tablet toolLibravatar NemuiBanila2023-11-21
|
* seat: Fix reloading cursor theme after changeLibravatar Lina Banik2023-11-21
| | | | | | | | | | | | | 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
* input/input-manager: drop input_manager_configure_all_inputsLibravatar Simon Ser2023-11-16
| | | | This is now unused.
* Only reconfigure input mappings on output changeLibravatar Simon Ser2023-11-16
| | | | | | Fully reconfiguring all input devices on output change takes a loooong time. Let's just reconfigure what we need: only mappings depend on outputs.
* input/seat: rename seat_apply_input_configLibravatar Simon Ser2023-11-16
| | | | seat_apply_input_mapping is a lot more descriptive.
* input/seat: don't configure mappings for switchesLibravatar Simon Ser2023-11-16
| | | | | Switch devices cannot be mapped to an output/region, stop trying to do so.
* chase wlroots!4411Libravatar Bill Li2023-10-31
| | | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4411 fix #7802
* xdg-shell: send maximized if tiled isn't supportedLibravatar Kirill Primak2023-10-29
| | | | wlroots doesn't do it automatically anymore.
* xdg_shell: don't update wlr_toplevel if the container has no size yetLibravatar Dudemanguy2023-10-27
| | | | | | | | | | 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.
* view: check if the buffer was uploaded on saveLibravatar Kirill Primak2023-10-24
| | | | | 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.
* config/output: Allow approximation of output refresh rateLibravatar Tamino Bauknecht2023-10-23
| | | | | | | | | | | 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.
* Chase wlroots!4331Libravatar Alexander Orzechowski2023-10-06
|
* Update sway-input.5.scdLibravatar iff2023-10-05
|
* Drop support for KDE's idle protocolLibravatar Simon Ser2023-10-05
| | | | We support the standard idle-notify protocol since Sway 1.8.
* sway/server: Fix null pointer crash when Xwayland disabledLibravatar Manuel Stoeckl2023-09-10
|
* i3 compat: Adding support for the `all` criteriaLibravatar Johan Sköld2023-09-07
| | | | | | Matches all views. i3 PR: https://github.com/i3/i3/pull/4460 Fixes #7110
* commands/input/map_from_region: don't treat 0x prefix as hex identifierLibravatar iff2023-09-07
| | | | | | | | | | | | | | | | | | | | | 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 } ```
* xdg_shell: update wlr_toplevel size on client resizesLibravatar Dudemanguy2023-08-28
| | | | | | | | | | | | 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.
* Revert "view: update wlr_toplevel size on client resizes"Libravatar Dudemanguy2023-08-28
| | | | | | | | 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.
* view: update wlr_toplevel size on client resizesLibravatar Dudemanguy2023-08-26
| | | | | | | | | 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.
* Hide xwayland_shell_v1 from regular clientsLibravatar Simon Ser2023-08-24
| | | | | | | 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.
* chore: chase wlroots xdg-surface role reworkLibravatar Kirill Primak2023-08-21
|
* chase wlroots!4316Libravatar Leonardo Hernández Hernández2023-08-19
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4316
* Rebase all cursors in handle_surface_mapLibravatar ookami2023-07-31
| | | | Fix swaylock showing transient cursor after locked.
* output: drop current_modeLibravatar Simon Ser2023-07-31
| | | | This is now unused.
* desktop/output: fix output manager enabled stateLibravatar Simon Ser2023-07-31
| | | | | | | | | With recent wlroots changes, backends which don't support output modes can now support being disabled. We were always marking mode-less outputs as disabled. Stop doing that, check whether the output takes up some space in the layout instead.
* desktop/output: drop handle_mode()Libravatar Simon Ser2023-07-31
| | | | We already perform the exact same logic on transform/scale change.
* desktop/output: drop logic to handle backend-applied modeLibravatar Simon Ser2023-07-31
| | | | | The wlroots backends no longer magically apply output modes behind the compositor's back.
* Add support for cursor-shape-v1Libravatar Simon Ser2023-07-24
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4106
* fix crash when resizing tiled scratchpad windowsLibravatar bretello2023-07-23
| | | | | | | Splitting and then hiding a scratchpad container results in a segfault. fixes #6693
* Deprecate seat idle_wakeLibravatar Simon Ser2023-07-19
| | | | | | | | | | | | | | | | | | | | | | | Sway has two knobs to control idling: - seat idle_inhibit: when the seat is active (ie. not idle), this extends the active state. When the seat is idle, this is ignored. - seat idle_wake: when the seat is idle, this wakes up the seat. When the seat is active, this is ignored. The motivation for the deprecation is two-fold: - The concept of "seat idle state" is ill-defined. Each idle-notify-v1 client will pass a different idle timeout. With the old logic, a seat was declared idle if and only if all idle-notify-v1 timeouts have expired. However, if only a portion of the timeouts have expired, then some clients would wake up, and the rest would stay active. This is inconsistent with the definition of idle_inhibit/idle_wake: idle_inhibit was used for clients which are waking up. - It never worked properly with the new idle-notify-v1 protocol and no-one noticed. Only the legacy KDE idle protocol is taken into account, but that protocol is not used anymore.
* chase wlroots 'presentation-time: add separate helper for zero-copy 'Libravatar Artturin2023-07-15
| | | | https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/67447d6cb407ac5b6405b4dbae01a38567feb111
* Calculate tiled resize amount relative to parent containerLibravatar nukoseer2023-07-13
| | | | | | | sway should shrinks/grows tiled windows according to parent container for ppt unit for i3 compatibility. Resolves: #7593
* Send wl_surface.preferred_buffer_scaleLibravatar Simon Ser2023-07-12
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3696
* input: Move wlr_pointer_gestures_v1 to sway_input_managerLibravatar Mark Bolhuis2023-06-26
| | | | | | | | On multi-seat configurations a zwp_pointer_gestures_v1 global was created for every seat. Instead, create the global once in the input manager, to be shared across all seats.