aboutsummaryrefslogtreecommitdiffstats
path: root/sway/tree
Commit message (Collapse)AuthorAge
* Define _POSIX_C_SOURCE globallyLibravatar Simon Ser2024-02-23
| | | | See discussion in https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4555
* xdg-activation: distinguish activation and urgency requestsLibravatar Aleksei Bavshin2024-02-17
| | | | | | | | | Check if the app that requested a token has provided a valid input serial and a focused surface. Downgrade activation request to urgency otherwise. This is mostly in line with what other Wayland compositors decided to do, and offers a better security than the original logic.
* Drop unnecessary includes from sway/server.hLibravatar Simon Ser2024-02-15
|
* view: drop ext_foreign_destroyLibravatar Kirill Primak2024-02-12
| | | | It's not used and causes a crash when a view is destroyed.
* ext-foreign-toplevel-list: Implement protocolLibravatar Merlin Lex2024-02-12
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4543
* scene_graph: port wlr_forgein_toplevel_management output enter/leave eventsLibravatar Alexander Orzechowski2024-01-18
|
* scene_graph: Implement toplevel clippingLibravatar Alexander Orzechowski2024-01-18
|
* container: Don't track outputsLibravatar Alexander Orzechowski2024-01-18
| | | | The scene graph abstraction does this for us
* Delete old damage tracking codeLibravatar Alexander Orzechowski2024-01-18
| | | | The new scene graph abstraction handles this for us.
* scene_graph: Port view saved buffersLibravatar Alexander Orzechowski2024-01-18
|
* scene_graph: Port xwaylandLibravatar Alexander Orzechowski2024-01-18
|
* scene_graph: Port xdg_shellLibravatar Alexander Orzechowski2024-01-18
|
* scene_graph: Port container server side decorationsLibravatar Alexander Orzechowski2024-01-18
|
* scene_graph: Port layer_shellLibravatar Alexander Orzechowski2024-01-18
|
* input: Query scene graph for relevant surface/node intersectionsLibravatar Alexander Orzechowski2024-01-18
|
* scene_graph: Port ext_session_v1Libravatar Alexander Orzechowski2024-01-18
|
* scene_graph: Port seat drag iconsLibravatar Alexander Orzechowski2024-01-18
|
* scene_graph: Use built-in linux dmabuf feedback handlingLibravatar Alexander Orzechowski2024-01-18
|
* scene_graph: Maintain `wlr_scene_node`s for the sway tree.Libravatar Alexander Orzechowski2024-01-18
|
* view: init function should return a success boolLibravatar Alexander Orzechowski2024-01-18
|
* desktop: Rename layers to shell_layersLibravatar Alexander Orzechowski2024-01-18
| | | | | This code will be deleted later, but for the time being rename it so it doesn't conflict with future properties.
* Don't destroy output layout on exitLibravatar Alexander Orzechowski2023-12-01
| | | | wlroots will destroy this object itself.
* 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
* 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.
* 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.
* 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.
* 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.
* chore: chase wlroots xdg-surface role reworkLibravatar Kirill Primak2023-08-21
|
* output: drop current_modeLibravatar Simon Ser2023-07-31
| | | | This is now unused.
* Use output_match_name_or_id() in workspace functionsLibravatar Simon Ser2023-04-14
|
* 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.
* 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.
* 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.
* 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.
* Introduce surface_{enter,leave}_output()Libravatar Simon Ser2023-02-10
| | | | We can centralize all output-related surface events from there.
* 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
* 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.
* 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
* focus_on_window_activation: raise if floatingLibravatar Tobias Bengfort2023-01-20
|
* tree/container: drop unnecessary check in container_get_siblings()Libravatar Simon Ser2023-01-03
| | | | | | The check for container->pending.workspace already covers this. References: https://github.com/swaywm/sway/pull/7315#issuecomment-1341716204
* view: associate launch contexts with viewsLibravatar Ronan Pigott2022-11-26
| | | | | | | 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.
* launcher: rename pid_workspace to launcher_ctxLibravatar Ronan Pigott2022-11-26
| | | | Soon we will match views with more than just a pid.
* node: prettify node type namesLibravatar Ronan Pigott2022-11-26
|
* root: move the workspace matching code to its own fileLibravatar Ronan Pigott2022-11-26
| | | | | | | This removes the pid_workspace bits from tree/root before it gets too interesting. No functional change.
* workspace_create: Don't allow NULL nameLibravatar Alexander Orzechowski2022-11-11
|