Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pywlroots for
openSUSE:Factory checked in at 2022-10-01 17:43:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pywlroots (Old)
and /work/SRC/openSUSE:Factory/.python-pywlroots.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pywlroots"
Sat Oct 1 17:43:55 2022 rev:3 rq:1007397 version:0.15.22
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pywlroots/python-pywlroots.changes
2022-08-27 11:50:50.497939944 +0200
+++
/work/SRC/openSUSE:Factory/.python-pywlroots.new.2275/python-pywlroots.changes
2022-10-01 17:44:22.541803166 +0200
@@ -1,0 +2,12 @@
+Sat Sep 24 07:36:20 UTC 2022 - Soc Virnyl Estela <[email protected]>
+
+- Add libdrm in BuildRequires for the spec
+
+-------------------------------------------------------------------
+Sat Sep 24 07:30:30 UTC 2022 - Soc Virnyl Estela <[email protected]>
+
+- Bump version to 0.15.22:
+ * Add method to XCursorManager for wlr_xcursor_manager_load
+ * Bump libdrm version to 2.4.113 in CI to fix build agaist wlroots master
+
+-------------------------------------------------------------------
Old:
----
pywlroots-0.15.19.tar.gz
New:
----
pywlroots-0.15.22.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pywlroots.spec ++++++
--- /var/tmp/diff_new_pack.bsPEFV/_old 2022-10-01 17:44:23.045804083 +0200
+++ /var/tmp/diff_new_pack.bsPEFV/_new 2022-10-01 17:44:23.053804097 +0200
@@ -18,7 +18,7 @@
%bcond_without test
Name: python-pywlroots
-Version: 0.15.19
+Version: 0.15.22
Release: 0
Summary: Python binding to the wlroots library using cffi
License: NCSA
@@ -38,6 +38,7 @@
BuildRequires: %{python_module xkbcommon}
BuildRequires: %{pythons}
BuildRequires: fdupes
+BuildRequires: libdrm >= 2.4.113
BuildRequires: libwlroots10
BuildRequires: python-rpm-macros
BuildRequires: pkgconfig(glib-2.0)
++++++ pywlroots-0.15.19.tar.gz -> pywlroots-0.15.22.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.19/PKG-INFO
new/pywlroots-0.15.22/PKG-INFO
--- old/pywlroots-0.15.19/PKG-INFO 2022-07-24 23:33:33.750612500 +0200
+++ new/pywlroots-0.15.22/PKG-INFO 2022-09-20 04:17:53.261108400 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: pywlroots
-Version: 0.15.19
+Version: 0.15.22
Summary: Python binding to the wlroots library using cffi
Home-page: https://github.com/flacjacket/pywlroots
Author: Sean Vig
@@ -8,7 +8,6 @@
License: MIT
Project-URL: Code, https://github.com/flacjacket/pywlroots/
Project-URL: Issue tracker, https://github.com/flacjacket/pywlroots/issues
-Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Operating System :: POSIX
Classifier: Operating System :: POSIX :: Linux
@@ -65,5 +64,3 @@
.. |ci| image::
https://github.com/flacjacket/pywlroots/actions/workflows/ci.yml/badge.svg
:target: https://github.com/flacjacket/pywlroots/actions/workflows/ci.yml
:alt: Build Status
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.19/pywlroots.egg-info/PKG-INFO
new/pywlroots-0.15.22/pywlroots.egg-info/PKG-INFO
--- old/pywlroots-0.15.19/pywlroots.egg-info/PKG-INFO 2022-07-24
23:33:33.000000000 +0200
+++ new/pywlroots-0.15.22/pywlroots.egg-info/PKG-INFO 2022-09-20
04:17:53.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: pywlroots
-Version: 0.15.19
+Version: 0.15.22
Summary: Python binding to the wlroots library using cffi
Home-page: https://github.com/flacjacket/pywlroots
Author: Sean Vig
@@ -8,7 +8,6 @@
License: MIT
Project-URL: Code, https://github.com/flacjacket/pywlroots/
Project-URL: Issue tracker, https://github.com/flacjacket/pywlroots/issues
-Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Operating System :: POSIX
Classifier: Operating System :: POSIX :: Linux
@@ -65,5 +64,3 @@
.. |ci| image::
https://github.com/flacjacket/pywlroots/actions/workflows/ci.yml/badge.svg
:target: https://github.com/flacjacket/pywlroots/actions/workflows/ci.yml
:alt: Build Status
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.19/tiny/server.py
new/pywlroots-0.15.22/tiny/server.py
--- old/pywlroots-0.15.19/tiny/server.py 2022-07-24 23:33:32.000000000
+0200
+++ new/pywlroots-0.15.22/tiny/server.py 2022-09-20 04:17:51.000000000
+0200
@@ -308,14 +308,9 @@
def server_new_output(self, listener, output: Output) -> None:
output.init_render(self._allocator, self._renderer)
- if output.modes != []:
- mode = output.preferred_mode()
- if mode is None:
- logger.error("Got no output mode")
- return
- output.set_mode(mode)
- output.enable()
- output.commit()
+ output.set_mode(output.preferred_mode())
+ output.enable()
+ output.commit()
self.outputs.append(output)
self._output_layout.add_auto(output)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.19/wlroots/ffi_build.py
new/pywlroots-0.15.22/wlroots/ffi_build.py
--- old/pywlroots-0.15.19/wlroots/ffi_build.py 2022-07-24 23:33:32.000000000
+0200
+++ new/pywlroots-0.15.22/wlroots/ffi_build.py 2022-09-20 04:17:51.000000000
+0200
@@ -853,6 +853,14 @@
# types/wlr_output.h
CDEF += """
+struct wlr_output_mode {
+ int32_t width, height;
+ int32_t refresh; // mHz
+ bool preferred;
+ struct wl_list link;
+ ...;
+};
+
struct wlr_output_state {
...;
};
@@ -2334,6 +2342,8 @@
void wlr_xdg_surface_for_each_popup_surface(struct wlr_xdg_surface *surface,
wlr_surface_iterator_func_t iterator, void *user_data);
+
+uint32_t wlr_xdg_surface_schedule_configure(struct wlr_xdg_surface *surface);
"""
# util/edges.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pywlroots-0.15.19/wlroots/include/xdg-shell-protocol.h
new/pywlroots-0.15.22/wlroots/include/xdg-shell-protocol.h
--- old/pywlroots-0.15.19/wlroots/include/xdg-shell-protocol.h 2022-07-24
23:33:32.000000000 +0200
+++ new/pywlroots-0.15.22/wlroots/include/xdg-shell-protocol.h 2022-09-20
04:17:51.000000000 +0200
@@ -1,4 +1,4 @@
-/* Generated by wayland-scanner 1.20.0 */
+/* Generated by wayland-scanner 1.21.0 */
#ifndef XDG_SHELL_SERVER_PROTOCOL_H
#define XDG_SHELL_SERVER_PROTOCOL_H
@@ -1153,6 +1153,28 @@
#define XDG_TOPLEVEL_STATE_TILED_BOTTOM_SINCE_VERSION 2
#endif /* XDG_TOPLEVEL_STATE_ENUM */
+#ifndef XDG_TOPLEVEL_WM_CAPABILITIES_ENUM
+#define XDG_TOPLEVEL_WM_CAPABILITIES_ENUM
+enum xdg_toplevel_wm_capabilities {
+ /**
+ * show_window_menu is available
+ */
+ XDG_TOPLEVEL_WM_CAPABILITIES_WINDOW_MENU = 1,
+ /**
+ * set_maximized and unset_maximized are available
+ */
+ XDG_TOPLEVEL_WM_CAPABILITIES_MAXIMIZE = 2,
+ /**
+ * set_fullscreen and unset_fullscreen are available
+ */
+ XDG_TOPLEVEL_WM_CAPABILITIES_FULLSCREEN = 3,
+ /**
+ * set_minimized is available
+ */
+ XDG_TOPLEVEL_WM_CAPABILITIES_MINIMIZE = 4,
+};
+#endif /* XDG_TOPLEVEL_WM_CAPABILITIES_ENUM */
+
/**
* @ingroup iface_xdg_toplevel
* @struct xdg_toplevel_interface
@@ -1173,19 +1195,21 @@
* stacked above the parent surface and all other ancestor
* surfaces.
*
- * Parent windows should be set on dialogs, toolboxes, or other
+ * Parent surfaces should be set on dialogs, toolboxes, or other
* "auxiliary" surfaces, so that the parent is raised when the
* dialog is raised.
*
- * Setting a null parent for a child window removes any
- * parent-child relationship for the child. Setting a null parent
- * for a window which currently has no parent is a no-op.
- *
- * If the parent is unmapped then its children are managed as
- * though the parent of the now-unmapped parent has become the
- * parent of this surface. If no parent exists for the now-unmapped
- * parent then the children are managed as though they have no
- * parent surface.
+ * Setting a null parent for a child surface unsets its parent.
+ * Setting a null parent for a surface which currently has no
+ * parent is a no-op.
+ *
+ * Only mapped surfaces can have child surfaces. Setting a parent
+ * which is not mapped is equivalent to setting a null parent. If a
+ * surface becomes unmapped, its children's parent is set to the
+ * parent of the now-unmapped surface. If the now-unmapped surface
+ * has no parent, its children's parent is unset. If the
+ * now-unmapped surface becomes mapped again, its parent-child
+ * relationship is not restored.
*/
void (*set_parent)(struct wl_client *client,
struct wl_resource *resource,
@@ -1543,6 +1567,7 @@
#define XDG_TOPLEVEL_CONFIGURE 0
#define XDG_TOPLEVEL_CLOSE 1
#define XDG_TOPLEVEL_CONFIGURE_BOUNDS 2
+#define XDG_TOPLEVEL_WM_CAPABILITIES 3
/**
* @ingroup iface_xdg_toplevel
@@ -1556,6 +1581,10 @@
* @ingroup iface_xdg_toplevel
*/
#define XDG_TOPLEVEL_CONFIGURE_BOUNDS_SINCE_VERSION 4
+/**
+ * @ingroup iface_xdg_toplevel
+ */
+#define XDG_TOPLEVEL_WM_CAPABILITIES_SINCE_VERSION 5
/**
* @ingroup iface_xdg_toplevel
@@ -1647,6 +1676,18 @@
wl_resource_post_event(resource_, XDG_TOPLEVEL_CONFIGURE_BOUNDS, width,
height);
}
+/**
+ * @ingroup iface_xdg_toplevel
+ * Sends an wm_capabilities event to the client owning the resource.
+ * @param resource_ The client's resource
+ * @param capabilities array of 32-bit capabilities
+ */
+static inline void
+xdg_toplevel_send_wm_capabilities(struct wl_resource *resource_, struct
wl_array *capabilities)
+{
+ wl_resource_post_event(resource_, XDG_TOPLEVEL_WM_CAPABILITIES,
capabilities);
+}
+
#ifndef XDG_POPUP_ERROR_ENUM
#define XDG_POPUP_ERROR_ENUM
enum xdg_popup_error {
@@ -1704,10 +1745,6 @@
* popups, it will follow the same dismissing order as required
* from the client.
*
- * The parent of a grabbing popup must either be another xdg_popup
- * with an active explicit grab, or an xdg_popup or xdg_toplevel,
- * if there are no explicit grabs already taken.
- *
* If the topmost grabbing popup is destroyed, the grab will be
* returned to the parent of the popup, if that parent previously
* had an explicit grab.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.19/wlroots/version.py
new/pywlroots-0.15.22/wlroots/version.py
--- old/pywlroots-0.15.19/wlroots/version.py 2022-07-24 23:33:32.000000000
+0200
+++ new/pywlroots-0.15.22/wlroots/version.py 2022-09-20 04:17:51.000000000
+0200
@@ -1,3 +1,3 @@
# Copyright (c) Sean Vig 2021
-version = "0.15.19"
+version = "0.15.22"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pywlroots-0.15.19/wlroots/wlr_types/foreign_toplevel_management_v1.py
new/pywlroots-0.15.22/wlroots/wlr_types/foreign_toplevel_management_v1.py
--- old/pywlroots-0.15.19/wlroots/wlr_types/foreign_toplevel_management_v1.py
2022-07-24 23:33:32.000000000 +0200
+++ new/pywlroots-0.15.22/wlroots/wlr_types/foreign_toplevel_management_v1.py
2022-09-20 04:17:51.000000000 +0200
@@ -18,7 +18,7 @@
_weakkeydict: WeakKeyDictionary = WeakKeyDictionary()
-class ForeignToplevelHandleV1State(enum.IntEnum):
+class ForeignToplevelHandleV1State(enum.IntFlag):
MAXIMIZED = 1 << 0
MINIMIZED = 1 << 1
ACTIVATED = 1 << 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.19/wlroots/wlr_types/input_device.py
new/pywlroots-0.15.22/wlroots/wlr_types/input_device.py
--- old/pywlroots-0.15.19/wlroots/wlr_types/input_device.py 2022-07-24
23:33:32.000000000 +0200
+++ new/pywlroots-0.15.22/wlroots/wlr_types/input_device.py 2022-09-20
04:17:51.000000000 +0200
@@ -4,6 +4,8 @@
import enum
import weakref
+from pywayland.server import Signal
+
from .keyboard import Keyboard
from wlroots import ffi, PtrHasData, lib
@@ -35,6 +37,8 @@
"""
self._ptr = ffi.cast("struct wlr_input_device *", ptr)
+ self.destroy_event =
Signal(ptr=ffi.addressof(self._ptr.events.destroy))
+
@property
def device_type(self) -> InputDeviceType:
"""The device type associated with the current device"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.19/wlroots/wlr_types/output.py
new/pywlroots-0.15.22/wlroots/wlr_types/output.py
--- old/pywlroots-0.15.19/wlroots/wlr_types/output.py 2022-07-24
23:33:32.000000000 +0200
+++ new/pywlroots-0.15.22/wlroots/wlr_types/output.py 2022-09-20
04:17:51.000000000 +0200
@@ -7,12 +7,15 @@
from pywayland.server import Signal
from pywayland.protocol.wayland import WlOutput
+from pywayland.utils import wl_list_for_each
from wlroots import ffi, PtrHasData, lib, Ptr, str_or_none
from wlroots.util.region import PixmanRegion32
from .matrix import Matrix
if TYPE_CHECKING:
+ from typing import Iterator
+
from wlroots.allocator import Allocator
from wlroots.renderer import Renderer
@@ -77,16 +80,23 @@
return self._ptr.phys_width, self._ptr.phys_height
@property
- def modes(self):
- if lib.wl_list_empty(ffi.addressof(self._ptr.modes)) == 1:
- return []
+ def modes(self) -> Iterator[OutputMode]:
+ for ptr in wl_list_for_each(
+ "struct wlr_output_mode *",
+ self._ptr.modes,
+ "link",
+ ffi=ffi,
+ ):
+ yield OutputMode(ptr)
@property
def enabled(self) -> bool:
return self._ptr.enabled
@property
- def current_mode(self) -> OutputMode:
+ def current_mode(self) -> OutputMode | None:
+ if self._ptr.current_mode == ffi.NULL:
+ return None
return OutputMode(self._ptr.current_mode)
@property
@@ -120,12 +130,15 @@
return OutputMode(output_mode_ptr)
- def set_mode(self, mode: OutputMode) -> None:
+ def set_mode(self, mode: OutputMode | None) -> None:
"""Sets the output mode
The output needs to be enabled.
"""
- lib.wlr_output_set_mode(self._ptr, mode._ptr)
+ if mode is None:
+ lib.wlr_output_set_mode(self._ptr, ffi.NULL)
+ else:
+ lib.wlr_output_set_mode(self._ptr, mode._ptr)
def set_custom_mode(self, width: int, height: int, refresh: int) -> None:
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.19/wlroots/wlr_types/output_layout.py
new/pywlroots-0.15.22/wlroots/wlr_types/output_layout.py
--- old/pywlroots-0.15.19/wlroots/wlr_types/output_layout.py 2022-07-24
23:33:32.000000000 +0200
+++ new/pywlroots-0.15.22/wlroots/wlr_types/output_layout.py 2022-09-20
04:17:51.000000000 +0200
@@ -89,7 +89,7 @@
"""Remove an output from the layout."""
lib.wlr_output_layout_remove(self._ptr, output._ptr)
- def get_box(self, reference: Output | None = None) -> Box:
+ def get_box(self, reference: Output | None = None) -> Box | None:
"""
Get the box of the layout for the given reference output in layout
coordinates. If `reference` is None, the box will be for the extents
of the
@@ -97,6 +97,8 @@
"""
if reference:
box_ptr = lib.wlr_output_layout_get_box(self._ptr, reference._ptr)
+ if box_ptr == ffi.NULL:
+ return None
else:
box_ptr = lib.wlr_output_layout_get_box(self._ptr, ffi.NULL)
return Box(ptr=box_ptr)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pywlroots-0.15.19/wlroots/wlr_types/output_management_v1.py
new/pywlroots-0.15.22/wlroots/wlr_types/output_management_v1.py
--- old/pywlroots-0.15.19/wlroots/wlr_types/output_management_v1.py
2022-07-24 23:33:32.000000000 +0200
+++ new/pywlroots-0.15.22/wlroots/wlr_types/output_management_v1.py
2022-09-20 04:17:51.000000000 +0200
@@ -63,12 +63,17 @@
return Output(self._ptr.output)
@property
- def mode(self) -> OutputMode:
+ def mode(self) -> OutputMode | None:
+ if self._ptr.mode == ffi.NULL:
+ return None
return OutputMode(self._ptr.mode)
@mode.setter
- def mode(self, value: OutputMode) -> None:
- self._ptr.mode = value._ptr
+ def mode(self, mode: OutputMode | None) -> None:
+ if mode is None:
+ self._ptr.mode = ffi.NULL
+ else:
+ self._ptr.mode = mode._ptr
@property
def custom_mode(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pywlroots-0.15.19/wlroots/wlr_types/pointer_constraints_v1.py
new/pywlroots-0.15.22/wlroots/wlr_types/pointer_constraints_v1.py
--- old/pywlroots-0.15.19/wlroots/wlr_types/pointer_constraints_v1.py
2022-07-24 23:33:32.000000000 +0200
+++ new/pywlroots-0.15.22/wlroots/wlr_types/pointer_constraints_v1.py
2022-09-20 04:17:51.000000000 +0200
@@ -23,7 +23,7 @@
CONFINED = lib.WLR_POINTER_CONSTRAINT_V1_CONFINED
-class PointerConstraintV1StateField(enum.IntEnum):
+class PointerConstraintV1StateField(enum.IntFlag):
REGION = lib.WLR_POINTER_CONSTRAINT_V1_STATE_REGION
CURSOR_HINT = lib.WLR_POINTER_CONSTRAINT_V1_STATE_CURSOR_HINT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pywlroots-0.15.19/wlroots/wlr_types/xcursor_manager.py
new/pywlroots-0.15.22/wlroots/wlr_types/xcursor_manager.py
--- old/pywlroots-0.15.19/wlroots/wlr_types/xcursor_manager.py 2022-07-24
23:33:32.000000000 +0200
+++ new/pywlroots-0.15.22/wlroots/wlr_types/xcursor_manager.py 2022-09-20
04:17:51.000000000 +0200
@@ -59,6 +59,12 @@
"""Clean-up the X cursor manager on contex manager exit"""
self.destroy()
+ def load(self, scale: float) -> bool:
+ """
+ Ensures an xcursor theme at the given scale factor is loaded in the
manager.
+ """
+ return bool(lib.wlr_xcursor_manager_load(self._ptr, scale))
+
class XCursor(Ptr):
"""struct wlr_xcursor"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.19/wlroots/wlr_types/xdg_shell.py
new/pywlroots-0.15.22/wlroots/wlr_types/xdg_shell.py
--- old/pywlroots-0.15.19/wlroots/wlr_types/xdg_shell.py 2022-07-24
23:33:32.000000000 +0200
+++ new/pywlroots-0.15.22/wlroots/wlr_types/xdg_shell.py 2022-09-20
04:17:51.000000000 +0200
@@ -196,6 +196,13 @@
self._ptr, lib.surface_iterator_callback, handle
)
+ def schedule_configure(self) -> int:
+ """
+ Schedule a surface configuration. This should only be called by
protocols
+ extending the shell.
+ """
+ return lib.wlr_xdg_surface_schedule_configure(self._ptr)
+
class XdgSurfaceConfigure(Ptr):
def __init__(self, ptr) -> None: