Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package river for openSUSE:Factory checked 
in at 2023-02-13 16:40:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/river (Old)
 and      /work/SRC/openSUSE:Factory/.river.new.1848 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "river"

Mon Feb 13 16:40:53 2023 rev:2 rq:1064745 version:0.2.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/river/river.changes      2023-02-03 
22:17:55.807555557 +0100
+++ /work/SRC/openSUSE:Factory/.river.new.1848/river.changes    2023-02-13 
16:42:59.800109725 +0100
@@ -1,0 +2,42 @@
+Sun Feb 12 20:49:58 UTC 2023 - socvirnyl.est...@gmail.com
+
+- Update to version 0.2.4:
+  * build: bump version to 0.2.4
+  * Seat: guard setFocusRaw() usage while locked
+  * docs: remove repology badge from readme
+  * docs: fix typos in riverctl man page
+  * session-lock: fix assertion failure on hot-plug while locked
+  * wlr-output-management: apply adaptive sync state
+  * build: bump version to 0.2.4-dev
+  * build: bump version to 0.2.3
+  * idle-inhibit: fix use-after-free
+  * session-lock: properly handle disabled outputs
+  * View: fix pointer comparison in notifyTitle()
+  * Cursor: fix incorrect lock manager state assertion
+  * command/layout: fix a memory leak
+  * Seat: rework Xwayland Override Redirect focus
+  * Seat: keep parent Xwayland view of a focused OR surface activated
+  * deps: update zig-wayland to fix build on aarch64
+  * build: bump version to 0.2.3-dev
+  * build: bump version to 0.2.2
+  * flags: further cleanup after Zig 0.10
+  * deps: update to Zig 0.10
+  * build: bump version to 0.2.2-dev
+  * build: bump version to 0.2.1
+  * render: fix rounding for fractional scaling
+  * session-lock: fix assertion failure on abnormal client behavior
+  * session-lock: fix assertion failure due to race
+  * session-lock: wait for present before locking
+  * rivertile: fix code to disallow 0 main count
+  * render: premultiply alpha for user-provided colors
+  * completions: add keyboard-layout
+  * ci: Use meson setup command
+  * river: fix bug in snap down / right
+  * build: bump version to 0.2.1-dev
+
+-------------------------------------------------------------------
+Wed Feb  8 08:34:01 UTC 2023 - Soc Virnyl Estela <socvirnyl.est...@gmail.com>
+
+- Fix group name of river-devel as "Development/Libraries/Other"
+
+-------------------------------------------------------------------

Old:
----
  river-0.2.0+g24.obscpio
  river-0.2.0+g24.tar.xz

New:
----
  river-0.2.4.obscpio
  river-0.2.4.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ river.spec ++++++
--- /var/tmp/diff_new_pack.IT7tZ5/_old  2023-02-13 16:43:00.388113189 +0100
+++ /var/tmp/diff_new_pack.IT7tZ5/_new  2023-02-13 16:43:00.396113236 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package river
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           river
-Version:        0.2.0+g24
+Version:        0.2.4
 Release:        0
 Summary:        A dynamic tiling Wayland compositor
 License:        GPL-3.0-only
@@ -27,6 +27,9 @@
 BuildRequires:  libevdev-devel
 BuildRequires:  libpixman-1-0-devel
 BuildRequires:  pkgconfig
+BuildRequires:  scdoc >= 1.9.2
+BuildRequires:  zig
+BuildRequires:  zig-rpm-macros
 BuildRequires:  pkgconfig(cairo)
 BuildRequires:  pkgconfig(dbus-1) >= 1.10
 BuildRequires:  pkgconfig(gdk-pixbuf-2.0)
@@ -43,9 +46,6 @@
 BuildRequires:  pkgconfig(wayland-server) >= 1.20.0
 BuildRequires:  pkgconfig(wlroots) >= 0.15.0
 BuildRequires:  pkgconfig(xkbcommon)
-BuildRequires:  scdoc >= 1.9.2
-BuildRequires:  zig
-BuildRequires:  zig-rpm-macros
 Recommends:     xorg-x11-server-wayland
 # To make Qt apps work somewhat okay on Wayland and auto use it
 # Otherwise, it will try to run under XWayland
@@ -82,7 +82,7 @@
 
 %package        devel
 Summary:        Development files for %{name}
-Group:          Development/Libraries
+Group:          Development/Libraries/Other
 Requires:       %{name}
 BuildArch:      noarch
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.IT7tZ5/_old  2023-02-13 16:43:00.432113448 +0100
+++ /var/tmp/diff_new_pack.IT7tZ5/_new  2023-02-13 16:43:00.436113472 +0100
@@ -2,8 +2,8 @@
   <service name="obs_scm" mode="disabled">
     <param name="scm">git</param>
     <param name="url">https://github.com/riverwm/river.git</param>
-    <param name="revision">5274383c72aef8c9ecd73d4a82469a3cee29c83d</param>
-    <param name="versionformat">@PARENT_TAG@+g@TAG_OFFSET@</param>
+    <param name="revision">394745608f781261678d097f436ad3720c7b59dd</param>
+    <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="versionrewrite-replacement">\1</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.IT7tZ5/_old  2023-02-13 16:43:00.464113637 +0100
+++ /var/tmp/diff_new_pack.IT7tZ5/_new  2023-02-13 16:43:00.468113660 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/riverwm/river.git</param>
-              <param 
name="changesrevision">5274383c72aef8c9ecd73d4a82469a3cee29c83d</param></service></servicedata>
+              <param 
name="changesrevision">394745608f781261678d097f436ad3720c7b59dd</param></service></servicedata>
 (No newline at EOF)
 

++++++ river-0.2.0+g24.obscpio -> river-0.2.4.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/river-0.2.0+g24/README.md new/river-0.2.4/README.md
--- old/river-0.2.0+g24/README.md       2023-01-30 23:48:24.000000000 +0100
+++ new/river-0.2.4/README.md   2023-02-10 17:00:35.000000000 +0100
@@ -3,9 +3,9 @@
 River is a dynamic tiling Wayland compositor with flexible runtime
 configuration.
 
-Join us at [#river](https://web.libera.chat/?channels=#river)
-on irc.libera.chat. Read our man pages and our
-[wiki](https://github.com/riverwm/river/wiki).
+Install from your [package 
manager](https://repology.org/project/river/versions) —
+Join us at [#river](https://web.libera.chat/?channels=#river) on 
irc.libera.chat —
+Read our man pages and [wiki](https://github.com/riverwm/river/wiki)
 
 *Note: river is currently early in development. Expect breaking
 changes and missing features. Bugs should however be rare at
@@ -24,10 +24,6 @@
 
 ## Building
 
-<a href="https://repology.org/project/river/versions";>
-    <img src="https://repology.org/badge/vertical-allrepos/river.svg"; 
alt="Packaging status" align="right">
-</a>
-
 On cloning the repository, you must init and update the submodules as well
 with e.g.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/river-0.2.0+g24/build.zig new/river-0.2.4/build.zig
--- old/river-0.2.0+g24/build.zig       2023-01-30 23:48:24.000000000 +0100
+++ new/river-0.2.4/build.zig   2023-02-10 17:00:35.000000000 +0100
@@ -10,7 +10,7 @@
 /// with the "-dev" suffix.
 /// When a release is tagged, the "-dev" suffix should be removed for the 
commit that gets tagged.
 /// Directly after the tagged commit, the version should be bumped and the 
"-dev" suffix added.
-const version = "0.3.0-dev";
+const version = "0.2.4";
 
 pub fn build(b: *zbs.Builder) !void {
     const target = b.standardTargetOptions(.{});
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/river-0.2.0+g24/deps/zig-wlroots/src/types/output.zig 
new/river-0.2.4/deps/zig-wlroots/src/types/output.zig
--- old/river-0.2.0+g24/deps/zig-wlroots/src/types/output.zig   2023-01-30 
23:48:24.000000000 +0100
+++ new/river-0.2.4/deps/zig-wlroots/src/types/output.zig       2023-02-10 
17:00:35.000000000 +0100
@@ -1,8 +1,6 @@
 const wlr = @import("../wlroots.zig");
 
-const std = @import("std");
-const mem = std.mem;
-const os = std.os;
+const os = @import("std").os;
 
 const pixman = @import("pixman");
 
@@ -79,12 +77,6 @@
         gamma_lut: ?[*]u16,
         gamma_lut_size: usize,
 
-        pub fn init() State {
-            var state: State = undefined;
-            mem.set(u8, mem.asBytes(&state), 0);
-            return state;
-        }
-
         extern fn wlr_output_state_set_enabled(state: *State, enabled: bool) 
void;
         pub const setEnabled = wlr_output_state_set_enabled;
 
@@ -311,10 +303,10 @@
     extern fn wlr_output_rollback(output: *Output) void;
     pub const rollback = wlr_output_rollback;
 
-    extern fn wlr_output_test_state(output: *Output, state: *const 
Output.State) bool;
+    extern fn wlr_output_test_state(output: *Output) void;
     pub const testState = wlr_output_test_state;
 
-    extern fn wlr_output_commit_state(output: *Output, state: *const 
Output.State) bool;
+    extern fn wlr_output_commit_state(output: *Output) void;
     pub const commitState = wlr_output_commit_state;
 
     extern fn wlr_output_schedule_frame(output: *Output) void;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/river-0.2.0+g24/doc/riverctl.1.scd 
new/river-0.2.4/doc/riverctl.1.scd
--- old/river-0.2.0+g24/doc/riverctl.1.scd      2023-01-30 23:48:24.000000000 
+0100
+++ new/river-0.2.4/doc/riverctl.1.scd  2023-02-10 17:00:35.000000000 +0100
@@ -177,7 +177,7 @@
 Keys are specified by their XKB keysym name. See
 _/usr/include/xkbcommon/xkbcommon-keysyms.h_ for the complete list.
 
-Mouse buttons are specified by linux input event code names. The most commonly
+Mouse buttons are specified by Linux input event code names. The most commonly
 used values are:
 
        - BTN_LEFT - left mouse button
@@ -219,7 +219,7 @@
        - _mode_: name of the mode for which to create the mapping
        - _modifiers_: one or more of the modifiers listed above, separated
          by a plus sign (+).
-       - _button_: the name of a linux input event code as described above
+       - _button_: the name of a Linux input event code as described above
        - _action_: one of the following values:
                - move-view
                - resize-view
@@ -254,7 +254,7 @@
        - _mode_: name of the mode for which to remove the mapping
        - _modifiers_: one or more of the modifiers listed above, separated
          by a plus sign (+).
-       - _button_: the name of a linux input event code as described above
+       - _button_: the name of a Linux input event code as described above
 
 *unmap-switch* _mode_ *lid*|*tablet* _state_
        Remove the switch mapping defined by the arguments:
@@ -336,7 +336,7 @@
 *keyboard-layout* [-rules _rules_] [-model _model_] [-variant _variant_] \
 [-options _options_] _layout_
        Set the XKB layout for all keyboards. Defaults from libxkbcommon are 
used for
-       everything left unspecified. Note that *layout* may be a comma 
separated list
+       everything left unspecified. Note that _layout_ may be a comma 
separated list
        of layouts (e.g. "us,de") which may be switched between using various 
key
        combinations configured through the options argument (e.g. -options
        "grp:ctrl_space_toggle"). See *xkeyboard-config*(7) for possible values 
and
@@ -349,7 +349,7 @@
 
 *keyboard-group-destroy* _group_name_
        Destroy the keyboard group with the given name. All attached keyboards
-       will be released, making them act as seperate devices again.
+       will be released, making them act as separate devices again.
 
 *keyboard-group-add* _group_name_ _input_device_name_
        Add a keyboard to a keyboard group, identified by the keyboard's
@@ -420,7 +420,7 @@
        - _button_: Scroll with pointer movement while holding down a button
 
 *input* _name_ *scroll-button* _button_
-       Set the scroll button of an input device. _button_ is the name of a 
linux
+       Set the scroll button of an input device. _button_ is the name of a 
Linux
        input event code.
 
 # EXAMPLES
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/river-0.2.0+g24/river/Output.zig 
new/river-0.2.4/river/Output.zig
--- old/river-0.2.0+g24/river/Output.zig        2023-01-30 23:48:24.000000000 
+0100
+++ new/river-0.2.4/river/Output.zig    2023-02-10 17:00:35.000000000 +0100
@@ -293,6 +293,8 @@
 
     if (target == .unmapped) return;
 
+    if (server.lock_manager.state != .unlocked) return;
+
     // Find the topmost layer surface in the top or overlay layers which
     // requests keyboard interactivity if any.
     const topmost_surface = outer: for (layers[0..2]) |layer| {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/river-0.2.0+g24/river/Root.zig 
new/river-0.2.4/river/Root.zig
--- old/river-0.2.0+g24/river/Root.zig  2023-01-30 23:48:24.000000000 +0100
+++ new/river-0.2.4/river/Root.zig      2023-02-10 17:00:35.000000000 +0100
@@ -19,7 +19,6 @@
 const build_options = @import("build_options");
 const std = @import("std");
 const assert = std.debug.assert;
-const mem = std.mem;
 const wlr = @import("wlroots");
 const wl = @import("wayland").server.wl;
 
@@ -451,30 +450,58 @@
         const wlr_output = head.state.output;
         const output = @intToPtr(*Output, wlr_output.data);
 
-        var proposed_state = wlr.Output.State.init();
-        head.state.apply(&proposed_state);
+        if (head.state.enabled) {
+            wlr_output.enable(true);
 
-        switch (action) {
-            .test_only => {
-                if (!wlr_output.testState(&proposed_state)) success = false;
-            },
-            .apply => {
-                if (wlr_output.commitState(&proposed_state)) {
-                    if (head.state.enabled) {
+            if (head.state.mode) |mode| {
+                wlr_output.setMode(mode);
+            } else {
+                const custom_mode = &head.state.custom_mode;
+                wlr_output.setCustomMode(custom_mode.width, 
custom_mode.height, custom_mode.refresh);
+            }
+            wlr_output.setScale(head.state.scale);
+            wlr_output.setTransform(head.state.transform);
+            wlr_output.enableAdaptiveSync(head.state.adaptive_sync_enabled);
+
+            switch (action) {
+                .test_only => {
+                    if (!output.wlr_output.testCommit()) success = false;
+                    output.wlr_output.rollback();
+                },
+                .apply => {
+                    if (output.wlr_output.commit()) {
                         // Just updates the output's position if it is already 
in the layout
                         self.output_layout.add(output.wlr_output, 
head.state.x, head.state.y);
                         output.arrangeLayers(.mapped);
-                    } else {
+                    } else |_| {
+                        std.log.scoped(.output_manager).err("failed to apply 
config to output {s}", .{output.wlr_output.name});
+                        success = false;
+                    }
+                },
+            }
+        } else {
+            // The output is already disabled, so there's nothing to do
+            if (!wlr_output.enabled) continue;
+
+            wlr_output.enable(false);
+
+            switch (action) {
+                .test_only => {
+                    if (!output.wlr_output.testCommit()) success = false;
+                    output.wlr_output.rollback();
+                },
+                .apply => {
+                    if (output.wlr_output.commit()) {
                         self.removeOutput(output);
                         self.output_layout.remove(output.wlr_output);
+                    } else |_| {
+                        std.log.scoped(.output_manager).err("failed to apply 
config to output {s}", .{
+                            output.wlr_output.name,
+                        });
+                        success = false;
                     }
-                } else {
-                    std.log.scoped(.output_manager).err("failed to apply 
config to output {s}", .{
-                        output.wlr_output.name,
-                    });
-                    success = false;
-                }
-            },
+                },
+            }
         }
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/river-0.2.0+g24/river/XwaylandOverrideRedirect.zig 
new/river-0.2.4/river/XwaylandOverrideRedirect.zig
--- old/river-0.2.0+g24/river/XwaylandOverrideRedirect.zig      2023-01-30 
23:48:24.000000000 +0100
+++ new/river-0.2.4/river/XwaylandOverrideRedirect.zig  2023-02-10 
17:00:35.000000000 +0100
@@ -101,6 +101,8 @@
 }
 
 pub fn focusIfDesired(self: *Self) void {
+    if (server.lock_manager.state != .unlocked) return;
+
     if (self.xwayland_surface.overrideRedirectWantsFocus() and
         self.xwayland_surface.icccmInputModel() != .none)
     {

++++++ river-0.2.0+g24.tar.xz -> river-0.2.4.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/river-0.2.0+g24/README.md new/river-0.2.4/README.md
--- old/river-0.2.0+g24/README.md       2023-01-30 23:48:24.000000000 +0100
+++ new/river-0.2.4/README.md   2023-02-10 17:00:35.000000000 +0100
@@ -3,9 +3,9 @@
 River is a dynamic tiling Wayland compositor with flexible runtime
 configuration.
 
-Join us at [#river](https://web.libera.chat/?channels=#river)
-on irc.libera.chat. Read our man pages and our
-[wiki](https://github.com/riverwm/river/wiki).
+Install from your [package 
manager](https://repology.org/project/river/versions) —
+Join us at [#river](https://web.libera.chat/?channels=#river) on 
irc.libera.chat —
+Read our man pages and [wiki](https://github.com/riverwm/river/wiki)
 
 *Note: river is currently early in development. Expect breaking
 changes and missing features. Bugs should however be rare at
@@ -24,10 +24,6 @@
 
 ## Building
 
-<a href="https://repology.org/project/river/versions";>
-    <img src="https://repology.org/badge/vertical-allrepos/river.svg"; 
alt="Packaging status" align="right">
-</a>
-
 On cloning the repository, you must init and update the submodules as well
 with e.g.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/river-0.2.0+g24/build.zig new/river-0.2.4/build.zig
--- old/river-0.2.0+g24/build.zig       2023-01-30 23:48:24.000000000 +0100
+++ new/river-0.2.4/build.zig   2023-02-10 17:00:35.000000000 +0100
@@ -10,7 +10,7 @@
 /// with the "-dev" suffix.
 /// When a release is tagged, the "-dev" suffix should be removed for the 
commit that gets tagged.
 /// Directly after the tagged commit, the version should be bumped and the 
"-dev" suffix added.
-const version = "0.3.0-dev";
+const version = "0.2.4";
 
 pub fn build(b: *zbs.Builder) !void {
     const target = b.standardTargetOptions(.{});
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/river-0.2.0+g24/deps/zig-wlroots/src/types/output.zig 
new/river-0.2.4/deps/zig-wlroots/src/types/output.zig
--- old/river-0.2.0+g24/deps/zig-wlroots/src/types/output.zig   2023-01-30 
23:48:24.000000000 +0100
+++ new/river-0.2.4/deps/zig-wlroots/src/types/output.zig       2023-02-10 
17:00:35.000000000 +0100
@@ -1,8 +1,6 @@
 const wlr = @import("../wlroots.zig");
 
-const std = @import("std");
-const mem = std.mem;
-const os = std.os;
+const os = @import("std").os;
 
 const pixman = @import("pixman");
 
@@ -79,12 +77,6 @@
         gamma_lut: ?[*]u16,
         gamma_lut_size: usize,
 
-        pub fn init() State {
-            var state: State = undefined;
-            mem.set(u8, mem.asBytes(&state), 0);
-            return state;
-        }
-
         extern fn wlr_output_state_set_enabled(state: *State, enabled: bool) 
void;
         pub const setEnabled = wlr_output_state_set_enabled;
 
@@ -311,10 +303,10 @@
     extern fn wlr_output_rollback(output: *Output) void;
     pub const rollback = wlr_output_rollback;
 
-    extern fn wlr_output_test_state(output: *Output, state: *const 
Output.State) bool;
+    extern fn wlr_output_test_state(output: *Output) void;
     pub const testState = wlr_output_test_state;
 
-    extern fn wlr_output_commit_state(output: *Output, state: *const 
Output.State) bool;
+    extern fn wlr_output_commit_state(output: *Output) void;
     pub const commitState = wlr_output_commit_state;
 
     extern fn wlr_output_schedule_frame(output: *Output) void;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/river-0.2.0+g24/doc/riverctl.1.scd 
new/river-0.2.4/doc/riverctl.1.scd
--- old/river-0.2.0+g24/doc/riverctl.1.scd      2023-01-30 23:48:24.000000000 
+0100
+++ new/river-0.2.4/doc/riverctl.1.scd  2023-02-10 17:00:35.000000000 +0100
@@ -177,7 +177,7 @@
 Keys are specified by their XKB keysym name. See
 _/usr/include/xkbcommon/xkbcommon-keysyms.h_ for the complete list.
 
-Mouse buttons are specified by linux input event code names. The most commonly
+Mouse buttons are specified by Linux input event code names. The most commonly
 used values are:
 
        - BTN_LEFT - left mouse button
@@ -219,7 +219,7 @@
        - _mode_: name of the mode for which to create the mapping
        - _modifiers_: one or more of the modifiers listed above, separated
          by a plus sign (+).
-       - _button_: the name of a linux input event code as described above
+       - _button_: the name of a Linux input event code as described above
        - _action_: one of the following values:
                - move-view
                - resize-view
@@ -254,7 +254,7 @@
        - _mode_: name of the mode for which to remove the mapping
        - _modifiers_: one or more of the modifiers listed above, separated
          by a plus sign (+).
-       - _button_: the name of a linux input event code as described above
+       - _button_: the name of a Linux input event code as described above
 
 *unmap-switch* _mode_ *lid*|*tablet* _state_
        Remove the switch mapping defined by the arguments:
@@ -336,7 +336,7 @@
 *keyboard-layout* [-rules _rules_] [-model _model_] [-variant _variant_] \
 [-options _options_] _layout_
        Set the XKB layout for all keyboards. Defaults from libxkbcommon are 
used for
-       everything left unspecified. Note that *layout* may be a comma 
separated list
+       everything left unspecified. Note that _layout_ may be a comma 
separated list
        of layouts (e.g. "us,de") which may be switched between using various 
key
        combinations configured through the options argument (e.g. -options
        "grp:ctrl_space_toggle"). See *xkeyboard-config*(7) for possible values 
and
@@ -349,7 +349,7 @@
 
 *keyboard-group-destroy* _group_name_
        Destroy the keyboard group with the given name. All attached keyboards
-       will be released, making them act as seperate devices again.
+       will be released, making them act as separate devices again.
 
 *keyboard-group-add* _group_name_ _input_device_name_
        Add a keyboard to a keyboard group, identified by the keyboard's
@@ -420,7 +420,7 @@
        - _button_: Scroll with pointer movement while holding down a button
 
 *input* _name_ *scroll-button* _button_
-       Set the scroll button of an input device. _button_ is the name of a 
linux
+       Set the scroll button of an input device. _button_ is the name of a 
Linux
        input event code.
 
 # EXAMPLES
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/river-0.2.0+g24/river/Output.zig 
new/river-0.2.4/river/Output.zig
--- old/river-0.2.0+g24/river/Output.zig        2023-01-30 23:48:24.000000000 
+0100
+++ new/river-0.2.4/river/Output.zig    2023-02-10 17:00:35.000000000 +0100
@@ -293,6 +293,8 @@
 
     if (target == .unmapped) return;
 
+    if (server.lock_manager.state != .unlocked) return;
+
     // Find the topmost layer surface in the top or overlay layers which
     // requests keyboard interactivity if any.
     const topmost_surface = outer: for (layers[0..2]) |layer| {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/river-0.2.0+g24/river/Root.zig 
new/river-0.2.4/river/Root.zig
--- old/river-0.2.0+g24/river/Root.zig  2023-01-30 23:48:24.000000000 +0100
+++ new/river-0.2.4/river/Root.zig      2023-02-10 17:00:35.000000000 +0100
@@ -19,7 +19,6 @@
 const build_options = @import("build_options");
 const std = @import("std");
 const assert = std.debug.assert;
-const mem = std.mem;
 const wlr = @import("wlroots");
 const wl = @import("wayland").server.wl;
 
@@ -451,30 +450,58 @@
         const wlr_output = head.state.output;
         const output = @intToPtr(*Output, wlr_output.data);
 
-        var proposed_state = wlr.Output.State.init();
-        head.state.apply(&proposed_state);
+        if (head.state.enabled) {
+            wlr_output.enable(true);
 
-        switch (action) {
-            .test_only => {
-                if (!wlr_output.testState(&proposed_state)) success = false;
-            },
-            .apply => {
-                if (wlr_output.commitState(&proposed_state)) {
-                    if (head.state.enabled) {
+            if (head.state.mode) |mode| {
+                wlr_output.setMode(mode);
+            } else {
+                const custom_mode = &head.state.custom_mode;
+                wlr_output.setCustomMode(custom_mode.width, 
custom_mode.height, custom_mode.refresh);
+            }
+            wlr_output.setScale(head.state.scale);
+            wlr_output.setTransform(head.state.transform);
+            wlr_output.enableAdaptiveSync(head.state.adaptive_sync_enabled);
+
+            switch (action) {
+                .test_only => {
+                    if (!output.wlr_output.testCommit()) success = false;
+                    output.wlr_output.rollback();
+                },
+                .apply => {
+                    if (output.wlr_output.commit()) {
                         // Just updates the output's position if it is already 
in the layout
                         self.output_layout.add(output.wlr_output, 
head.state.x, head.state.y);
                         output.arrangeLayers(.mapped);
-                    } else {
+                    } else |_| {
+                        std.log.scoped(.output_manager).err("failed to apply 
config to output {s}", .{output.wlr_output.name});
+                        success = false;
+                    }
+                },
+            }
+        } else {
+            // The output is already disabled, so there's nothing to do
+            if (!wlr_output.enabled) continue;
+
+            wlr_output.enable(false);
+
+            switch (action) {
+                .test_only => {
+                    if (!output.wlr_output.testCommit()) success = false;
+                    output.wlr_output.rollback();
+                },
+                .apply => {
+                    if (output.wlr_output.commit()) {
                         self.removeOutput(output);
                         self.output_layout.remove(output.wlr_output);
+                    } else |_| {
+                        std.log.scoped(.output_manager).err("failed to apply 
config to output {s}", .{
+                            output.wlr_output.name,
+                        });
+                        success = false;
                     }
-                } else {
-                    std.log.scoped(.output_manager).err("failed to apply 
config to output {s}", .{
-                        output.wlr_output.name,
-                    });
-                    success = false;
-                }
-            },
+                },
+            }
         }
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/river-0.2.0+g24/river/XwaylandOverrideRedirect.zig 
new/river-0.2.4/river/XwaylandOverrideRedirect.zig
--- old/river-0.2.0+g24/river/XwaylandOverrideRedirect.zig      2023-01-30 
23:48:24.000000000 +0100
+++ new/river-0.2.4/river/XwaylandOverrideRedirect.zig  2023-02-10 
17:00:35.000000000 +0100
@@ -101,6 +101,8 @@
 }
 
 pub fn focusIfDesired(self: *Self) void {
+    if (server.lock_manager.state != .unlocked) return;
+
     if (self.xwayland_surface.overrideRedirectWantsFocus() and
         self.xwayland_surface.icccmInputModel() != .none)
     {

++++++ river.obsinfo ++++++
--- /var/tmp/diff_new_pack.IT7tZ5/_old  2023-02-13 16:43:00.820115734 +0100
+++ /var/tmp/diff_new_pack.IT7tZ5/_new  2023-02-13 16:43:00.824115757 +0100
@@ -1,5 +1,5 @@
 name: river
-version: 0.2.0+g24
-mtime: 1675118904
-commit: 5274383c72aef8c9ecd73d4a82469a3cee29c83d
+version: 0.2.4
+mtime: 1676044835
+commit: 394745608f781261678d097f436ad3720c7b59dd
 

Reply via email to