aboutsummaryrefslogtreecommitdiff
path: root/sway
AgeCommit message (Collapse)Author
2023-06-19Use wlr_cursor_set_xcursor()Simon Ser
wlr_xcursor_manager_set_cursor_image() is deprecated. References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4170
2023-06-19render: Use wlroots scale filterAlexander Orzechowski
2023-06-16input/libinput: add scroll_button_lock methodCezary Drożak
Closes https://github.com/swaywm/sway/issues/6987 Co-authored-by: JJGadgets <git@jjgadgets.tech> Co-authored-by: DeltaWhy <mike5713@gmail.com>
2023-06-14gamma_control_v1: handle destroyed outputRouven Czerwinski
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
2023-06-11gamma_control_v1: Reset dirty flagAlexander Orzechowski
2023-06-11Fix `bindsym --to-code` not respecting input configs33KK
Fixes #7535
2023-06-09man: add --inhibited and --no-repeat to bindsym and bindcode usageShaked Flur
2023-06-09desktop/output: fix damage bitfield in wlr_output_stateSimon Ser
2023-06-08desktop/output: use detached output state for page-flipsSimon Ser
This avoids relying on the implicit wlr_output.pending state.
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-02lock: listen to the correct map signalKirill 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-11seatop_down: Call seatop_begin_default after sending touch eventshrdl
This is consistent with pointer tablet and button events. Fixes #7577.
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-04handle_touch_cancel: fix begin defaulthrdl
I forgot to call seatop_begin_default in e8f7551e46052a8df04b630bf06565ca77f830fb.
2023-05-04Add support for touch cancel eventshrdl
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 format_str() throughoutSimon Ser
2023-04-14commands: add printf attribute to cmd_results_new()Simon Ser
And fix the resulting build failures.
2023-04-14commands/floating_minmax_size: fix error stringsSimon Ser
cmd_results_new() does not take the command name as argument.
2023-04-14Use output_match_name_or_id() in workspace functionsSimon Ser
2023-04-14Use output_match_name_or_id() in apply_output_config_to_outputs()Simon Ser
2023-04-14Use all_output_by_name_or_id() in merge_id_on_name()Simon Ser
No need to iterate over the outputs manually.
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-14Pass version to wlr_compositor_create()Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3696
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-27ipc: add LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM entrySimon Ser
This was introduced in the last libinput release. Fixes the following error: ../sway/ipc-json.c:928:17: error: enumeration value 'LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM' not handled in switch [-Werror=switch] 928 | switch (libinput_device_config_accel_get_profile(device)) { | ^~~~~~
2023-03-26man: deprecate seat cursor move/set/press/releaseSimon Ser
The Wayland protocol better serves this purpose, and is supported by more compositors.
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-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-03-11man: add warning for hide_cursor configurationStanislav Ochotnický
See https://github.com/swaywm/sway/issues/6297
2023-02-28Disable direct scanout for surfaces with popupsnovenary
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.