aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* Hide xwayland_shell_v1 from regular clientsxwl-shell-filterLibravatar Simon Ser2023-07-04
| | | | | | | Regular clients are not allowed to use this interface. wlroots already sends a protocol error if a non-Xwayland client tries to use this interface, but let's remove all temptation by hiding it completely.
* swaybar: don't set current workspace as not visibleLibravatar llyyr2023-06-27
| | | | | | | When `wrap_scroll yes` is configured and there's only one workspace open, swaybar will mark it as not visible if the user scrolls on it and eventually incorrectly fail the `active->visible` assert. Fix this by making sure that new and current workspace aren't the same.
* input: Move wlr_pointer_gestures_v1 to sway_input_managerLibravatar Mark Bolhuis2023-06-26
| | | | | | | | 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.
* Use "default" XCursor instead of "left_ptr"Libravatar Simon Ser2023-06-25
| | | | | "left_ptr" is the legacy XCursor name. "default" is the cursor spec name.
* swaybar: remove the argument of StatusNotifierHostRegisteredLibravatar Hodong2023-06-23
| | | | | According to https://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/StatusNotifierWatcher/ there is no argument for the StatusNotifierHostRegistered signal.
* idle-inhibit-v1: simplify with server globalLibravatar Simon Ser2023-06-23
| | | | | | 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.
* Use wlr_cursor_unset_image()Libravatar Simon Ser2023-06-19
| | | | | | A bit cleaner. References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4209
* Use wlr_cursor_set_xcursor()Libravatar Simon Ser2023-06-19
| | | | | | wlr_xcursor_manager_set_cursor_image() is deprecated. References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4170
* render: Use wlroots scale filterLibravatar Alexander Orzechowski2023-06-19
|
* input/libinput: add scroll_button_lock methodLibravatar Cezary Drożak2023-06-16
| | | | | | | Closes https://github.com/swaywm/sway/issues/6987 Co-authored-by: JJGadgets <git@jjgadgets.tech> Co-authored-by: DeltaWhy <mike5713@gmail.com>
* gamma_control_v1: handle destroyed outputLibravatar Rouven Czerwinski2023-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case a display is unplugged, the sway output may be removed from the userdata before the gamma_control can be reset. In this case we can't schedule a commit on the output, simply return within the function. backtrace full: #0 handle_gamma_control_set_gamma (listener=0x4856a8 <server+616>, data=0x7ffce1ed59c0) at ../sway/desktop/output.c:1105 server = 0x485440 <server> event = 0x7ffce1ed59c0 output = 0x0 #1 0x00007f430d1dca0c in wl_signal_emit_mutable () from /nix/store/ky1g6ylzr2m4bq8fy0gzrnqmjr6948k5-wayland-1.22.0/lib/libwayland-server.so.0 No symbol table info available. #2 0x00007f430d142370 in gamma_control_destroy (gamma_control=0x29eb9b0) at ../types/wlr_gamma_control_v1.c:37 manager = 0x27e33e0 output = 0x2a10770 event = {output = 0x2a10770, control = 0x0} #3 0x00007f430d14239b in gamma_control_handle_output_destroy (listener=<optimized out>, data=<optimized out>) at ../types/wlr_gamma_control_v1.c:59 gamma_control = <optimized out> #4 0x00007f430d1dca0c in wl_signal_emit_mutable () from /nix/store/ky1g6ylzr2m4bq8fy0gzrnqmjr6948k5-wayland-1.22.0/lib/libwayland-server.so.0 No symbol table info available. #5 0x00007f430d12a0e0 in wlr_output_destroy (output=output@entry=0x2a10770) at ../types/output/output.c:384 cursor = <optimized out> tmp_cursor = <optimized out> layer = <optimized out> tmp_layer = <optimized out> #6 0x00007f430d114ecf in disconnect_drm_connector (conn=conn@entry=0x2a10770) at ../backend/drm/drm.c:1757 __PRETTY_FUNCTION__ = "disconnect_drm_connector" #7 0x00007f430d117078 in scan_drm_connectors (drm=drm@entry=0x1eebab0, event=event@entry=0x7ffce1ed5c1c) at ../backend/drm/drm.c:1597 c = <optimized out> wlr_conn = 0x2a10770 drm_conn = 0x2e760d0 conn_id = <optimized out> index = 4 i = 4 res = 0x2e761f0 seen_len = 5 seen = {true, true, true, true, true, false} new_outputs_len = 0 new_outputs = 0x7ffce1ed5ab0 conn = <optimized out> tmp_conn = <optimized out> index = <optimized out> #8 0x00007f430d113425 in handle_dev_change (listener=0x1eebbb0, data=0x7ffce1ed5c18) at ../backend/drm/backend.c:157 drm = 0x1eebab0 change = 0x7ffce1ed5c18 #9 0x00007f430d1dca0c in wl_signal_emit_mutable () from /nix/store/ky1g6ylzr2m4bq8fy0gzrnqmjr6948k5-wayland-1.22.0/lib/libwayland-server.so.0 No symbol table info available. #10 0x00007f430d111696 in handle_udev_event (fd=<optimized out>, mask=<optimized out>, data=<optimized out>) at ../backend/session/session.c:213 event = {type = WLR_DEVICE_HOTPLUG, {hotplug = {connector_id = 0, prop_id = 0}}} devnum = <optimized out> dev = 0x1ed9460 session = <optimized out> udev_dev = 0x2e70db0 sysname = 0x2e73c60 "card0" devnode = <optimized out> action = 0x7f430d6677b5 "change" seat = <optimized out> __PRETTY_FUNCTION__ = "handle_udev_event" #11 0x00007f430d1de8e2 in wl_event_loop_dispatch () from /nix/store/ky1g6ylzr2m4bq8fy0gzrnqmjr6948k5-wayland-1.22.0/lib/libwayland-server.so.0 No symbol table info available. #12 0x00007f430d1dc445 in wl_display_run () from /nix/store/ky1g6ylzr2m4bq8fy0gzrnqmjr6948k5-wayland-1.22.0/lib/libwayland-server.so.0 No symbol table info available. #13 0x000000000041daa5 in server_run (server=server@entry=0x485440 <server>) at ../sway/server.c:338 No locals. #14 0x000000000041cf4d in main (argc=<optimized out>, argv=0x7ffce1ed5fe8) at ../sway/main.c:415 verbose = false debug = false validate = false allow_unsupported_gpu = false config_path = 0x0 c = <optimized out> where event->output->data is NULL: (gdb) p event->output->data $5 = (void *) 0x0
* gamma_control_v1: Reset dirty flagLibravatar Alexander Orzechowski2023-06-11
|
* Fix `bindsym --to-code` not respecting input configsLibravatar 33KK2023-06-11
| | | Fixes #7535
* man: add --inhibited and --no-repeat to bindsym and bindcode usageLibravatar Shaked Flur2023-06-09
|
* desktop/output: fix damage bitfield in wlr_output_stateLibravatar Simon Ser2023-06-09
|
* desktop/output: use detached output state for page-flipsLibravatar Simon Ser2023-06-08
| | | | This avoids relying on the implicit wlr_output.pending state.
* Handle gamma-control-v1 set_gamma eventsLibravatar Simon Ser2023-06-08
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4046
* Add support for wlr-layer-shell ON_DEMAND keyboard interactivityLibravatar Erik Reider2023-06-06
| | | | | 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.
* chase wlroots wlr_renderer_begin_buffer_pass changeLibravatar Artturin2023-06-05
| | | | | | | | 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( > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* xwayland: fix mapped state check in OR handlersLibravatar Kirill Primak2023-06-03
|
* lock: listen to the correct map signalLibravatar Kirill Primak2023-06-02
|
* chore: chase wlroots map logic unificationLibravatar Kirill Primak2023-06-02
|
* xwayland: don't rely on event source being dataLibravatar Kirill Primak2023-06-02
| | | | This pattern is being slowly removed from wlroots.
* Fix layer old damage not being offset by the monitor layout coordsLibravatar Erik Reider2023-05-20
|
* seatop_down: Call seatop_begin_default after sending touch eventsLibravatar hrdl2023-05-11
| | | | | | This is consistent with pointer tablet and button events. Fixes #7577.
* render: fix titlebar texture clippingLibravatar Simon Ser2023-05-09
| | | | | | | 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
* render: Clear using wlr_output dimensionsLibravatar Kenny Levinsen2023-05-09
| | | | | | | | | | 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
* render: Apply clip to rendered texture correctlyLibravatar Kenny Levinsen2023-05-09
| | | | | | | | | | 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
* swaybar: always subscribe to mode and workspaceLibravatar Mukundan3142023-05-09
| | | | | always subscribe to mode and workspace events, since we might need them after bar config updates even if we don't need them initially.
* handle_touch_cancel: fix begin defaultLibravatar hrdl2023-05-04
| | | | | I forgot to call seatop_begin_default in e8f7551e46052a8df04b630bf06565ca77f830fb.
* Add support for touch cancel eventsLibravatar hrdl2023-05-04
|
* Don't crash if there is no damage during renderLibravatar Alexander Orzechowski2023-05-02
|
* render: Use wlr_render_passLibravatar Alexander Orzechowski2023-05-02
|
* render: Don't pass matrix into render_textureLibravatar Alexander Orzechowski2023-05-02
|
* render: pass rendering state together in a structLibravatar Alexander Orzechowski2023-05-02
| | | | This lets us easily add rendering state that we need in the future
* xdg_shell: Fix crash if popup generates while toplevel is in the scratchpadLibravatar Alexander Orzechowski2023-04-16
|
* Use format_str() throughoutLibravatar Simon Ser2023-04-14
|
* common/gesture: use format_str()Libravatar Simon Ser2023-04-14
| | | | We already had a similar function in there.
* swaynag: add printf attribute to swaynag_log()Libravatar Simon Ser2023-04-14
|
* config: add printf attribute to config_add_swaynag_warning()Libravatar Simon Ser2023-04-14
|
* commands: add printf attribute to cmd_results_new()Libravatar Simon Ser2023-04-14
| | | | And fix the resulting build failures.
* commands/floating_minmax_size: fix error stringsLibravatar Simon Ser2023-04-14
| | | | cmd_results_new() does not take the command name as argument.
* pango: add printf attributeLibravatar Simon Ser2023-04-14
| | | | | | | | 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.
* Add format_str() and vformat_str()Libravatar Simon Ser2023-04-14
| | | | Simple helpers to allocate and format a string.
* Use output_match_name_or_id() in workspace functionsLibravatar Simon Ser2023-04-14
|
* Use output_match_name_or_id() in apply_output_config_to_outputs()Libravatar Simon Ser2023-04-14
|
* Use all_output_by_name_or_id() in merge_id_on_name()Libravatar Simon Ser2023-04-14
| | | | No need to iterate over the outputs manually.
* Introduce output_match_name_or_id()Libravatar Simon Ser2023-04-14
| | | | Reduces code duplication.
* Fix old style function definitionsLibravatar Elyes Haouas2023-04-14
| | | | Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
* Set output damage during direct scan-outLibravatar Simon Ser2023-04-14
| | | | | During direct scan-out, pass the damaged region to the wlroots backend.