aboutsummaryrefslogtreecommitdiff
path: root/sway/desktop
AgeCommit message (Collapse)Author
2023-06-08Handle gamma-control-v1 set_gamma eventsSimon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4046
2023-06-06Add support for wlr-layer-shell ON_DEMAND keyboard interactivityErik Reider
This allows for layer shell surfaces to receive focus while the surface is explicitly focused, i.e allowing text fields to receive keyboard input just like a regular surface.
2023-06-05chase wlroots wlr_renderer_begin_buffer_pass changeArtturin
https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4159 > ../sway/desktop/output.c:618:47: error: too few arguments to function 'wlr_renderer_begin_buffer_pass' > 618 | struct wlr_render_pass *render_pass = wlr_renderer_begin_buffer_pass( > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2023-06-03xwayland: fix mapped state check in OR handlersKirill Primak
2023-06-02chore: chase wlroots map logic unificationKirill Primak
2023-06-02xwayland: don't rely on event source being dataKirill Primak
This pattern is being slowly removed from wlroots.
2023-05-20Fix layer old damage not being offset by the monitor layout coordsErik Reider
2023-05-09render: fix titlebar texture clippingSimon Ser
We need to provide an unclipped dst_box. Fixes: https://github.com/swaywm/sway/issues/7573 Regressed by: https://github.com/swaywm/sway/pull/7552
2023-05-09render: Clear using wlr_output dimensionsKenny Levinsen
Clear was done using sway_output's logical dimensions, instead of the wlr_output physical dimensions. This meant that when output scaling was applied, only a part of the screen would be cleared. Use the wlr_output dimensions instead. Regressed by: https://github.com/swaywm/sway/pull/7552
2023-05-09render: Apply clip to rendered texture correctlyKenny Levinsen
The new wlr_render_pass API provides src_box, dst_box and clip parameters for texture rendition. Rather than clipping the dst_box, which control the projection matrix and leads to compression, intersect the damage and clip box and pass these as a clip parameter. Fixes: https://github.com/swaywm/sway/issues/7579 Regressed by: https://github.com/swaywm/sway/pull/7552
2023-05-02Don't crash if there is no damage during renderAlexander Orzechowski
2023-05-02render: Use wlr_render_passAlexander Orzechowski
2023-05-02render: Don't pass matrix into render_textureAlexander Orzechowski
2023-05-02render: pass rendering state together in a structAlexander Orzechowski
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
2023-04-14Use output_match_name_or_id() in apply_output_config_to_outputs()Simon Ser
2023-04-14Introduce output_match_name_or_id()Simon Ser
Reduces code duplication.
2023-04-14Fix old style function definitionsElyes Haouas
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
2023-04-14Set output damage during direct scan-outSimon Ser
During direct scan-out, pass the damaged region to the wlroots backend.
2023-04-14Skip direct scan-out commit when damage is emptySimon Ser
When there is no damage, no need to perform an output commit, even when direct scan-out is used.
2023-04-06Chase wlroots!4067Alexander Orzechowski
2023-04-06Remove duplicate wlr_damage_ring_set_bounds() callSimon Ser
We already do this in handle_commit().
2023-04-06Fix damage-ring bounds not being set when unplugging -> plugging in monitorErik Reider
#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-03-26Init the damage_ring bounds on output creationErik Reider
Otherwise the initial bounds would be `INT_MAX` until `handle_mode` or `handle_commit` is called :)
2023-02-28Disable direct scanout for surfaces with popupsnovenary
2023-02-22Check for empty damage before attaching render bufferSimon Ser
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
That way output_render() only does what it says on the tin.
2023-02-22Constify pixman_region32_t for rendering functionsSimon Ser
2023-02-20layer-shell: enter output before surface is mappedSimon Ser
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
Closes: https://github.com/swaywm/sway/issues/7464
2023-02-10Add support for fractional-scale-v1Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3511
2023-02-10Introduce surface_{enter,leave}_output()Simon Ser
We can centralize all output-related surface events from there.
2023-02-05launcher: make launcher context seat awareRonan Pigott
2023-02-05view: make request_activate take a seatRonan Pigott
This way we can move focus on the same seat an activation token originates from.
2023-02-01ipc: add support for output eventSimon Ser
For compatibility with i3 [1]. [1]: https://i3wm.org/docs/ipc.html#_output_event
2023-01-23Apply new adaptive sync value from wlr-output-managementAlexander Courtis
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.
2023-01-21Check return value of wlr_renderer_begin()Simon Ser
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
2023-01-03Replace math functions that promote float to doubleCarl Smedstad
2022-12-01sway/desktop/output: listen to output mode in commit handleSimon Zeni
2022-11-28Make DRM backend optionalSimon Ser
2022-11-28Make GLES2 optionalSimon Ser
2022-11-26launcher: export X startup ids and use them for workspace matchingRonan Pigott
2022-11-26launcher: export xdga tokens and use them for workspace matchingRonan Pigott
2022-11-26launcher: fudge the interface a bitRonan Pigott
We want to create a context before knowing the pid it will match with.
2022-11-26launcher: initialize launcher_ctxs once on startupRonan Pigott
2022-11-26view: associate launch contexts with viewsRonan Pigott
Views now maintain a reference to a launch context which, as a last resort, is populated at map time with a context associated with its pid. This opens the possibility of populating it before map via another source, e.g. xdga-tokens or configuration.
2022-11-26launcher: rename pid_workspace to launcher_ctxRonan Pigott
Soon we will match views with more than just a pid.
2022-11-26launcher: use xdga tokensRonan Pigott
This reuses wlroots token tracking for workspace matching. It doesn't export any xdga tokens for clients yet.
2022-11-26launcher: track workspaces by nodeRonan Pigott
This removes the need to rename the pid_workspaces when a workspace is renamed. It also opens the possibility of tracking other node types. Tracking containers would allow application to be placed correctly in the container tree even if the user has moved their focus elsewhere since it was launched.
2022-11-26root: move the workspace matching code to its own fileRonan Pigott
This removes the pid_workspace bits from tree/root before it gets too interesting. No functional change.