Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wlr 0.17 #167

Merged
merged 93 commits into from
May 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
d2fbca6
(wlroots 9f793d3) layer-shell-v1: specify version in constructor
m-col Oct 3, 2023
53ef312
(wlroots c8a5dfc) wlr_scene: Add drag icon helper
m-col Oct 3, 2023
83b6efc
(wlroots 258bf9b) compositor: drop wlr_surface.{sx,sy}
m-col Oct 3, 2023
fcc5f7e
(wlroots ff55663) output: introduce request_state event
m-col Oct 3, 2023
0b1e927
(wlroots a541c95) render: make wlr_renderer_begin return a bool
m-col Oct 4, 2023
f2930bd
(wlroots 8cfd449) input-inhibitor: deprecate
m-col Oct 4, 2023
d050f90
(wlroots 41b7acb) backend: return wlr_session in wlr_backend_autocrea…
m-col Oct 4, 2023
295155a
(wlroots e7c556f) backend: drop wlr_backend_get_session()
m-col Oct 4, 2023
eb5c0ce
(wlroots 236918d) Nuke deprecated include/wlr/types/wlr_surface.h
m-col Oct 4, 2023
b7e2835
(wlroots 42016fa) compositor: make renderer optional
m-col Oct 4, 2023
999df6a
(wlroots 060df4c) scene: introduce wlr_scene_buffer.events.outputs_up…
m-col Oct 4, 2023
493f5e0
(wlroots f103dc74) linux-dmabuf-v1: introduce wlr_linux_dmabuf_v1_cre…
m-col Oct 4, 2023
5c61046
(wlroots 19dfe99) output-damage: stop listening for output mode events
m-col Oct 4, 2023
143e1ba
(wlroots c8eb24d) output: drop enable/mode events
m-col Oct 4, 2023
012fa9d
(wlroots 512deeb) compositor: add wlr_surface.events.precommit
m-col Oct 4, 2023
8ce44da
(wlroots 097ea84) output-layout: improve API
m-col Oct 5, 2023
e3b88eb
(wlroots f8e70af) wlr_xdg_activation_v1: add new_token event
m-col Oct 5, 2023
50c4614
add method for wlr_output_commit_state
m-col Oct 5, 2023
5f148b0
(wlroots 7f6d646) keyboard: only update LEDs when changed
m-col Oct 5, 2023
df5d12b
(wlroots df0c926) xdg-shell: rename wlr_xdg_toplevel.added to sent_in…
m-col Oct 5, 2023
bef1ac6
(wlroots 0f24d27) xdg-shell: rename wlr_xdg_popup.committed to sent_i…
m-col Oct 5, 2023
98a8887
(wlroots fbf5982) xwayland/xwm: introduce wlr_xwayland_surface_try_fr…
m-col Oct 5, 2023
d0e8ccf
(wlroots 711a1a3) xdg-shell: convert to try_from
m-col Oct 5, 2023
eb3d921
(wlroots f9bd416) layer-shell-v1: convert to try_from
m-col Oct 5, 2023
b964643
(wlroots 7b32c25) wlr_scene: Rename wlr_scene_surface_from_buffer
m-col Oct 5, 2023
ea89d0c
(wlroots 0682802) xwayland: Read and publish _NET_WM_STRUT_PARTIAL pr…
m-col Oct 5, 2023
a5dab5f
(wlroots 9ef9845) output-damage: drop
m-col Oct 6, 2023
57bfa38
(wlroots 0bb5742) compositor: pass version in wlr_compositor_create
m-col Oct 6, 2023
784bcac
(wlroots 9506290) wlr_scene: Introduce wlr_scene_buffer_set_opacity
m-col Oct 6, 2023
4438657
(wlroots 75d03f2) xwm: introduce associate/dissociate events
m-col Oct 6, 2023
7b54e5d
(wlroots 6b40e08) compositor: introduce unified map logic
m-col Oct 6, 2023
3a8ed75
(wlroots c590bb6) subcompositor: use unified map logic
m-col Oct 6, 2023
698e15f
(wlroots b0437fc) xdg-shell: use unified map logic
m-col Oct 6, 2023
c752f4a
(wlroots c63f365) layer-shell: use unified map logic
m-col Oct 6, 2023
f841658
(wlroots af4181f) drag: use unified map logic
m-col Oct 6, 2023
af66b82
(wlroots 26676c8) xwm: use unified map logic
m-col Oct 6, 2023
89443ae
(wlroots d086ee1) compositor: remove wlr_surface_role.precommit
m-col Oct 6, 2023
eb0b0b8
(wlroots 24a479a) drag: don't set icon's role_data
m-col Oct 6, 2023
c06d937
(wlroots 70c1a57) gamma-control-v1: introduce set_gamma event
m-col Oct 6, 2023
d8e87e9
Add bindings to wlr_output_state methods
m-col Oct 6, 2023
bb8dd9e
fix OutputState.commit_state signature
m-col Oct 6, 2023
206fdd8
(wlroots 753f3cc) compositor: add wlr_surface_role.no_object
m-col Oct 6, 2023
26c26fc
(wlroots da04b06) cursor: add wlr_cursor_set_xcursor()
m-col Oct 6, 2023
c6d92aa
(wlroots 0f67580) compositor: introduce wlr_surface_set_role_object()
m-col Oct 6, 2023
48be1f5
(wlroots 89cb484) compositor: replace role_data with role_resource
m-col Oct 6, 2023
0d2863a
(wlroots be05097) output: add wlr_output_state_init()
m-col Oct 6, 2023
3e9b229
add missing wlr_xwayland_surface.withdrawn
m-col Oct 6, 2023
254409d
(wlroots 18bafbf) xcursor-manager: drop wlr_xcursor_manager_set_curso…
m-col Oct 6, 2023
b4078da
(wlroots 19ba3f0) xwayland: drop struct wlr_xwayland_move_event
m-col Oct 6, 2023
0d8f05d
(wlroots 214df8e) scene_output: optionally record and report timings
m-col Oct 6, 2023
c4d4b01
(wlroots 88942d4) scene: rename output_present event to output_sample
m-col Oct 6, 2023
5da8f06
(wlroots 77dc1c2) xwayland: drop wlr_xwayland_surface.events.set_pid
m-col Oct 6, 2023
3cd1031
(wlroots bdc3440) xdg-decoration: store an xdg_toplevel instead of xd…
m-col Oct 6, 2023
9dfabca
(wlroots bd5c4f4) xdg-shell: rework roles
m-col Oct 6, 2023
37546e7
(wlroots 72787db) compositor: drop wlr_surface_destroy_role_object()
m-col Oct 6, 2023
09f654b
(wlroots 91f813f) output_layout: return wlr_output_layout_output when…
m-col Oct 6, 2023
0f63a66
(wlroots f5917f0) scene_output_layout: make output adding explicit
m-col Oct 6, 2023
975f1d7
(wlroots 0fdbdc3) xdg-surface: fix init state flow
m-col Oct 6, 2023
ef10ab0
(wlroots a289f81) drop KDE idle protocol support
m-col Oct 6, 2023
b5ff935
(wlroots bdcf997) xwayland/server: add ready flag
m-col Dec 1, 2023
e825777
make xwayland.Surface.surface an optional type
m-col Dec 1, 2023
e6a5125
add xwayland.Surface associate/dissociate events
m-col Dec 1, 2023
2160ed5
(wlroots 33b437d) wlr_scene: Amend scene_buffer.point_accepts_input t…
m-col Dec 1, 2023
5ba4244
ruff
m-col Dec 1, 2023
9ffb75d
misc type fixes
m-col Dec 1, 2023
4dbe9e0
update tinywl
m-col Dec 1, 2023
efc595f
bump wlroots version to 0.17 in CI
m-col Dec 1, 2023
ebf4d76
bump protocols version in CI
m-col Dec 1, 2023
5ca9f62
Add wlr_fractional_scale_manager_v1
jwijenbergh May 5, 2024
e5ddbb8
WLR Types: WLR 0.17 session lock changes
jwijenbergh May 5, 2024
fed1058
FFI Build: Fix duplicate wlr_output_state declarations
jwijenbergh May 5, 2024
fc504fe
Headers: Drop KDE idle protocol
jwijenbergh May 6, 2024
f30788c
wlroots: re-gen
jwijenbergh May 6, 2024
cbff1cf
CI: Build xwayland from source
jwijenbergh May 6, 2024
357f645
ffi: Add back definitions of wlr_session_lock_surface_v1
jwijenbergh May 6, 2024
a8a067f
output: remove commit_state
jwijenbergh May 6, 2024
25fabf8
ci: set wlroots to 0.17.3
jwijenbergh May 6, 2024
3a96a3c
xdg: Rename TopLevel to Toplevel
jwijenbergh May 6, 2024
e2d5413
Add initial changes for 0.17.0
jwijenbergh May 6, 2024
9f29208
Tiny + Wlroots: Fix SceneOutputLayout API
jwijenbergh May 10, 2024
1a21d9e
Wlroots: Make some functions static instead of classmethod
jwijenbergh May 10, 2024
011c3ad
Tiny + Wlroots: Use seat.set_keyboard again
jwijenbergh May 10, 2024
94f91ac
Tiny + Wlroots: Fix diff between Output and OutputState setters
jwijenbergh May 10, 2024
975b30f
Format + Lint fixes
jwijenbergh May 10, 2024
967f1b1
XdgToplevel: Added missing base property
heuer May 10, 2024
f1369f2
Tiny: Use | None for Optional typing
jwijenbergh May 10, 2024
b1b7b67
Seat: Remove warnings import
jwijenbergh May 10, 2024
00198c3
wlroots: Support themes for xcursor manager
jwijenbergh May 10, 2024
5cc1a94
Wlroots: Rename *_VERSION, mark as Final and change err
jwijenbergh May 12, 2024
575a816
Wlroots + Tiny: Convert keyboard property to get_keyboard
jwijenbergh May 12, 2024
2b4919b
Wlroots Scene: Add wlr_scene_subsurface_tree_set_clip
jwijenbergh May 12, 2024
13a4fb3
Wlroots SceneTree: Add a children iterator
jwijenbergh May 12, 2024
2477830
Merge branch 'main' into wlr-0.17
flacjacket May 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 24 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,25 +14,28 @@ jobs:
libdrm-version: "2.4.114"
seatd-version: "0.6.4"
pixman-version: "0.42.0"
xwayland-version: "22.1.9"
hwdata-version: "0.364"
wayland-version: "1.22.0"
wayland-protocols-version: "1.31"
wayland-protocols-version: "1.32"
strategy:
fail-fast: false
matrix:
wlroots-version: ["0.16.2", master]
wlroots-version: ["0.17.3", master]
steps:
- name: Install dependencies
run: |
sudo apt update
sudo apt-get install -y --no-install-recommends \
libepoxy-dev \
libegl1-mesa-dev \
libgbm-dev \
libgles2-mesa-dev \
libinput-dev \
libpciaccess-dev \
libxcb-composite0-dev \
libxcb-dri3-dev \
libxcb-ewmh-dev \
libxcb-icccm4-dev \
libxcb-image0-dev \
libxcb-present-dev \
Expand All @@ -41,9 +44,12 @@ jobs:
libxcb-xfixes0-dev \
libxcb-xinput-dev \
libxcb1-dev \
libxfont-dev \
libxkbcommon-dev \
ninja-build \
xwayland
libxshmfence-dev \
xfonts-utils \
xserver-xorg-dev \
ninja-build
sudo pip install meson
- name: Set environment variables
run: |
Expand All @@ -55,13 +61,15 @@ jobs:
run: |
wget $WAYLAND_URL
wget $WAYLAND_PROTOCOLS_URL
wget $XWAYLAND_URL
wget $LIBDRM_URL
wget -O seatd.tar.gz $SEATD_URL
wget $PIXMAN_URL
wget -O hwdata.tar.gz $HWDATA_URL
wget -O wlroots.tar.gz $WLROOTS_URL
tar -xJf wayland-${{ env.wayland-version }}.tar.xz
tar -xJf wayland-protocols-${{ env.wayland-protocols-version }}.tar.xz
tar -xzf xserver-xwayland-${{ env.xwayland-version }}.tar.gz
tar -xzf drm-libdrm-${{ env.libdrm-version }}.tar.gz
tar -xzf seatd.tar.gz
tar -xjf pixman-pixman-${{ env.pixman-version }}.tar.bz2
Expand All @@ -70,6 +78,7 @@ jobs:
env:
WAYLAND_URL: https://gitlab.freedesktop.org/wayland/wayland/-/releases/${{ env.wayland-version }}/downloads/wayland-${{ env.wayland-version }}.tar.xz
WAYLAND_PROTOCOLS_URL: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/${{ env.wayland-protocols-version }}/downloads/wayland-protocols-${{ env.wayland-protocols-version }}.tar.xz
XWAYLAND_URL: https://gitlab.freedesktop.org/xorg/xserver/-/archive/xwayland-${{ env.xwayland-version }}/xserver-xwayland-${{ env.xwayland-version }}.tar.gz
LIBDRM_URL: https://gitlab.freedesktop.org/mesa/drm/-/archive/libdrm-${{ env.libdrm-version }}/drm-libdrm-${{ env.libdrm-version }}.tar.gz
SEATD_URL: https://git.sr.ht/~kennylevinsen/seatd/archive/${{ env.seatd-version }}.tar.gz
PIXMAN_URL: https://gitlab.freedesktop.org/pixman/pixman/-/archive/pixman-${{ env.pixman-version }}/pixman-pixman-${{ env.pixman-version }}.tar.bz2
Expand Down Expand Up @@ -116,6 +125,13 @@ jobs:
./configure --prefix=/usr --libdir=/lib --datadir=/usr/share
make
sudo make install
- name: Build xwayland
working-directory: xserver-xwayland-${{ env.xwayland-version }}
run: |
meson build --prefix=/usr
ninja -C build
DESTDIR=~/wayland ninja -C build install
sudo ninja -C build install
- name: Build wlroots
working-directory: wlroots-${{ matrix.wlroots-version }}
continue-on-error: ${{ matrix.wlroots-version == 'master' }}
Expand Down Expand Up @@ -147,7 +163,7 @@ jobs:
- "pypy-3.8"
- "pypy-3.9"
- "pypy-3.10"
wlroots-version: ["0.16.2"]
wlroots-version: ["0.17.3"]
include:
- python-version: "3.12"
wlroots-version: master
Expand All @@ -174,6 +190,7 @@ jobs:
libinput-dev \
libpciaccess-dev \
libxcb-composite0-dev \
libxcb-ewmh-dev \
libxcb-dri3-dev \
libxcb-icccm4-dev \
libxcb-image0-dev \
Expand Down Expand Up @@ -262,7 +279,7 @@ jobs:
needs: build-wayland
env:
python-version: "3.12"
wlroots-version: "0.16.2"
wlroots-version: "0.17.3"
steps:
- name: Download wayland libraries
uses: actions/download-artifact@v3
Expand Down Expand Up @@ -298,7 +315,7 @@ jobs:
needs: build-wayland
env:
python-version: "3.12"
wlroots-version: "0.16.2"
wlroots-version: "0.17.3"
steps:
- name: Download wayland libraries
uses: actions/download-artifact@v3
Expand Down
47 changes: 44 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,29 +13,40 @@ jobs:
libdrm-version: "2.4.114"
seatd-version: "0.6.3"
pixman-version: "0.42.0"
wayland-protocols-version: "1.31"
xwayland-version: "22.1.9"
xcvt-version: "0.1.2"
inputproto-version: "2021.5"
wayland-protocols-version: "1.32"
wayland-version: "1.22.0"
wlroots-version: "0.16.2"
wlroots-version: "0.17.3"
steps:
- name: Install dependencies
run: |
yum -y install \
hwdata \
python3-pip \
libepoxy-devel \
libffi-devel \
libinput-devel \
libpciaccess-devel \
libtirpc-devel \
libudev-devel \
libXdmcp-devel \
libXfont2-devel \
libxkbcommon-x11-devel \
libxkbfile-devel \
libxml2-devel \
libxshmfence-devel \
mesa-libEGL-devel \
mesa-libgbm-devel \
openssl-devel \
xcb-util-devel \
xcb-util-image-devel \
xcb-util-keysyms-devel \
xcb-util-renderutil-devel \
xcb-util-wm-devel \
xorg-x11-server-Xwayland \
xorg-x11-font-utils \
xorg-x11-xtrans-devel \
ninja-build \
wget
- name: Set environment variables
Expand All @@ -48,19 +59,28 @@ jobs:
run: |
wget $WAYLAND_URL
wget $WAYLAND_PROTOCOLS_URL
wget $XCVT_URL
wget $INPUTPROTO_URL
wget $XWAYLAND_URL
wget $LIBDRM_URL
wget -O seatd.tar.gz $SEATD_URL
wget $PIXMAN_URL
wget -O wlroots.tar.gz $WLROOTS_URL
tar -xJf wayland-${{ env.wayland-version }}.tar.xz
tar -xJf wayland-protocols-${{ env.wayland-protocols-version }}.tar.xz
tar -xzf xorgproto-xorgproto-${{ env.inputproto-version }}.tar.gz
tar -xzf libxcvt-libxcvt-${{ env.xcvt-version }}.tar.gz
tar -xzf xserver-xwayland-${{ env.xwayland-version }}.tar.gz
tar -xzf drm-libdrm-${{ env.libdrm-version }}.tar.gz
tar -xjf pixman-pixman-${{ env.pixman-version }}.tar.bz2
tar -xzf seatd.tar.gz
tar -xzf wlroots.tar.gz
env:
WAYLAND_URL: https://gitlab.freedesktop.org/wayland/wayland/-/releases/${{ env.wayland-version }}/downloads/wayland-${{ env.wayland-version }}.tar.xz
WAYLAND_PROTOCOLS_URL: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/${{ env.wayland-protocols-version }}/downloads/wayland-protocols-${{ env.wayland-protocols-version }}.tar.xz
XWAYLAND_URL: https://gitlab.freedesktop.org/xorg/xserver/-/archive/xwayland-${{ env.xwayland-version }}/xserver-xwayland-${{ env.xwayland-version }}.tar.gz
XCVT_URL: https://gitlab.freedesktop.org/xorg/lib/libxcvt/-/archive/libxcvt-${{ env.xcvt-version }}/libxcvt-libxcvt-${{ env.xcvt-version }}.tar.gz
INPUTPROTO_URL: https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/archive/xorgproto-${{ env.inputproto-version}}/xorgproto-xorgproto-${{ env.inputproto-version}}.tar.gz
LIBDRM_URL: https://gitlab.freedesktop.org/mesa/drm/-/archive/libdrm-${{ env.libdrm-version }}/drm-libdrm-${{ env.libdrm-version }}.tar.gz
SEATD_URL: https://git.sr.ht/~kennylevinsen/seatd/archive/${{ env.seatd-version }}.tar.gz
PIXMAN_URL: https://gitlab.freedesktop.org/pixman/pixman/-/archive/pixman-${{ env.pixman-version }}/pixman-pixman-${{ env.pixman-version }}.tar.bz2
Expand Down Expand Up @@ -103,6 +123,27 @@ jobs:
ninja -C build
DESTDIR=~/wayland ninja -C build install
ninja -C build install
- name: Build inputproto
working-directory: xorgproto-xorgproto-${{ env.inputproto-version }}
run: |
meson build --prefix=/usr
ninja -C build
DESTDIR=~/wayland ninja -C build install
ninja -C build install
- name: Build libxcvt
working-directory: libxcvt-libxcvt-${{ env.xcvt-version }}
run: |
meson build --prefix=/usr
ninja -C build
DESTDIR=~/wayland ninja -C build install
ninja -C build install
- name: Build xwayland
working-directory: xserver-xwayland-${{ env.xwayland-version }}
run: |
meson build --prefix=/usr
ninja -C build
DESTDIR=~/wayland ninja -C build install
ninja -C build install
- name: Build wlroots
working-directory: wlroots-${{ env.wlroots-version }}
run: |
Expand Down
6 changes: 6 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
0.17.0 -- 2024-mm-dd
------
* Support for wlroots 0.17.x
* **Breaking change** Rename all declarations of XdgTopLevel.* to XdgToplevel.*


0.16.9 -- 2024-05-12
--------------------
* Fixed ``Seat.touch_point_clear_focus``: The method took too many arguments
Expand Down
1 change: 0 additions & 1 deletion check_headers.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
"unstable/pointer-constraints/pointer-constraints-unstable-v1.xml",
]
WLROOTS_PROTOCOLS = [
"protocol/idle.xml",
"protocol/wlr-output-power-management-unstable-v1.xml",
"protocol/wlr-layer-shell-unstable-v1.xml",
]
Expand Down
5 changes: 3 additions & 2 deletions tiny/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ def main(argv) -> None:
xdg_shell = XdgShell(display)
with OutputLayout() as output_layout, Cursor(
output_layout
) as cursor, XCursorManager(24) as xcursor_manager, Seat(
) as cursor, XCursorManager(None, 24) as xcursor_manager, Seat(
display, "seat0"
) as seat:
scene = Scene()
scene.attach_output_layout(output_layout)
scene_layout = scene.attach_output_layout(output_layout)
tinywl_server = TinywlServer( # noqa: F841
display=display,
backend=backend,
Expand All @@ -51,6 +51,7 @@ def main(argv) -> None:
cursor_manager=xcursor_manager,
seat=seat,
output_layout=output_layout,
scene_layout=scene_layout,
)

socket = display.add_socket()
Expand Down
Loading
Loading