aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
* Skip direct scan-out commit when damage is emptyLibravatar Simon Ser2023-04-14
| | | | | When there is no damage, no need to perform an output commit, even when direct scan-out is used.
* Pass version to wlr_compositor_create()Libravatar Simon Ser2023-04-14
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3696
* Chase wlroots!4067Libravatar Alexander Orzechowski2023-04-06
|
* Remove duplicate wlr_damage_ring_set_bounds() callLibravatar Simon Ser2023-04-06
| | | | We already do this in handle_commit().
* Fix damage-ring bounds not being set when unplugging -> plugging in monitorLibravatar Erik Reider2023-04-06
| | | | | | #7524 was a partial fix. Seems like this is still an issue when unplugging and plugging the monitor back in. Closes: https://github.com/swaywm/sway/issues/7528
* swaybar: Lift background clearing out of main rendering functionLibravatar Alexander Orzechowski2023-04-02
| | | | | | | | | This avoids us from using a bogus background_color value that mutates as swaybar renders things and deciding opacity depending on that. Also remove a redundant full surface clear. Just directly write our desired background color.
* swaybar: Set opaque region properlyLibravatar Alexander Orzechowski2023-04-02
| | | | The opaque region is set incorrectly if updated on-the-fly if switching from an opaque to a non opaque background.
* ipc: add LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM entryLibravatar Simon Ser2023-03-27
| | | | | | | | | | This was introduced in the last libinput release. Fixes the following error: ../sway/ipc-json.c:928:17: error: enumeration value 'LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM' not handled in switch [-Werror=switch] 928 | switch (libinput_device_config_accel_get_profile(device)) { | ^~~~~~
* Add a .mailmap fileLibravatar Ronan Pigott2023-03-26
|
* man: deprecate seat cursor move/set/press/releaseLibravatar Simon Ser2023-03-26
| | | | | The Wayland protocol better serves this purpose, and is supported by more compositors.
* Init the damage_ring bounds on output creationLibravatar Erik Reider2023-03-26
| | | Otherwise the initial bounds would be `INT_MAX` until `handle_mode` or `handle_commit` is called :)
* root: Set inactive focus when scratchpad is moved to new workspaceLibravatar Ankit Pandey2023-03-24
| | | | | | | Fixes an issue where an already visible scratchpad window being moved due to 'scratchpad show' leaves the entire workspace at the top of the focus stack in the old workspace. Moving by 'focus output' back to the old workspace would focus the entire workspace instead of just the last active container.
* root: Try to preserve relative positions of floating containersLibravatar Ankit Pandey2023-03-14
| | | | | | | | | | | | | | | This makes the behavior of floating containers more consistent with i3. The coordinates of the container are scaled when the size of the workspace it is on changes or when the container is moved between workspaces on different outputs. For scratchpad containers, add a new state that preserves the dimensions of the last output the window appeared on. This is necessary because after a container is hidden in the scratchpad, we expect it to be in the same relative position on the output when it reappears. We can't just use the container's attached workspace because that workspace's dimensions might have been changed or the workspace as a whole could have been destroyed.
* man: add warning for hide_cursor configurationLibravatar Stanislav Ochotnický2023-03-11
| | | | See https://github.com/swaywm/sway/issues/6297
* ci: add libdisplay-info dependencyLibravatar Simon Zeni2023-02-28
|
* Disable direct scanout for surfaces with popupsLibravatar novenary2023-02-28
|
* sway{,bar}: use default font hint styleLibravatar llyyr2023-02-27
| | | | | | | | | | CAIRO_HINT_STYLE_FULL attempts to maximize contrast at the expense of fidelity, this makes most fonts that haven't been hand hinted, which makes up the majority of fonts out there, appear much worse. In the absence of explicitly set hint style, cairo will default to CAIRO_HINT_STYLE_SLIGHT, which attempts to improve contrast while retaining fidelity to the original shapes, which is what we want.
* fix typoLibravatar rj12023-02-25
|
* Allow windows in scratchpad to set the urgent flagLibravatar Robin Jarry2023-02-22
| | | | | | | | | | When a window in the scratchpad container requests for xdg_activation_v1, it is ignored no matter what the value of focus_on_window_activation is. At least allow windows in the scratchpad to set the urgent flag. When focus_on_window_activation is set to "focus", show the parent scratchpad where the contained requested for xdg_activation_v1.
* Check for empty damage before attaching render bufferLibravatar Simon Ser2023-02-22
| | | | | | Check whether output->damage_ring.current is empty before calling wlr_output_attach_render(). Saves us from having to un-do that via wlr_output_rollback().
* Move output commit out of output_render()Libravatar Simon Ser2023-02-22
| | | | That way output_render() only does what it says on the tin.
* Constify pixman_region32_t for rendering functionsLibravatar Simon Ser2023-02-22
|
* Adjust scale for fractional-scale-v1Libravatar Simon Ser2023-02-22
|
* Implement seatop_touchLibravatar Stacy Harper2023-02-20
| | | | | | | | | | Atm we got issue with the touch position sent to the clients. While holding contact, leaving the initial container will continue to send motion event to the client but with the new local position from the new container. This seatop goal is to send the position of the touch event, relatively to the initial container layout position.
* layer-shell: enter output before surface is mappedLibravatar Simon Ser2023-02-20
| | | | | | This sends fractional-scale-v1 events before the first configure event. That way clients have all of the metadata they need to render the first frame.
* Update surface fractional scale on output changeLibravatar Simon Ser2023-02-20
| | | | Closes: https://github.com/swaywm/sway/issues/7464
* container: rehome the container_swap function into container.cLibravatar Ronan Pigott2023-02-19
| | | | | | | | | | | This function was already declared in container.h but defined in commands/swap.c for some unknown reason. Everything in commands/ assumes the handler context has been set appropriately by the command preludes but this function snuck its way into seatop_* which doesn't set anything in the handler context. The fact that the seatop drag actions manipulate the focus without custody of the seat means they are definitely very broken in multiseat.
* Fix map_to_output * turning off deviceLibravatar Daniel Hill2023-02-18
| | | | Signed-off-by: Daniel Hill <daniel@gluo.nz>
* Add support for fractional-scale-v1Libravatar Simon Ser2023-02-10
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3511
* Introduce surface_{enter,leave}_output()Libravatar Simon Ser2023-02-10
| | | | We can centralize all output-related surface events from there.
* Clarify documentation for window_rectLibravatar Łukasz Adamczak2023-02-10
|
* Correct window_rect.y with hide_edge_bordersLibravatar Łukasz Adamczak2023-02-10
| | | | | | | | | | | With `hide_edge_borders both` (or at least `vertical`), `window_rect.y` will equal `border_thickness` for SOME windows, but it will be 0 for windows adjacent to top screen edge. Therefore setting it to `border_thickness` is not sufficient. This commit changes it to the actual y offset of content into the container.
* xdg-activation: fix urgency when the client does not specify a seatLibravatar Ronan Pigott2023-02-09
| | | | | | | | | xdg-activation is now too strict in only allowing tokens with a seat to activate a surface. Clients may rely on this behavior for urgency hints. The seat argument is still useful in case the client does provide a seat so we can activate it on the desired seat. Fixes: 842609da6432 (view: make request_activate take a seat, 2022-11-30)
* Use wlr_linux_dmabuf_feedback_v1_init_with_options()Libravatar Simon Ser2023-02-07
| | | | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3933 Closes: https://github.com/swaywm/sway/issues/7436 Closes: https://github.com/swaywm/sway/pull/7437
* ipc: add ability to subscribe to output eventLibravatar Baltazár Radics2023-02-06
|
* launcher: support external launcher tokensLibravatar Ronan Pigott2023-02-05
|
* launcher: make launcher context seat awareLibravatar Ronan Pigott2023-02-05
|
* view: make request_activate take a seatLibravatar Ronan Pigott2023-02-05
| | | | | This way we can move focus on the same seat an activation token originates from.
* ci: install hwdata-dev on AlpineLibravatar Simon Ser2023-02-04
| | | | We're missing the pkg-config file so the DRM backend gets disabled.
* swaymsg: s/inactive/disabled/Libravatar Simon Ser2023-02-02
| | | | | | The JSON field is named "active", but that's confusing for users: `output disable` is the command which results in `active = false` outputs. Use the same terminology in end-user messages.
* swaymsg: print output power statusLibravatar Simon Ser2023-02-02
|
* Add Norwegian READMRLibravatar Radical2023-02-02
| | | | Added a Norwegian README file `README.no.md` and added a link to it in the original `README.md` file.
* Convert to *_try_from_wlr_surface()Libravatar Simon Ser2023-02-02
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3991
* root: free non_desktop_outputs list on root_destroyLibravatar Tobias Predel2023-02-02
| | | | | This fixes a memory leak because the non_desktop_outputs list was not freed when the root was destroyed.
* Convert to wlr_xwayland_surface_try_from_wlr_surface()Libravatar Simon Ser2023-02-01
| | | | | | Accomodate for the breaking changes in [1]. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/fbf5982e3838ee28b5345e98832f6956c402b225
* ipc: add support for output eventLibravatar Simon Ser2023-02-01
| | | | | | For compatibility with i3 [1]. [1]: https://i3wm.org/docs/ipc.html#_output_event
* Added reference for event types to swaymsg manpageLibravatar Cedric Sodhi2023-02-01
|
* Switch default menu to wmenuLibravatar Simon Ser2023-01-30
| | | | | | | | | | | Switch the default menu to wmeny (https://sr.ht/~adnano/wmenu), a Wayland-native alternative to dmenu. This removes the dependency on Xwayland for the default config. wmenu is small (same scope as dmenu) and has the same flags as dmenu. One downside is that it's not widely packaged by distributions yet. We still depend on dmenu_path.
* Apply new adaptive sync value from wlr-output-managementLibravatar Alexander Courtis2023-01-23
| | | | | | | | | | | | fixes #7394 Test cases: * zwlr_output_configuration_head_v1_set_adaptive_sync 0->0, no change * 0->1, enabled * 1->0, disabled * 1->1, no change Similar tests with an incapable display resulted in `"Adaptive sync failed, ignoring"` messages as expected.
* Check return value of wlr_renderer_begin()Libravatar Simon Ser2023-01-21
| | | | | | | | | | Since [1], wlr_renderer_begin() can fail. Check its return value and bail. This fixes an assertion error (when begin() fails and then we try to render something) after a GPU reset. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/a541c9510a4cf544313bc9b0503d75820b42444e