aboutsummaryrefslogtreecommitdiff
path: root/sway/tree
AgeCommit message (Collapse)Author
2024-01-18scene_graph: port wlr_forgein_toplevel_management output enter/leave eventsAlexander Orzechowski
2024-01-18scene_graph: Implement toplevel clippingAlexander Orzechowski
2024-01-18container: Don't track outputsAlexander Orzechowski
The scene graph abstraction does this for us
2024-01-18Delete old damage tracking codeAlexander Orzechowski
The new scene graph abstraction handles this for us.
2024-01-18scene_graph: Port view saved buffersAlexander Orzechowski
2024-01-18scene_graph: Port xwaylandAlexander Orzechowski
2024-01-18scene_graph: Port xdg_shellAlexander Orzechowski
2024-01-18scene_graph: Port container server side decorationsAlexander Orzechowski
2024-01-18scene_graph: Port layer_shellAlexander Orzechowski
2024-01-18input: Query scene graph for relevant surface/node intersectionsAlexander Orzechowski
2024-01-18scene_graph: Port ext_session_v1Alexander Orzechowski
2024-01-18scene_graph: Port seat drag iconsAlexander Orzechowski
2024-01-18scene_graph: Use built-in linux dmabuf feedback handlingAlexander Orzechowski
2024-01-18scene_graph: Maintain `wlr_scene_node`s for the sway tree.Alexander Orzechowski
2024-01-18view: init function should return a success boolAlexander Orzechowski
2024-01-18desktop: Rename layers to shell_layersAlexander Orzechowski
This code will be deleted later, but for the time being rename it so it doesn't conflict with future properties.
2023-12-01Don't destroy output layout on exitAlexander Orzechowski
wlroots will destroy this object itself.
2023-11-23Pass wl_display to wlr_output_layoutSimon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4310
2023-11-23Add wlr/util/transform.h includesSimon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4097 Closes: https://github.com/swaywm/sway/issues/7830
2023-11-21view: re-apply criteria when window gets unmappedEBADBEEF
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-11-16Only reconfigure input mappings on output changeSimon Ser
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-10-24view: check if the buffer was uploaded on saveKirill Primak
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-08-28Revert "view: update wlr_toplevel size on client resizes"Dudemanguy
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.
2023-08-26view: update wlr_toplevel size on client resizesDudemanguy
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-08-21chore: chase wlroots xdg-surface role reworkKirill Primak
2023-07-31output: drop current_modeSimon Ser
This is now unused.
2023-04-14Use output_match_name_or_id() in workspace functionsSimon Ser
2023-03-24root: Set inactive focus when scratchpad is moved to new workspaceAnkit Pandey
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
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-02-27sway{,bar}: use default font hint stylellyyr
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-22Allow windows in scratchpad to set the urgent flagRobin Jarry
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-19container: rehome the container_swap function into container.cRonan Pigott
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-10Introduce surface_{enter,leave}_output()Simon Ser
We can centralize all output-related surface events from there.
2023-02-07Use wlr_linux_dmabuf_feedback_v1_init_with_options()Simon Ser
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
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-02Convert to *_try_from_wlr_surface()Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3991
2023-02-02root: free non_desktop_outputs list on root_destroyTobias Predel
This fixes a memory leak because the non_desktop_outputs list was not freed when the root was destroyed.
2023-02-01Convert to wlr_xwayland_surface_try_from_wlr_surface()Simon Ser
Accomodate for the breaking changes in [1]. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/fbf5982e3838ee28b5345e98832f6956c402b225
2023-01-20focus_on_window_activation: raise if floatingTobias Bengfort
2023-01-03tree/container: drop unnecessary check in container_get_siblings()Simon Ser
The check for container->pending.workspace already covers this. References: https://github.com/swaywm/sway/pull/7315#issuecomment-1341716204
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-26node: prettify node type namesRonan Pigott
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.
2022-11-11workspace_create: Don't allow NULL nameAlexander Orzechowski
2022-11-11container_get_siblings: handle NULL workspaceBaltazár Radics
2022-11-11Use wlr_damage_ringKirill Primak
wlr_output_damage is to be replaced with wlr_damage_ring, so use that.
2022-11-10Use wl_signal_emit_mutable()Simon Ser
This function fixes segfaults when emitting a signal potentially removes arbitrary listeners.
2022-10-30tree: support formatting null titlesPuck Meerburg
Any windows that have never had a title set visually behave closer to that of an empty title, but are unformattable, as the code bails out early on a NULL title.
2022-10-29container_floating_set_default_size: Store workspace size box on the stackAlexander Orzechowski