Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package sway for openSUSE:Factory checked in at 2023-02-13 16:41:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sway (Old) and /work/SRC/openSUSE:Factory/.sway.new.1848 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sway" Mon Feb 13 16:41:15 2023 rev:37 rq:1065388 version:1.8.1 Changes: -------- --- /work/SRC/openSUSE:Factory/sway/sway.changes 2023-01-06 17:07:05.480698817 +0100 +++ /work/SRC/openSUSE:Factory/.sway.new.1848/sway.changes 2023-02-13 16:43:13.932192977 +0100 @@ -1,0 +2,17 @@ +Sun Feb 12 20:39:46 UTC 2023 - Soc Virnyl Estela <socvirnyl.est...@gmail.com> + +- Update to 1.8.1: + * Apply new adaptive sync value from wlr-output-management + * warp_to_constraint_cursor_hint: Handle NULL view + * Use correct length for strncmp comparison + * Allow setting the font size to 0 + * input/tablet: handle focusing NULL surface + * man: fix typo in output disable docs + * Send wl_surface.enter for ext-session-lock surfaces + * Fix pointer events for ext-session-lock surfaces + * build: bump version to 1.8.1 + * focus_on_window_activation: raise if floating + * Correct window_rect.y with hide_edge_borders + * Clarify documentation for window_rect + +------------------------------------------------------------------- Old: ---- sway-1.8.tar.gz sway-1.8.tar.gz.sig New: ---- sway-1.8.1.tar.gz sway-1.8.1.tar.gz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sway.spec ++++++ --- /var/tmp/diff_new_pack.wX38We/_old 2023-02-13 16:43:14.364195522 +0100 +++ /var/tmp/diff_new_pack.wX38We/_new 2023-02-13 16:43:14.372195569 +0100 @@ -17,7 +17,7 @@ Name: sway -Version: 1.8 +Version: 1.8.1 Release: 0 Summary: Window manager for Wayland compatible with i3 License: MIT ++++++ sway-1.8.tar.gz -> sway-1.8.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sway-1.8/include/sway/input/tablet.h new/sway-1.8.1/include/sway/input/tablet.h --- old/sway-1.8/include/sway/input/tablet.h 2022-12-25 16:59:56.000000000 +0100 +++ new/sway-1.8.1/include/sway/input/tablet.h 2023-02-12 18:52:39.000000000 +0100 @@ -63,7 +63,7 @@ void sway_tablet_pad_destroy(struct sway_tablet_pad *tablet_pad); -void sway_tablet_pad_notify_enter(struct sway_tablet_pad *tablet_pad, +void sway_tablet_pad_set_focus(struct sway_tablet_pad *tablet_pad, struct wlr_surface *surface); #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sway-1.8/meson.build new/sway-1.8.1/meson.build --- old/sway-1.8/meson.build 2022-12-25 16:59:56.000000000 +0100 +++ new/sway-1.8.1/meson.build 2023-02-12 18:52:39.000000000 +0100 @@ -1,7 +1,7 @@ project( 'sway', 'c', - version: '1.8', + version: '1.8.1', license: 'MIT', meson_version: '>=0.60.0', default_options: [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sway-1.8/sway/commands/font.c new/sway-1.8.1/sway/commands/font.c --- old/sway-1.8/sway/commands/font.c 2022-12-25 16:59:56.000000000 +0100 +++ new/sway-1.8.1/sway/commands/font.c 2023-02-12 18:52:39.000000000 +0100 @@ -33,10 +33,10 @@ return cmd_results_new(CMD_FAILURE, "Invalid font family."); } - const gint size = pango_font_description_get_size(font_description); - if (size == 0) { + const PangoFontMask flags = pango_font_description_get_set_fields(font_description); + if ((flags & PANGO_FONT_MASK_SIZE) == 0) { pango_font_description_free(font_description); - return cmd_results_new(CMD_FAILURE, "Invalid font size."); + return cmd_results_new(CMD_FAILURE, "Font size not given."); } if (config->font_description != NULL) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sway-1.8/sway/desktop/output.c new/sway-1.8.1/sway/desktop/output.c --- old/sway-1.8/sway/desktop/output.c 2022-12-25 16:59:56.000000000 +0100 +++ new/sway-1.8.1/sway/desktop/output.c 2023-02-12 18:52:39.000000000 +0100 @@ -1018,6 +1018,7 @@ oc->y = config_head->state.y; oc->transform = config_head->state.transform; oc->scale = config_head->state.scale; + oc->adaptive_sync = config_head->state.adaptive_sync_enabled; if (test_only) { ok &= test_output_config(oc, output); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sway-1.8/sway/input/cursor.c new/sway-1.8.1/sway/input/cursor.c --- old/sway-1.8/sway/input/cursor.c 2022-12-25 16:59:56.000000000 +0100 +++ new/sway-1.8.1/sway/input/cursor.c 2023-02-12 18:52:39.000000000 +0100 @@ -97,6 +97,24 @@ double ox = lx, oy = ly; wlr_output_layout_output_coords(root->output_layout, wlr_output, &ox, &oy); + if (server.session_lock.locked) { + if (server.session_lock.lock == NULL) { + return NULL; + } + struct wlr_session_lock_surface_v1 *lock_surf; + wl_list_for_each(lock_surf, &server.session_lock.lock->surfaces, link) { + if (lock_surf->output != wlr_output) { + continue; + } + + *surface = wlr_surface_surface_at(lock_surf->surface, ox, oy, sx, sy); + if (*surface != NULL) { + return NULL; + } + } + return NULL; + } + // layer surfaces on the overlay layer are rendered on top if ((*surface = layer_surface_at(output, &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY], @@ -1322,6 +1340,10 @@ double sy = constraint->current.cursor_hint.y; struct sway_view *view = view_from_wlr_surface(constraint->surface); + if (!view) { + return; + } + struct sway_container *con = view->container; double lx = sx + con->pending.content_x - view->geometry.x; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sway-1.8/sway/input/seat.c new/sway-1.8.1/sway/input/seat.c --- old/sway-1.8/sway/input/seat.c 2022-12-25 16:59:56.000000000 +0100 +++ new/sway-1.8.1/sway/input/seat.c 2023-02-12 18:52:39.000000000 +0100 @@ -176,11 +176,11 @@ state->pressed_keycodes, state->npressed, &keyboard->modifiers); } -static void seat_tablet_pads_notify_enter(struct sway_seat *seat, +static void seat_tablet_pads_set_focus(struct sway_seat *seat, struct wlr_surface *surface) { struct sway_seat_device *seat_device; wl_list_for_each(seat_device, &seat->devices, link) { - sway_tablet_pad_notify_enter(seat_device->tablet_pad, surface); + sway_tablet_pad_set_focus(seat_device->tablet_pad, surface); } } @@ -204,7 +204,7 @@ #endif seat_keyboard_notify_enter(seat, view->surface); - seat_tablet_pads_notify_enter(seat, view->surface); + seat_tablet_pads_set_focus(seat, view->surface); sway_input_method_relay_set_focus(&seat->im_relay, view->surface); struct wlr_pointer_constraint_v1 *constraint = @@ -1080,9 +1080,20 @@ bool seat_is_input_allowed(struct sway_seat *seat, struct wlr_surface *surface) { + if (server.session_lock.locked) { + if (server.session_lock.lock == NULL) { + return false; + } + struct wlr_session_lock_surface_v1 *lock_surf; + wl_list_for_each(lock_surf, &server.session_lock.lock->surfaces, link) { + if (lock_surf->surface == surface) { + return true; + } + } + return false; + } struct wl_client *client = wl_resource_get_client(surface->resource); - return seat->exclusive_client == client || - (seat->exclusive_client == NULL && !server.session_lock.locked); + return seat->exclusive_client == client || seat->exclusive_client == NULL; } static void send_unfocus(struct sway_container *con, void *data) { @@ -1313,7 +1324,7 @@ } sway_input_method_relay_set_focus(&seat->im_relay, surface); - seat_tablet_pads_notify_enter(seat, surface); + seat_tablet_pads_set_focus(seat, surface); } void seat_set_focus_layer(struct sway_seat *seat, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sway-1.8/sway/input/tablet.c new/sway-1.8.1/sway/input/tablet.c --- old/sway-1.8/sway/input/tablet.c 2022-12-25 16:59:56.000000000 +0100 +++ new/sway-1.8.1/sway/input/tablet.c 2023-02-12 18:52:39.000000000 +0100 @@ -334,14 +334,10 @@ struct sway_tablet_pad *tablet_pad = wl_container_of(listener, tablet_pad, surface_destroy); - wlr_tablet_v2_tablet_pad_notify_leave(tablet_pad->tablet_v2_pad, - tablet_pad->current_surface); - wl_list_remove(&tablet_pad->surface_destroy.link); - wl_list_init(&tablet_pad->surface_destroy.link); - tablet_pad->current_surface = NULL; + sway_tablet_pad_set_focus(tablet_pad, NULL); } -void sway_tablet_pad_notify_enter(struct sway_tablet_pad *tablet_pad, +void sway_tablet_pad_set_focus(struct sway_tablet_pad *tablet_pad, struct wlr_surface *surface) { if (!tablet_pad || !tablet_pad->tablet) { return; @@ -360,7 +356,8 @@ tablet_pad->current_surface = NULL; } - if (!wlr_surface_accepts_tablet_v2(tablet_pad->tablet->tablet_v2, surface)) { + if (surface == NULL || + !wlr_surface_accepts_tablet_v2(tablet_pad->tablet->tablet_v2, surface)) { return; } @@ -368,7 +365,6 @@ tablet_pad->tablet->tablet_v2, surface); tablet_pad->current_surface = surface; - wl_list_remove(&tablet_pad->surface_destroy.link); tablet_pad->surface_destroy.notify = handle_pad_tablet_surface_destroy; wl_signal_add(&surface->events.destroy, &tablet_pad->surface_destroy); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sway-1.8/sway/ipc-json.c new/sway-1.8.1/sway/ipc-json.c --- old/sway-1.8/sway/ipc-json.c 2022-12-25 16:59:56.000000000 +0100 +++ new/sway-1.8.1/sway/ipc-json.c 2023-02-12 18:52:39.000000000 +0100 @@ -558,7 +558,7 @@ struct wlr_box window_box = { c->pending.content_x - c->pending.x, - (c->current.border == B_PIXEL) ? c->current.border_thickness : 0, + (c->current.border == B_PIXEL) ? c->pending.content_y - c->pending.y : 0, c->pending.content_width, c->pending.content_height }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sway-1.8/sway/lock.c new/sway-1.8.1/sway/lock.c --- old/sway-1.8/sway/lock.c 2022-12-25 16:59:56.000000000 +0100 +++ new/sway-1.8.1/sway/lock.c 2023-02-12 18:52:39.000000000 +0100 @@ -32,6 +32,7 @@ if (server.session_lock.focused == NULL) { set_lock_focused_surface(surf->surface); } + wlr_surface_send_enter(surf->surface, surf->output->wlr_output); output_damage_whole(surf->output); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sway-1.8/sway/sway-ipc.7.scd new/sway-1.8.1/sway/sway-ipc.7.scd --- old/sway-1.8/sway/sway-ipc.7.scd 2022-12-25 16:59:56.000000000 +0100 +++ new/sway-1.8.1/sway/sway-ipc.7.scd 2023-02-12 18:52:39.000000000 +0100 @@ -337,8 +337,9 @@ this, but borders are included. |- window_rect : object -: The geometry of the contents inside the node. The window decorations are - excluded from this calculation, but borders are included. +: The geometry of the content inside the node. These coordinates are relative + to the node itself. Window decorations and borders are outside the + _window_rect_ |- deco_rect : object : The geometry of the decorations for the node relative to the parent node diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sway-1.8/sway/sway-output.5.scd new/sway-1.8.1/sway/sway-output.5.scd --- old/sway-1.8/sway/sway-output.5.scd 2022-12-25 16:59:56.000000000 +0100 +++ new/sway-1.8.1/sway/sway-output.5.scd 2023-02-12 18:52:39.000000000 +0100 @@ -119,7 +119,7 @@ Enables or disables the specified output (all outputs are enabled by default). - As opposed to the _power_ command, the output will loose its current + As opposed to the _power_ command, the output will lose its current workspace and windows. *output* <name> toggle diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sway-1.8/sway/tree/view.c new/sway-1.8.1/sway/tree/view.c --- old/sway-1.8/sway/tree/view.c 2022-12-25 16:59:56.000000000 +0100 +++ new/sway-1.8.1/sway/tree/view.c 2023-02-12 18:52:39.000000000 +0100 @@ -377,6 +377,7 @@ case FOWA_SMART: if (workspace_is_visible(ws)) { seat_set_focus_container(seat, view->container); + container_raise_floating(view->container); } else { view_set_urgent(view, true); } @@ -386,10 +387,12 @@ break; case FOWA_FOCUS: seat_set_focus_container(seat, view->container); + container_raise_floating(view->container); break; case FOWA_NONE: break; } + transaction_commit_dirty(); } void view_set_csd_from_server(struct sway_view *view, bool enabled) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sway-1.8/swaybar/render.c new/sway-1.8.1/swaybar/render.c --- old/sway-1.8/swaybar/render.c 2022-12-25 16:59:56.000000000 +0100 +++ new/sway-1.8.1/swaybar/render.c 2023-02-12 18:52:39.000000000 +0100 @@ -292,7 +292,7 @@ } double offset = 0; - if (strncmp(block->align, "left", 5) == 0) { + if (strncmp(block->align, "left", 4) == 0) { offset = x_pos; } else if (strncmp(block->align, "right", 5) == 0) { offset = x_pos + width - text_width;