summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorLines
2023-12-30input: reconfigure send_events on output hotplugFurkan Sahin-0/+3
Closes: https://github.com/swaywm/sway/issues/7890 (cherry picked from commit 95265fba59bce77ed52a74fcc21abf7f668c01b2)
2023-12-06output: Destroy when output layout is destroyedFurkan Sahin-0/+1
Since output layout is destroyed when the wayland display is destroyed we run into a destroy listener order problem: Either the display starts destroying the outputs first, in which case we're good: The existing handling will clean up. However, things go wrong if the display decides to destroy the output layout first. In this case, sway will hold invalid references to the output layout as part of each output so that when it finally goes to destroy them, sway will dereference destroyed output layout bits. Ref: https://github.com/swaywm/sway/pull/6844#issuecomment-1843599513 (cherry picked from commit bbabb9aae8d7b7771d02489b6f20301cf1c090c9)
2023-06-22Add support for security-context-v1Furkan Sahin-0/+4
As a first step, deny access to privileged protocols to sandboxed apps. References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3589
2023-11-16input/input-manager: drop input_manager_configure_all_inputsFurkan Sahin-2/+0
This is now unused.
2023-11-16Only reconfigure input mappings on output changeFurkan Sahin-0/+5
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-06-19Drop support for KDE's idle protocolFurkan Sahin-2/+0
We support the standard idle-notify protocol since Sway 1.8.
2023-09-01i3 compat: Adding support for the `all` criteriaFurkan Sahin-0/+1
Matches all views. i3 PR: https://github.com/i3/i3/pull/4460 Fixes #7110
2023-08-23Fix typoFurkan Sahin-1/+1
2023-07-31output: drop current_modeFurkan Sahin-2/+0
This is now unused.
2023-07-29swaynag: Implement wp_cursor_shape_v1Furkan Sahin-0/+3
2023-07-30swaybar: Implement wp_cursor_shape_v1Furkan Sahin-0/+2
2023-05-05Add support for cursor-shape-v1Furkan Sahin-0/+4
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4106
2023-06-26input: Move wlr_pointer_gestures_v1 to sway_input_managerFurkan Sahin-1/+1
On multi-seat configurations a zwp_pointer_gestures_v1 global was created for every seat. Instead, create the global once in the input manager, to be shared across all seats.
2023-06-19idle-inhibit-v1: simplify with server globalFurkan Sahin-9/+5
We only have a single running server, no need to keep track of multiple server instances. Also no need to support multiple idle inhibit managers.
2023-06-16input/libinput: add scroll_button_lock methodFurkan Sahin-0/+2
Closes https://github.com/swaywm/sway/issues/6987 Co-authored-by: JJGadgets <git@jjgadgets.tech> Co-authored-by: DeltaWhy <mike5713@gmail.com>
2023-03-06Handle gamma-control-v1 set_gamma eventsFurkan Sahin-0/+6
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4046
2023-06-05Add support for wlr-layer-shell ON_DEMAND keyboard interactivityFurkan Sahin-1/+6
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-03-05chore: chase wlroots map logic unificationFurkan Sahin-0/+4
2023-05-04Add support for touch cancel eventsFurkan Sahin-0/+6
2023-05-02render: Use wlr_render_passFurkan Sahin-0/+2
2023-04-27render: pass rendering state together in a structFurkan Sahin-7/+11
This lets us easily add rendering state that we need in the future
2023-02-28swaynag: add printf attribute to swaynag_log()Furkan Sahin-1/+2
2023-02-28config: add printf attribute to config_add_swaynag_warning()Furkan Sahin-1/+2
2023-02-28commands: add printf attribute to cmd_results_new()Furkan Sahin-1/+2
And fix the resulting build failures.
2023-02-28pango: add printf attributeFurkan Sahin-2/+3
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-02-28Add format_str() and vformat_str()Furkan Sahin-0/+9
Simple helpers to allocate and format a string.
2023-02-28Use output_match_name_or_id() in apply_output_config_to_outputs()Furkan Sahin-0/+3
2022-12-11root: Try to preserve relative positions of floating containersFurkan Sahin-0/+8
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-22Move output commit out of output_render()Furkan Sahin-2/+1
That way output_render() only does what it says on the tin.
2023-02-22Constify pixman_region32_t for rendering functionsFurkan Sahin-3/+3
2021-08-21Implement seatop_touchFurkan Sahin-2/+25
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-20Update surface fractional scale on output changeFurkan Sahin-0/+1
Closes: https://github.com/swaywm/sway/issues/7464
2023-02-08Introduce surface_{enter,leave}_output()Furkan Sahin-0/+5
We can centralize all output-related surface events from there.
2022-11-30launcher: support external launcher tokensFurkan Sahin-0/+3
2022-11-30launcher: make launcher context seat awareFurkan Sahin-2/+5
2022-11-30view: make request_activate take a seatFurkan Sahin-1/+1
This way we can move focus on the same seat an activation token originates from.
2023-02-01ipc: add support for output eventFurkan Sahin-0/+1
For compatibility with i3 [1]. [1]: https://i3wm.org/docs/ipc.html#_output_event
2023-01-09input/tablet: handle focusing NULL surfaceFurkan Sahin-1/+1
Additionally, rename the function responsible for switching focus to match its behavior better.
2023-01-08swaynag: call swaynag_destroy on clean exitFurkan Sahin-1/+2
And fix the fallout of the swaynag_destroy having evolved without being tested: * wl_display_disconnect was called too early * `button_close` and `swaynag.details.button_details` needed to be heap allocated, since they are added to swaynag.buttons, and all entries of swaynag.buttons are freed in swaynag_destroy * To keep things simpler, disconnect the lifetime of the 'Toggle details' button text config setting from the button itself.
2022-05-30Improve tablet tool button handling.Furkan Sahin-0/+1
This change allows the tablet tool button to be used for floating mod resize. In addition, it attempts to ensure that tablet tool events are consistent such that tablet v2 events and pointer events will never be interleaved, and such that the tool buttons count will never fall out of sync and cause tool button emulation to break. Some of this logic is similar to what is done for tablet tool tip, but not quite identical, because of the complication that we have to deal with multiple inputs that can overlap eachother. Fixes #7036.
2022-12-30Make cmd_handler.command constFurkan Sahin-2/+2
2022-11-06Add missing includes & remove duplicatesFurkan Sahin-2/+9
2022-11-07Remove duplicate declarationsFurkan Sahin-2/+0
2022-12-21swaynag: drop swaynag_type.fontFurkan Sahin-1/+0
It's too easy to have this go out of sync with font_description.
2022-11-24Add libinput RotationAngleFurkan Sahin-0/+2
This patch adds the libinput option RotationAngle to sway. Signoff-by: Lucas Zampieri <lzampier@redhat.com>
2022-03-16Add `primary_selection` config optionFurkan Sahin-1/+3
See: https://github.com/swaywm/sway/issues/4511 Adds a bool config option `primary_selection`, which explicitly enables/disables the primary selection clipboard. Defaults to enabled. This is implemented as a launch-only option which enables or disables the creation of the `zwp_primary_selection_device_manager_v1` global. Co-authored-by: Tilde Rose <t1lde@protonmail.com>
2022-12-01sway/desktop/output: listen to output mode in commit handleFurkan Sahin-1/+0
2022-11-26Make session optionalFurkan Sahin-1/+0
2021-09-18swaybar: Make hotspots block bar release bindingsFurkan Sahin-2/+2
The previous commit prioritized hotspots before bar bindings for press events, which matches i3's behaviour. However, since hotspots don't need to do any processing on release events, those were not handled, and simply fell through to `bindsym --release` bar bindings (if any). This is counter-intuitive, and doesn't match i3's behaviour. Instead in case a hotspot handles the press event, it should also handle the release event, doing nothing, but blocking the event from triggering a --release bar binding. E.g., in Sway, without this commit, this config. shows a text on tray clicks: bar { # ... bindsym --release button1 exec swaynag -m I_got_the_release_event. } But the same configuration in i3 (with i3-nagbar) doesn't show the text. Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
2022-11-16launcher: export X startup ids and use them for workspace matchingFurkan Sahin-0/+1