aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2023-05-02render: Don't pass matrix into render_textureAlexander Orzechowski-26/+13
2023-05-02render: pass rendering state together in a structAlexander Orzechowski-159/+156
This lets us easily add rendering state that we need in the future
2023-04-16xdg_shell: Fix crash if popup generates while toplevel is in the scratchpadAlexander Orzechowski-1/+7
2023-04-14Use format_str() throughoutSimon Ser-134/+39
2023-04-14common/gesture: use format_str()Simon Ser-24/+7
We already had a similar function in there.
2023-04-14swaynag: add printf attribute to swaynag_log()Simon Ser-1/+2
2023-04-14config: add printf attribute to config_add_swaynag_warning()Simon Ser-1/+2
2023-04-14commands: add printf attribute to cmd_results_new()Simon Ser-58/+63
And fix the resulting build failures.
2023-04-14commands/floating_minmax_size: fix error stringsSimon Ser-3/+3
cmd_results_new() does not take the command name as argument.
2023-04-14pango: add printf attributeSimon Ser-2/+4
This allows the compiler to catch mismatches between the format string and the arguments passed in. Need to add -Wno-format-zero-length because we pass an empty string on purpose in swaybar/render.c.
2023-04-14Add format_str() and vformat_str()Simon Ser-0/+42
Simple helpers to allocate and format a string.
2023-04-14Use output_match_name_or_id() in workspace functionsSimon Ser-21/+4
2023-04-14Use output_match_name_or_id() in apply_output_config_to_outputs()Simon Ser-5/+11
2023-04-14Use all_output_by_name_or_id() in merge_id_on_name()Simon Ser-17/+11
No need to iterate over the outputs manually.
2023-04-14Introduce output_match_name_or_id()Simon Ser-8/+10
Reduces code duplication.
2023-04-14Fix old style function definitionsElyes Haouas-2/+2
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
2023-04-14Set output damage during direct scan-outSimon Ser-5/+5
During direct scan-out, pass the damaged region to the wlroots backend.
2023-04-14Skip direct scan-out commit when damage is emptySimon Ser-5/+5
When there is no damage, no need to perform an output commit, even when direct scan-out is used.
2023-04-14Pass version to wlr_compositor_create()Simon Ser-1/+1
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3696
2023-04-06Chase wlroots!4067Alexander Orzechowski-0/+4
2023-04-06Remove duplicate wlr_damage_ring_set_bounds() callSimon Ser-5/+0
We already do this in handle_commit().
2023-04-06Fix damage-ring bounds not being set when unplugging -> plugging in monitorErik Reider-3/+3
#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
2023-04-02swaybar: Lift background clearing out of main rendering functionAlexander Orzechowski-13/+14
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.
2023-04-02swaybar: Set opaque region properlyAlexander Orzechowski-0/+2
The opaque region is set incorrectly if updated on-the-fly if switching from an opaque to a non opaque background.
2023-03-27ipc: add LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM entrySimon Ser-0/+10
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)) { | ^~~~~~
2023-03-26Add a .mailmap fileRonan Pigott-0/+1
2023-03-26man: deprecate seat cursor move/set/press/releaseSimon Ser-0/+4
The Wayland protocol better serves this purpose, and is supported by more compositors.
2023-03-26Init the damage_ring bounds on output creationErik Reider-0/+3
Otherwise the initial bounds would be `INT_MAX` until `handle_mode` or `handle_commit` is called :)
2023-03-24root: Set inactive focus when scratchpad is moved to new workspaceAnkit Pandey-1/+7
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.
2023-03-14root: Try to preserve relative positions of floating containersAnkit Pandey-15/+68
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.
2023-03-11man: add warning for hide_cursor configurationStanislav Ochotnický-0/+4
See https://github.com/swaywm/sway/issues/6297
2023-02-28ci: add libdisplay-info dependencySimon Zeni-0/+3
2023-02-28Disable direct scanout for surfaces with popupsnovenary-0/+6
2023-02-27sway{,bar}: use default font hint stylellyyr-3/+0
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.
2023-02-25fix typorj1-1/+1
2023-02-22Allow windows in scratchpad to set the urgent flagRobin Jarry-6/+7
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.
2023-02-22Check for empty damage before attaching render bufferSimon Ser-6/+5
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().
2023-02-22Move output commit out of output_render()Simon Ser-33/+38
That way output_render() only does what it says on the tin.
2023-02-22Constify pixman_region32_t for rendering functionsSimon Ser-29/+29
2023-02-22Adjust scale for fractional-scale-v1Simon Ser-0/+10
2023-02-20Implement seatop_touchStacy Harper-48/+187
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.
2023-02-20layer-shell: enter output before surface is mappedSimon Ser-1/+2
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.
2023-02-20Update surface fractional scale on output changeSimon Ser-1/+9
Closes: https://github.com/swaywm/sway/issues/7464
2023-02-19container: rehome the container_swap function into container.cRonan Pigott-174/+175
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.
2023-02-18Fix map_to_output * turning off deviceDaniel Hill-1/+2
Signed-off-by: Daniel Hill <daniel@gluo.nz>
2023-02-10Add support for fractional-scale-v1Simon Ser-0/+16
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3511
2023-02-10Introduce surface_{enter,leave}_output()Simon Ser-11/+30
We can centralize all output-related surface events from there.
2023-02-10Clarify documentation for window_rectŁukasz Adamczak-2/+3
2023-02-10Correct window_rect.y with hide_edge_bordersŁukasz Adamczak-1/+1
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.
2023-02-09xdg-activation: fix urgency when the client does not specify a seatRonan Pigott-5/+2
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)