x11-toolkits/wlroots: update to 0.13.0

Changes:	https://github.com/swaywm/wlroots/releases/tag/0.13.0
Reported by:	GitHub (watch releases)
Tested by:	Evgeniy Khramtsov (via CFT on x11@ list)
This commit is contained in:
Jan Beich 2021-02-23 17:26:36 +00:00
parent cdea03ab49
commit 70148c1188
20 changed files with 955 additions and 26 deletions

View file

@ -1,10 +1,10 @@
PORTNAME= wlroots
DISTVERSION= 0.12.0
DISTVERSION= 0.13.0
CATEGORIES= x11-toolkits
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
PATCHFILES+= 8bdf0df41719.patch:-p1 # https://github.com/swaywm/wlroots/pull/2064
PATCHFILES+= 90cb6d26877b.patch:-p1 # https://github.com/swaywm/wlroots/pull/2064
PATCHFILES+= 7c0e2a271a4c.patch:-p1 # https://github.com/swaywm/wlroots/pull/2064
PATCHFILES+= d3b759ac5f08.patch:-p1 # https://github.com/swaywm/wlroots/pull/2064
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Modular Wayland compositor library
@ -17,7 +17,7 @@ BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
wayland-protocols>=1.17:graphics/wayland-protocols
LIB_DEPENDS= libudev.so:devel/libudev-devd \
libdrm.so:graphics/libdrm \
libwayland-egl.so:graphics/wayland \
libwayland-server.so:graphics/wayland \
libinput.so:x11/libinput \
libxkbcommon.so:x11/libxkbcommon
RUN_DEPENDS= libudev-devd>=0.4.1:devel/libudev-devd \
@ -31,13 +31,13 @@ USE_LDCONFIG= yes
GH_ACCOUNT= swaywm
MESON_ARGS= -Dexamples=false
OPTIONS_DEFINE= CONSOLEKIT LIBSEAT X11
OPTIONS_DEFAULT=LIBSEAT X11
OPTIONS_DEFINE= CONSOLEKIT LIBSEAT UUID X11
OPTIONS_DEFAULT=LIBSEAT UUID X11
OPTIONS_SUB= yes
CONSOLEKIT_DESC= DRM sessions without root using ConsoleKit2
CONSOLEKIT_PATCH_SITES= https://github.com/unrelentingtech/${GH_PROJECT}/commit/:ck2
CONSOLEKIT_PATCHFILES= fcee578b13eb.patch:-p1:ck2 # https://github.com/swaywm/wlroots/pull/1467
CONSOLEKIT_PATCHFILES= fb837ae10b1f.patch:-p1:ck2 # https://github.com/swaywm/wlroots/pull/1467
CONSOLEKIT_LIB_DEPENDS= libdbus-1.so:devel/dbus \
libconsolekit.so:sysutils/consolekit2
CONSOLEKIT_MESON_ENABLED= consolekit2
@ -49,10 +49,17 @@ LIBSEAT_DESC= DRM sessions with/without root via libseat (experimental)
LIBSEAT_LIB_DEPENDS= libseat.so:sysutils/seatd
LIBSEAT_MESON_ENABLED= libseat
# uuid_create() is random on NetBSD and OpenBSD but not DragonFly and FreeBSD
# See also https://github.com/netbsd/src/commit/8651e9a438af
UUID_DESC= Exported surfaces to use random UUIDs via libuuid
UUID_LIB_DEPENDS= libuuid.so:misc/e2fsprogs-libuuid
X11_LIB_DEPENDS= libxcb-errors.so:x11/xcb-util-errors \
libxcb-render-util.so:x11/xcb-util-renderutil \
libxcb-icccm.so:x11/xcb-util-wm
X11_BUILD_DEPENDS= xwayland-devel>0:x11-servers/xwayland-devel
X11_RUN_DEPENDS= xwayland-devel>0:x11-servers/xwayland-devel
X11_USE= XORG=x11,xcb
X11_MESON_ENABLED= x11-backend xcb-icccm xwayland
X11_USE= XORG=xcb
X11_MESON_ENABLED= x11-backend xwayland
.include <bsd.port.mk>

View file

@ -1,9 +1,9 @@
TIMESTAMP = 1604844104
SHA256 (swaywm-wlroots-0.12.0_GH0.tar.gz) = c9e9f4f6d2f526d0b2886daf3ec37e64831773059aa669fb98a88522a1626bdb
SIZE (swaywm-wlroots-0.12.0_GH0.tar.gz) = 476936
SHA256 (8bdf0df41719.patch) = 038fb04b004f862f5ee9a2ad6f97592c94501283b17af6537d19469467cb2e28
SIZE (8bdf0df41719.patch) = 5800
SHA256 (90cb6d26877b.patch) = 65c9c9f45d9916da143b76dec3280f7414c757ff2cf9992897ed69cfcaed5edd
SIZE (90cb6d26877b.patch) = 3971
SHA256 (fcee578b13eb.patch) = 641ae85b3730854f9cbafe9f5f27ddc7c79fa5eb59ff1f5d2ea64f6e6179ca29
SIZE (fcee578b13eb.patch) = 27688
TIMESTAMP = 1617734115
SHA256 (swaywm-wlroots-0.13.0_GH0.tar.gz) = f6bea37fd4a6f5e5f552b83d61adae8c73e64b0bcb9ae0ab464ebcd9309d3cf3
SIZE (swaywm-wlroots-0.13.0_GH0.tar.gz) = 503575
SHA256 (7c0e2a271a4c.patch) = 2b92d3dde7640061ed85ab1690031f7627bebc2366e8c4da217017188ba7195e
SIZE (7c0e2a271a4c.patch) = 5729
SHA256 (d3b759ac5f08.patch) = 82109857db12457632a3a8d5de33830613bbd525f3c724d4aa3ce6fd94a7a57c
SIZE (d3b759ac5f08.patch) = 4028
SHA256 (fb837ae10b1f.patch) = ecf07d813ae796eca946e909a35434a93b07fc349d6ca8b48d7834cb2dfb4071
SIZE (fb837ae10b1f.patch) = 27075

View file

@ -76,6 +76,9 @@ include/wlr/types/wlr_virtual_keyboard_v1.h
include/wlr/types/wlr_virtual_pointer_v1.h
include/wlr/types/wlr_xcursor_manager.h
include/wlr/types/wlr_xdg_decoration_v1.h
include/wlr/types/wlr_xdg_foreign_registry.h
include/wlr/types/wlr_xdg_foreign_v1.h
include/wlr/types/wlr_xdg_foreign_v2.h
include/wlr/types/wlr_xdg_output_v1.h
include/wlr/types/wlr_xdg_shell.h
include/wlr/util/edges.h
@ -85,5 +88,5 @@ include/wlr/version.h
include/wlr/xcursor.h
%%X11%%include/wlr/xwayland.h
lib/libwlroots.so
lib/libwlroots.so.7
lib/libwlroots.so.8
libdata/pkgconfig/wlroots.pc

View file

@ -1,11 +1,17 @@
PORTNAME= cage
DISTVERSIONPREFIX= v
DISTVERSION= 0.1.2.1
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= x11-wm
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
PATCHFILES+= 70ecdcb02ea0.patch:-p1 # https://github.com/Hjdskes/cage/pull/148
PATCHFILES+= 43f1ea36d669.patch:-p1 # https://github.com/Hjdskes/cage/pull/174
PATCHFILES+= e3b1a57acaee.patch:-p1 # https://github.com/Hjdskes/cage/pull/174
PATCHFILES+= 0db62672a4c1.patch:-p1 # https://github.com/Hjdskes/cage/pull/174
PATCHFILES+= 2852b4e6d024.patch:-p1 # https://github.com/Hjdskes/cage/pull/174
PATCHFILES+= 956b0cc6a476.patch:-p1 # https://github.com/Hjdskes/cage/pull/174
PATCHFILES+= e1956ccb723e.patch:-p1 # https://github.com/Hjdskes/cage/pull/174
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Wayland kiosk
@ -15,7 +21,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
wayland-protocols>=1.14:graphics/wayland-protocols \
wlroots>=0.11.0:x11-toolkits/wlroots
wlroots>=0.13.0:x11-toolkits/wlroots
LIB_DEPENDS= libwayland-server.so:graphics/wayland \
libwlroots.so:x11-toolkits/wlroots \
libxkbcommon.so:x11/libxkbcommon

View file

@ -3,3 +3,15 @@ SHA256 (Hjdskes-cage-v0.1.2.1_GH0.tar.gz) = 38a3e3968f00cc58fe1d9448e972cfac7d1e
SIZE (Hjdskes-cage-v0.1.2.1_GH0.tar.gz) = 24600
SHA256 (70ecdcb02ea0.patch) = 2dd0e99d181986c6b2d5e04e89f692e3d77b8bd2a3a08f94cf8a27b38489eb3c
SIZE (70ecdcb02ea0.patch) = 2137
SHA256 (43f1ea36d669.patch) = b81ffa42da2ab21d12616315c83c932b7d88c1d365229615c7489ce5129f7010
SIZE (43f1ea36d669.patch) = 1114
SHA256 (e3b1a57acaee.patch) = d40a85a5dc75eb0dae37e0f1b9a033d21efa75717177529182e69bd6812bd482
SIZE (e3b1a57acaee.patch) = 1056
SHA256 (0db62672a4c1.patch) = 9b7d8a4c3ae8fe10a799b272e3d727bb1c32fc490ad546bc32a6c373c745b556
SIZE (0db62672a4c1.patch) = 1457
SHA256 (2852b4e6d024.patch) = 073b0a07897b7f9a134f22c9297dd97fb35233c8265c08b1f3fa54d8bc596cd8
SIZE (2852b4e6d024.patch) = 7147
SHA256 (956b0cc6a476.patch) = e77e1266ca9c0e6e119d18ea32669c7494d3d46f71c354c1446014439090f884
SIZE (956b0cc6a476.patch) = 2993
SHA256 (e1956ccb723e.patch) = 20cb74a2b070b0b13df437924962dd475afb5510e57fb817b37e999127851ba6
SIZE (e1956ccb723e.patch) = 1115

View file

@ -1,5 +1,6 @@
PORTNAME= gamescope
DISTVERSION= 3.7.1
PORTREVISION= 1
CATEGORIES= x11-wm
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
@ -8,6 +9,8 @@ PATCHFILES+= 620f8f5bc530.patch:-p1 # https://github.com/Plagman/gamescope/pull/
PATCHFILES+= 892d79b0f37e.patch:-p1 # https://github.com/Plagman/gamescope/pull/119
PATCHFILES+= ae60c865d9d8.patch:-p1 # https://github.com/Plagman/gamescope/pull/119
PATCHFILES+= d59836199ebe.patch:-p1 # https://github.com/Plagman/gamescope/issues/120
PATCHFILES+= 9d84b38c9042.patch:-p1 # wlroots 0.13
PATCHFILES+= a9d8a368d809.patch:-p1 # wlroots 0.13
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Micro-compositor from SteamOS

View file

@ -13,3 +13,7 @@ SHA256 (ae60c865d9d8.patch) = 41593e80d11a80c17a173cd03330738fc9deb82626c6788e15
SIZE (ae60c865d9d8.patch) = 1111
SHA256 (d59836199ebe.patch) = 40b519ef847b979ba088325cdd7170bed91936b79d845c65d2126b2b25166a1e
SIZE (d59836199ebe.patch) = 2586
SHA256 (9d84b38c9042.patch) = 635e87956399b4c82c8d5234e48752537aa4621d24d02dc0923f61ed040ebab0
SIZE (9d84b38c9042.patch) = 1514
SHA256 (a9d8a368d809.patch) = b3eb5e323b351870a3c97df610bc27e33713623017e4a219b13dbc8b6df752a5
SIZE (a9d8a368d809.patch) = 912

View file

@ -1,5 +1,6 @@
PORTNAME= hikari
DISTVERSION= 2.2.3
PORTREVISION= 1
CATEGORIES= x11-wm
MASTER_SITES= https://hikari.acmelabs.space/releases/
@ -11,7 +12,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
wayland-protocols>=1.14:graphics/wayland-protocols \
wlroots>=0.9.0<0.13.0:x11-toolkits/wlroots
wlroots>=0.13.0<0.14.0:x11-toolkits/wlroots
LIB_DEPENDS= libinput.so:x11/libinput \
libucl.so:textproc/libucl \
libwayland-server.so:graphics/wayland \

View file

@ -0,0 +1,439 @@
In file included from src/action.c:7:
In file included from include/hikari/server.h:29:
In file included from include/hikari/layer_shell.h:4:
/usr/local/include/wlr/types/wlr_layer_shell_v1.h:52:52: error: field has incomplete type 'enum zwlr_layer_surface_v1_keyboard_interactivity'
enum zwlr_layer_surface_v1_keyboard_interactivity keyboard_interactive;
^
/usr/local/include/wlr/types/wlr_layer_shell_v1.h:52:7: note: forward declaration of 'enum zwlr_layer_surface_v1_keyboard_interactivity'
enum zwlr_layer_surface_v1_keyboard_interactivity keyboard_interactive;
^
In file included from src/configuration.c:29:
In file included from include/hikari/server.h:8:
In file included from /usr/local/include/wlr/types/wlr_virtual_keyboard_v1.h:14:
In file included from /usr/local/include/wlr/interfaces/wlr_keyboard.h:13:
/usr/local/include/wlr/types/wlr_keyboard.h:113:10: error: conflicting types for 'wlr_keyboard_get_modifiers'
uint32_t wlr_keyboard_get_modifiers(struct wlr_keyboard *keyboard);
^
include/hikari/keyboard.h:61:24: note: previous implicit declaration is here
uint32_t modifiers = wlr_keyboard_get_modifiers(keyboard->device->keyboard);
^
In file included from src/configuration.c:32:
include/hikari/switch.h:14:25: error: field has incomplete type 'enum wlr_switch_state'
enum wlr_switch_state state;
^
include/hikari/switch.h:14:8: note: forward declaration of 'enum wlr_switch_state'
enum wlr_switch_state state;
^
src/dnd_mode.c:25:23: error: use of undeclared identifier 'WLR_KEY_RELEASED'; did you mean 'WLR_BUTTON_RELEASED'?
if (event->state == WLR_KEY_RELEASED) {
src/group_assign_mode.c:256:23: error: use of undeclared identifier 'WLR_KEY_PRESSED'
if (event->state == WLR_KEY_PRESSED) {
src/input_grab_mode.c:53:23: error: use of undeclared identifier 'WLR_KEY_PRESSED'
if (event->state == WLR_KEY_PRESSED) {
src/layout_select_mode.c:62:23: error: use of undeclared identifier 'WLR_KEY_PRESSED'
if (event->state == WLR_KEY_PRESSED) {
src/lock_mode.c:180:23: error: use of undeclared identifier 'WLR_KEY_PRESSED'
if (event->state == WLR_KEY_PRESSED) {
src/mark_assign_mode.c:164:23: error: use of undeclared identifier 'WLR_KEY_PRESSED'
if (event->state == WLR_KEY_PRESSED) {
src/mark_select_mode.c:40:23: error: use of undeclared identifier 'WLR_KEY_PRESSED'
if (event->state == WLR_KEY_PRESSED) {
src/move_mode.c:35:23: error: use of undeclared identifier 'WLR_KEY_RELEASED'; did you mean 'WLR_BUTTON_RELEASED'?
if (event->state == WLR_KEY_RELEASED) {
src/normal_mode.c:322:23: error: use of undeclared identifier 'WLR_KEY_PRESSED'
if (event->state == WLR_KEY_PRESSED) {
src/resize_mode.c:35:23: error: use of undeclared identifier 'WLR_KEY_RELEASED'; did you mean 'WLR_BUTTON_RELEASED'?
if (event->state == WLR_KEY_RELEASED) {
src/sheet_assign_mode.c:169:23: error: use of undeclared identifier 'WLR_KEY_PRESSED'
if (event->state == WLR_KEY_PRESSED) {
^
src/server.c:756:61: error: too many arguments to function call, expected single argument 'display', have 2 arguments
server->backend = wlr_backend_autocreate(server->display, NULL);
~~~~~~~~~~~~~~~~~~~~~~ ^~~~
/usr/include/sys/_null.h:34:14: note: expanded from macro 'NULL'
#define NULL ((void *)0)
^~~~~~~~~~~
/usr/local/include/wlr/backend.h:35:21: note: 'wlr_backend_autocreate' declared here
struct wlr_backend *wlr_backend_autocreate(struct wl_display *display);
^
00:00:00.167 [render/gles2/texture.c:162] Unsupported pixel format 0x0
--- include/hikari/keyboard.h.orig 2020-07-21 06:19:04 UTC
+++ include/hikari/keyboard.h
@@ -6,6 +6,7 @@
#include <xkbcommon/xkbcommon.h>
#include <wlr/types/wlr_input_device.h>
+#include <wlr/types/wlr_keyboard.h>
#include <hikari/binding_group.h>
#include <hikari/keyboard_config.h>
--- include/hikari/switch.h.orig 2020-07-21 06:19:04 UTC
+++ include/hikari/switch.h
@@ -2,6 +2,7 @@
#define HIKARI_SWITCH_H
#include <wlr/types/wlr_input_device.h>
+#include <wlr/types/wlr_switch.h>
struct hikari_action;
struct hikari_switch_config;
--- protocol/wlr-layer-shell-unstable-v1.xml.orig 2020-05-01 08:37:51 UTC
+++ protocol/wlr-layer-shell-unstable-v1.xml
@@ -25,7 +25,7 @@
THIS SOFTWARE.
</copyright>
- <interface name="zwlr_layer_shell_v1" version="2">
+ <interface name="zwlr_layer_shell_v1" version="4">
<description summary="create surfaces that are layers of the desktop">
Clients can use this interface to assign the surface_layer role to
wl_surfaces. Such surfaces are assigned to a "layer" of the output and
@@ -47,6 +47,12 @@
or manipulate a buffer prior to the first layer_surface.configure call
must also be treated as errors.
+ After creating a layer_surface object and setting it up, the client
+ must perform an initial commit without any buffer attached.
+ The compositor will reply with a layer_surface.configure event.
+ The client must acknowledge it and is then allowed to attach a buffer
+ to map the surface.
+
You may pass NULL for output to allow the compositor to decide which
output to use. Generally this will be the one that the user most
recently interacted with.
@@ -82,9 +88,19 @@
<entry name="top" value="2"/>
<entry name="overlay" value="3"/>
</enum>
+
+ <!-- Version 3 additions -->
+
+ <request name="destroy" type="destructor" since="3">
+ <description summary="destroy the layer_shell object">
+ This request indicates that the client will not use the layer_shell
+ object any more. Objects that have been created through this instance
+ are not affected.
+ </description>
+ </request>
</interface>
- <interface name="zwlr_layer_surface_v1" version="2">
+ <interface name="zwlr_layer_surface_v1" version="4">
<description summary="layer metadata interface">
An interface that may be implemented by a wl_surface, for surfaces that
are designed to be rendered as a layer of a stacked desktop-like
@@ -93,6 +109,14 @@
Layer surface state (layer, size, anchor, exclusive zone,
margin, interactivity) is double-buffered, and will be applied at the
time wl_surface.commit of the corresponding wl_surface is called.
+
+ Attaching a null buffer to a layer surface unmaps it.
+
+ Unmapping a layer_surface means that the surface cannot be shown by the
+ compositor until it is explicitly mapped again. The layer_surface
+ returns to the state it had right after layer_shell.get_layer_surface.
+ The client can re-map the surface by performing a commit without any
+ buffer attached, waiting for a configure event and handling it as usual.
</description>
<request name="set_size">
@@ -179,21 +203,85 @@
<arg name="left" type="int"/>
</request>
+ <enum name="keyboard_interactivity">
+ <description summary="types of keyboard interaction possible for a layer shell surface">
+ Types of keyboard interaction possible for layer shell surfaces. The
+ rationale for this is twofold: (1) some applications are not interested
+ in keyboard events and not allowing them to be focused can improve the
+ desktop experience; (2) some applications will want to take exclusive
+ keyboard focus.
+ </description>
+
+ <entry name="none" value="0">
+ <description summary="no keyboard focus is possible">
+ This value indicates that this surface is not interested in keyboard
+ events and the compositor should never assign it the keyboard focus.
+
+ This is the default value, set for newly created layer shell surfaces.
+
+ This is useful for e.g. desktop widgets that display information or
+ only have interaction with non-keyboard input devices.
+ </description>
+ </entry>
+ <entry name="exclusive" value="1">
+ <description summary="request exclusive keyboard focus">
+ Request exclusive keyboard focus if this surface is above the shell surface layer.
+
+ For the top and overlay layers, the seat will always give
+ exclusive keyboard focus to the top-most layer which has keyboard
+ interactivity set to exclusive. If this layer contains multiple
+ surfaces with keyboard interactivity set to exclusive, the compositor
+ determines the one receiving keyboard events in an implementation-
+ defined manner. In this case, no guarantee is made when this surface
+ will receive keyboard focus (if ever).
+
+ For the bottom and background layers, the compositor is allowed to use
+ normal focus semantics.
+
+ This setting is mainly intended for applications that need to ensure
+ they receive all keyboard events, such as a lock screen or a password
+ prompt.
+ </description>
+ </entry>
+ <entry name="on_demand" value="2" since="4">
+ <description summary="request regular keyboard focus semantics">
+ This requests the compositor to allow this surface to be focused and
+ unfocused by the user in an implementation-defined manner. The user
+ should be able to unfocus this surface even regardless of the layer
+ it is on.
+
+ Typically, the compositor will want to use its normal mechanism to
+ manage keyboard focus between layer shell surfaces with this setting
+ and regular toplevels on the desktop layer (e.g. click to focus).
+ Nevertheless, it is possible for a compositor to require a special
+ interaction to focus or unfocus layer shell surfaces (e.g. requiring
+ a click even if focus follows the mouse normally, or providing a
+ keybinding to switch focus between layers).
+
+ This setting is mainly intended for desktop shell components (e.g.
+ panels) that allow keyboard interaction. Using this option can allow
+ implementing a desktop shell that can be fully usable without the
+ mouse.
+ </description>
+ </entry>
+ </enum>
+
<request name="set_keyboard_interactivity">
<description summary="requests keyboard events">
- Set to 1 to request that the seat send keyboard events to this layer
- surface. For layers below the shell surface layer, the seat will use
- normal focus semantics. For layers above the shell surface layers, the
- seat will always give exclusive keyboard focus to the top-most layer
- which has keyboard interactivity set to true.
+ Set how keyboard events are delivered to this surface. By default,
+ layer shell surfaces do not receive keyboard events; this request can
+ be used to change this.
+ This setting is inherited by child surfaces set by the get_popup
+ request.
+
Layer surfaces receive pointer, touch, and tablet events normally. If
you do not want to receive them, set the input region on your surface
to an empty region.
- Events is double-buffered, see wl_surface.commit.
+ Keyboard interactivity is double-buffered, see wl_surface.commit.
</description>
- <arg name="keyboard_interactivity" type="uint"/>
+ <arg name="keyboard_interactivity" type="uint" enum="keyboard_interactivity"/>
</request>
<request name="get_popup">
@@ -278,6 +366,7 @@
<entry name="invalid_surface_state" value="0" summary="provided surface state is invalid"/>
<entry name="invalid_size" value="1" summary="size is invalid"/>
<entry name="invalid_anchor" value="2" summary="anchor bitfield is invalid"/>
+ <entry name="invalid_keyboard_interactivity" value="3" summary="keyboard interactivity is invalid"/>
</enum>
<enum name="anchor" bitfield="true">
@@ -295,7 +384,7 @@
Layer is double-buffered, see wl_surface.commit.
</description>
- <arg name="layer" type="uint" enum="layer" summary="layer to move this surface to"/>
+ <arg name="layer" type="uint" enum="zwlr_layer_shell_v1.layer" summary="layer to move this surface to"/>
</request>
</interface>
</protocol>
--- src/dnd_mode.c.orig 2020-09-08 08:20:26 UTC
+++ src/dnd_mode.c
@@ -22,7 +22,7 @@ static void
key_handler(
struct hikari_keyboard *keyboard, struct wlr_event_keyboard_key *event)
{
- if (event->state == WLR_KEY_RELEASED) {
+ if (event->state == WL_KEYBOARD_KEY_STATE_RELEASED) {
hikari_server_enter_normal_mode(NULL);
}
}
--- src/group_assign_mode.c.orig 2020-09-08 08:20:26 UTC
+++ src/group_assign_mode.c
@@ -253,7 +253,7 @@ static void
key_handler(
struct hikari_keyboard *keyboard, struct wlr_event_keyboard_key *event)
{
- if (event->state == WLR_KEY_PRESSED) {
+ if (event->state == WL_KEYBOARD_KEY_STATE_PRESSED) {
uint32_t keycode = event->keycode + 8;
hikari_keyboard_for_keysym(keyboard, keycode, handle_keysym);
}
--- src/indicator_bar.c.orig 2020-09-08 08:20:26 UTC
+++ src/indicator_bar.c
@@ -4,6 +4,7 @@
#include <pango/pangocairo.h>
#include <string.h>
+#include <drm_fourcc.h>
#include <wlr/backend.h>
#include <wlr/render/wlr_renderer.h>
#include <wlr/render/wlr_texture.h>
@@ -120,7 +121,7 @@ hikari_indicator_bar_update(struct hikari_indicator_ba
int stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, width);
indicator_bar->texture = wlr_texture_from_pixels(
- wlr_renderer, WL_SHM_FORMAT_ARGB8888, stride, width, height, data);
+ wlr_renderer, DRM_FORMAT_ARGB8888, stride, width, height, data);
cairo_surface_destroy(surface);
g_object_unref(layout);
--- src/input_grab_mode.c.orig 2020-10-22 15:14:16 UTC
+++ src/input_grab_mode.c
@@ -50,7 +50,7 @@ key_handler(
struct hikari_keyboard *keyboard, struct wlr_event_keyboard_key *event)
{
struct hikari_workspace *workspace = hikari_server.workspace;
- if (event->state == WLR_KEY_PRESSED) {
+ if (event->state == WL_KEYBOARD_KEY_STATE_PRESSED) {
uint32_t modifiers = hikari_server.keyboard_state.modifiers;
struct hikari_binding_group *bindings = &keyboard->bindings[modifiers];
--- src/layout_select_mode.c.orig 2020-09-08 08:20:26 UTC
+++ src/layout_select_mode.c
@@ -59,7 +59,7 @@ static void
key_handler(
struct hikari_keyboard *keyboard, struct wlr_event_keyboard_key *event)
{
- if (event->state == WLR_KEY_PRESSED) {
+ if (event->state == WL_KEYBOARD_KEY_STATE_PRESSED) {
apply_layout(hikari_configuration, event, keyboard);
}
}
--- src/lock_indicator.c.orig 2020-07-21 06:19:04 UTC
+++ src/lock_indicator.c
@@ -1,5 +1,6 @@
#include <hikari/lock_indicator.h>
+#include <drm_fourcc.h>
#include <wlr/backend.h>
#include <wlr/render/wlr_renderer.h>
#include <wlr/types/wlr_matrix.h>
@@ -45,7 +46,7 @@ init_indicator_circle(float color[static 4])
int stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, size);
texture = wlr_texture_from_pixels(
- wlr_renderer, WL_SHM_FORMAT_ARGB8888, stride, size, size, data);
+ wlr_renderer, DRM_FORMAT_ARGB8888, stride, size, size, data);
cairo_surface_destroy(surface);
g_object_unref(layout);
--- src/lock_mode.c.orig 2020-09-08 08:20:26 UTC
+++ src/lock_mode.c
@@ -177,7 +177,7 @@ key_handler(
{
struct hikari_lock_mode *mode = get_mode();
- if (event->state == WLR_KEY_PRESSED) {
+ if (event->state == WL_KEYBOARD_KEY_STATE_PRESSED) {
const xkb_keysym_t *syms;
uint32_t keycode = event->keycode + 8;
uint32_t codepoint;
--- src/mark_assign_mode.c.orig 2020-09-08 08:20:26 UTC
+++ src/mark_assign_mode.c
@@ -161,7 +161,7 @@ static void
key_handler(
struct hikari_keyboard *keyboard, struct wlr_event_keyboard_key *event)
{
- if (event->state == WLR_KEY_PRESSED) {
+ if (event->state == WL_KEYBOARD_KEY_STATE_PRESSED) {
assign_mark(event, keyboard);
}
}
--- src/mark_select_mode.c.orig 2020-09-08 08:20:26 UTC
+++ src/mark_select_mode.c
@@ -37,7 +37,7 @@ key_handler(
{
struct hikari_workspace *workspace = hikari_server.workspace;
- if (event->state == WLR_KEY_PRESSED) {
+ if (event->state == WL_KEYBOARD_KEY_STATE_PRESSED) {
mark_select(workspace, event, keyboard);
}
}
--- src/move_mode.c.orig 2020-09-08 08:20:26 UTC
+++ src/move_mode.c
@@ -32,7 +32,7 @@ static void
key_handler(
struct hikari_keyboard *keyboard, struct wlr_event_keyboard_key *event)
{
- if (event->state == WLR_KEY_RELEASED) {
+ if (event->state == WL_KEYBOARD_KEY_STATE_RELEASED) {
hikari_server_enter_normal_mode(NULL);
}
}
--- src/normal_mode.c.orig 2020-09-08 08:20:26 UTC
+++ src/normal_mode.c
@@ -319,7 +319,7 @@ key_handler(
return;
}
- if (event->state == WLR_KEY_PRESSED) {
+ if (event->state == WL_KEYBOARD_KEY_STATE_PRESSED) {
uint32_t modifiers = hikari_server.keyboard_state.modifiers;
struct hikari_binding_group *bindings = &keyboard->bindings[modifiers];
--- src/output.c.orig 2020-09-08 08:20:26 UTC
+++ src/output.c
@@ -1,5 +1,6 @@
#include <hikari/output.h>
+#include <drm_fourcc.h>
#include <wlr/backend.h>
#include <hikari/memory.h>
@@ -86,7 +87,7 @@ hikari_output_load_background(struct hikari_output *ou
wlr_backend_get_renderer(output->wlr_output->backend);
output->background = wlr_texture_from_pixels(renderer,
- WL_SHM_FORMAT_ARGB8888,
+ DRM_FORMAT_ARGB8888,
stride,
output_width,
output_height,
--- src/resize_mode.c.orig 2020-09-08 08:20:26 UTC
+++ src/resize_mode.c
@@ -32,7 +32,7 @@ static void
key_handler(
struct hikari_keyboard *keyboard, struct wlr_event_keyboard_key *event)
{
- if (event->state == WLR_KEY_RELEASED) {
+ if (event->state == WL_KEYBOARD_KEY_STATE_RELEASED) {
hikari_server_enter_normal_mode(NULL);
}
}
--- src/server.c.orig 2020-09-08 08:20:26 UTC
+++ src/server.c
@@ -753,7 +753,7 @@ hikari_server_prepare_privileged(void)
goto done;
}
- server->backend = wlr_backend_autocreate(server->display, NULL);
+ server->backend = wlr_backend_autocreate(server->display);
if (server->backend == NULL) {
fprintf(stderr, "error: could not create backend\n");
goto done;
--- src/sheet_assign_mode.c.orig 2020-09-08 08:20:26 UTC
+++ src/sheet_assign_mode.c
@@ -166,7 +166,7 @@ static void
key_handler(
struct hikari_keyboard *keyboard, struct wlr_event_keyboard_key *event)
{
- if (event->state == WLR_KEY_PRESSED) {
+ if (event->state == WL_KEYBOARD_KEY_STATE_PRESSED) {
uint32_t keycode = event->keycode + 8;
hikari_keyboard_for_keysym(keyboard, keycode, handle_keysym);
}

View file

@ -1,7 +1,14 @@
PORTNAME= labwc
DISTVERSION= 0.1.0
PORTREVISION= 1
CATEGORIES= x11-wm
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
PATCHFILES+= 2ee21e9a82d8.patch:-p1 # https://github.com/johanmalm/labwc/pull/26
PATCHFILES+= ad07acc13cee.patch:-p1 # https://github.com/johanmalm/labwc/pull/26
PATCHFILES+= c9023dd2c6af.patch:-p1 # https://github.com/johanmalm/labwc/pull/26
PATCHFILES+= 0ca3eb8f790c.patch:-p1 # https://github.com/johanmalm/labwc/pull/26
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Openbox alternative for Wayland

View file

@ -1,3 +1,11 @@
TIMESTAMP = 1615031145
SHA256 (johanmalm-labwc-0.1.0_GH0.tar.gz) = c3087c0dc846c18499a335fe04c9bc46f014f7421739573636f6f8f746fd3c84
SIZE (johanmalm-labwc-0.1.0_GH0.tar.gz) = 59533
SHA256 (2ee21e9a82d8.patch) = 2f6a312853a14ceb5853cfd6b59c49b6110f7ee12363b5b0f19eb176471aaa27
SIZE (2ee21e9a82d8.patch) = 1422
SHA256 (ad07acc13cee.patch) = e104ba1327136dc22b02ab7475f65f3ff2845fe644fecfd884cfbd6337df6248
SIZE (ad07acc13cee.patch) = 5132
SHA256 (c9023dd2c6af.patch) = ac6e04d88c1d7ded9d9a989721ac26f6954ed3d3e1680d90a93d1f04f07adc1d
SIZE (c9023dd2c6af.patch) = 2465
SHA256 (0ca3eb8f790c.patch) = 89ce5081ff675e17c308de0bb73ce5439452958d0a803e5c7a7015be177b3e4b
SIZE (0ca3eb8f790c.patch) = 1715

View file

@ -1,8 +1,12 @@
PORTNAME= phoc
DISTVERSIONPREFIX= v
DISTVERSION= 0.7.0
PORTREVISION= 1
CATEGORIES= x11-wm
PATCH_SITES= ${GL_SITE}/${GL_ACCOUNT}/${GL_PROJECT}/-/commit/
PATCHFILES+= b37bf15194e6.diff:-p1 # https://source.puri.sm/Librem5/phoc/-/merge_requests/241
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Phone compositor
@ -32,5 +36,10 @@ GLIB_SCHEMAS= sm.puri.phoc.gschema.xml
post-extract:
# Avoid confusing Meson instead of forcing -Dembed-wlroots=disabled
@${RMDIR} ${WRKSRC}/subprojects/wlroots
.if defined(PATCHFILES) && ${PATCHFILES:Mb37bf15194e6*}
# Pretend to be a regular file for vendor patch to apply as is
@${ECHO_CMD} "Subproject commit 3d227f140e3c4af42d759477fc38e82a4c3dc4ef" \
>${WRKSRC}/subprojects/wlroots
.endif
.include <bsd.port.mk>

View file

@ -1,3 +1,5 @@
TIMESTAMP = 1616120558
SHA256 (Librem5-phoc-f26fa0123742ba95d303ad552fc1f8d2d0117288_GL0.tar.gz) = 266c58250ca0f1ef6daf1bdcf5fb30af8fea674a9ee3237b8c9fc0700ebfe320
SIZE (Librem5-phoc-f26fa0123742ba95d303ad552fc1f8d2d0117288_GL0.tar.gz) = 143148
SHA256 (b37bf15194e6.diff) = 0a0e8652dab5b4fabc751ed1274b7b94575d2f226917392a960f1c4c477b9f93
SIZE (b37bf15194e6.diff) = 19468

View file

@ -1,5 +1,6 @@
PORTNAME= river
PORTVERSION= s20210328
PORTREVISION= 1
CATEGORIES= x11-wm
MAINTAINER= jbeich@FreeBSD.org

View file

@ -0,0 +1,373 @@
https://github.com/swaywm/zig-wlroots/commit/4902876cd4f9
https://github.com/ifreund/river/commit/73594ee57c95
--- deps/zig-wlroots/src/backend.zig.orig 2021-02-15 17:19:02 UTC
+++ deps/zig-wlroots/src/backend.zig
@@ -15,9 +15,9 @@ pub const Backend = extern struct {
// backend.h
- extern fn wlr_backend_autocreate(server: *wl.Server, create_renderer_func: ?wlr.Renderer.CreateFn) ?*Backend;
- pub fn autocreate(server: *wl.Server, create_renderer_func: ?wlr.Renderer.CreateFn) !*Backend {
- return wlr_backend_autocreate(server, create_renderer_func) orelse error.BackendCreateFailed;
+ extern fn wlr_backend_autocreate(server: *wl.Server) ?*Backend;
+ pub fn autocreate(server: *wl.Server) !*Backend {
+ return wlr_backend_autocreate(server) orelse error.BackendCreateFailed;
}
extern fn wlr_backend_start(backend: *Backend) bool;
--- deps/zig-wlroots/src/backend/session.zig.orig 2021-02-15 17:19:02 UTC
+++ deps/zig-wlroots/src/backend/session.zig
@@ -6,17 +6,24 @@ const wl = wayland.server.wl;
pub const Device = extern struct {
fd: c_int,
dev: u64,
- signal: wl.Signal(*Session),
-
/// Session.devices
link: wl.list.Link,
+
+ events: extern struct {
+ change: wl.Signal(void),
+ },
};
pub const Session = extern struct {
const Impl = opaque {};
+ pub const event = struct {
+ pub const Add = extern struct {
+ path: [*:0]const u8,
+ };
+ };
+
impl: *const Impl,
- session_signal: wl.Signal(*Session),
active: bool,
vtnr: c_uint,
@@ -29,9 +36,12 @@ pub const Session = extern struct {
devices: wl.list.Head(Device, "link"),
+ server: *wl.Server,
server_destroy: wl.Listener(*wl.Server),
events: extern struct {
+ active: wl.Signal(void),
+ add_drm_card: wl.Signal(*event.Add),
destroy: wl.Signal(*Session),
},
@@ -43,20 +53,19 @@ pub const Session = extern struct {
extern fn wlr_session_destroy(session: *Session) void;
pub const destroy = wlr_session_destroy;
- extern fn wlr_session_open_file(session: *Session, path: [*:0]const u8) c_int;
- pub const openFile = wlr_session_open_file;
+ extern fn wlr_session_open_file(session: *Session, path: [*:0]const u8) ?*Device;
+ pub fn openFile(session: *Session, path: [*:0]const u8) !*Device {
+ return wlr_session_open_file(session, path) orelse error.SessionOpenFileFailed;
+ }
- extern fn wlr_session_close_file(session: *Session, fd: c_int) void;
+ extern fn wlr_session_close_file(session: *Session, device: *Device) void;
pub const closeFile = wlr_session_close_file;
- extern fn wlr_session_signal_add(session: *Session, fd: c_int, listener: *wl.Listener(*Session)) void;
- pub const signalAdd = wlr_session_signal_add;
-
extern fn wlr_session_change_vt(session: *Session, vt: c_uint) bool;
pub fn changeVt(session: *Session, vt: c_uint) !void {
if (!wlr_session_change_vt(session, vt)) return error.ChangeVtFailed;
}
- extern fn wlr_session_find_gpus(session: *Session, ret_len: usize, ret: [*]c_int) usize;
+ extern fn wlr_session_find_gpus(session: *Session, ret_len: usize, ret: [*]*Device) usize;
pub const findGpus = wlr_session_find_gpus;
};
--- deps/zig-wlroots/src/render/renderer.zig.orig 2021-02-15 17:19:02 UTC
+++ deps/zig-wlroots/src/render/renderer.zig
@@ -6,14 +6,6 @@ const wl = wayland.server.wl;
pub const Renderer = extern struct {
const Impl = opaque {};
- pub const CreateFn = fn (
- egl: *wlr.Egl,
- platform: c_uint, // EGLenum
- remote_display: ?*c_void,
- config_attribs: *i32, // EGLint
- visual_id: i32, // EGLint
- ) callconv(.C) ?*Renderer;
-
impl: *const Impl,
rendering: bool,
events: extern struct {
@@ -22,8 +14,7 @@ pub const Renderer = extern struct {
// wlr_renderer functions:
- // TODO: int types
- extern fn wlr_renderer_begin(renderer: *Renderer, width: c_int, height: c_int) void;
+ extern fn wlr_renderer_begin(renderer: *Renderer, width: u32, height: u32) void;
pub const begin = wlr_renderer_begin;
pub extern fn wlr_renderer_end(renderer: *Renderer) void;
@@ -47,8 +38,8 @@ pub const Renderer = extern struct {
extern fn wlr_renderer_scissor(renderer: *Renderer, box: *wlr.Box) void;
pub const scissor = wlr_renderer_scissor;
- extern fn wlr_renderer_get_formats(renderer: *Renderer, len: *usize) [*]const wl.Shm.Format;
- pub const getFormats = wlr_renderer_get_formats;
+ extern fn wlr_renderer_get_shm_texture_formats(renderer: *Renderer, len: *usize) [*]const wl.Shm.Format;
+ pub const getShmTextureFormats = wlr_renderer_get_shm_texture_formats;
extern fn wlr_renderer_resource_is_wl_drm_buffer(renderer: *Renderer, buffer: *wl.Buffer) bool;
pub const resourceIsWlDrmBuffer = wlr_renderer_resource_is_wl_drm_buffer;
@@ -62,7 +53,7 @@ pub const Renderer = extern struct {
pub const wlDrmBufferGetSize = wlr_renderer_wl_drm_buffer_get_size;
// TODO:
- //extern fn wlr_renderer_get_dmabuf_formats(renderer: *Renderer) [*c]const struct_wlr_drm_format_set;
+ //extern fn wlr_renderer_get_dmabuf_texture_formats(renderer: *Renderer) [*c]const struct_wlr_drm_format_set;
//pub const getDmabufFormats = wlr_renderer_get_dmabuf_formats;
extern fn wlr_renderer_read_pixels(
@@ -86,9 +77,6 @@ pub const Renderer = extern struct {
src: *wlr.DmabufAttributes,
) bool;
pub const blitDmabuf = wlr_renderer_blit_dmabuf;
-
- extern fn wlr_renderer_format_supported(renderer: *Renderer, fmt: wl.Shm.Format) bool;
- pub const formatSupported = wlr_renderer_format_supported;
extern fn wlr_renderer_get_drm_fd(renderer: *Renderer) c_int;
pub const getDrmFd = wlr_renderer_get_drm_fd;
--- deps/zig-wlroots/src/render/texture.zig.orig 2021-03-01 13:53:50 UTC
+++ deps/zig-wlroots/src/render/texture.zig
@@ -10,7 +10,7 @@ pub const Texture = extern struct {
width: u32,
height: u32,
- extern fn wlr_texture_from_pixels(renderer: *wlr.Renderer, wl_fmt: wl.Shm.Format, stride: u32, width: u32, height: u32, data: *const c_void) ?*Texture;
+ extern fn wlr_texture_from_pixels(renderer: *wlr.Renderer, fmt: u32, stride: u32, width: u32, height: u32, data: *const c_void) ?*Texture;
pub const fromPixels = wlr_texture_from_pixels;
extern fn wlr_texture_from_wl_drm(renderer: *wlr.Renderer, data: *wl.Drm) ?*Texture;
--- deps/zig-wlroots/src/types/buffer.zig.orig 2021-02-15 17:19:02 UTC
+++ deps/zig-wlroots/src/types/buffer.zig
@@ -49,6 +49,9 @@ pub const ClientBuffer = extern struct {
resource_destroy: wl.Listener(*wl.Buffer),
release: wl.Listener(void),
+ extern fn wlr_client_buffer_get(buffer: *wlr.Buffer) ?*ClientBuffer;
+ pub const get = wlr_client_buffer_get;
+
extern fn wlr_client_buffer_import(renderer: *wlr.Renderer, resource: *wl.Buffer) ?*ClientBuffer;
pub const import = wlr_client_buffer_import;
--- deps/zig-wlroots/src/types/layer_shell_v1.zig.orig 2021-02-15 17:19:02 UTC
+++ deps/zig-wlroots/src/types/layer_shell_v1.zig
@@ -109,7 +109,7 @@ pub const LayerSurfaceV1 = extern struct {
);
}
- extern fn wlr_layer_surface_v1_for_each_popup(
+ extern fn wlr_layer_surface_v1_for_each_popup_surface(
surface: *LayerSurfaceV1,
iterator: fn (*wlr.Surface, c_int, c_int, ?*c_void) callconv(.C) void,
user_data: ?*c_void,
@@ -120,7 +120,7 @@ pub const LayerSurfaceV1 = extern struct {
iterator: fn (surface: *wlr.Surface, sx: c_int, sy: c_int, data: T) callconv(.C) void,
data: T,
) void {
- wlr_layer_surface_v1_for_each_popup(
+ wlr_layer_surface_v1_for_each_popup_surface(
surface,
@ptrCast(fn (*wlr.Surface, c_int, c_int, ?*c_void) callconv(.C) void, iterator),
data,
--- deps/zig-wlroots/src/types/output.zig.orig 2021-02-15 17:19:02 UTC
+++ deps/zig-wlroots/src/types/output.zig
@@ -105,6 +105,11 @@ pub const Output = extern struct {
/// This is a bitfield of Present.flag members
flags: u32,
};
+
+ pub const Bind = extern struct {
+ output: *wlr.Output,
+ resource: *wl.Output,
+ };
};
const Impl = opaque {};
@@ -151,10 +156,9 @@ pub const Output = extern struct {
precommit: wl.Signal(*event.Precommit),
commit: wl.Signal(*event.Commit),
present: wl.Signal(*event.Present),
+ bind: wl.Signal(*event.Bind),
enable: wl.Signal(*Output),
mode: wl.Signal(*Output),
- scale: wl.Signal(*Output),
- transform: wl.Signal(*Output),
description: wl.Signal(*Output),
destroy: wl.Signal(*Output),
},
--- deps/zig-wlroots/src/types/surface.zig.orig 2021-02-15 17:19:02 UTC
+++ deps/zig-wlroots/src/types/surface.zig
@@ -49,6 +49,9 @@ pub const Surface = extern struct {
},
buffer_destroy: wl.Listener(*wl.Buffer),
+
+ cached_state_locks: usize,
+ cached_state_link: wl.list.Head(Surface, "cached"),
};
pub const Role = extern struct {
@@ -57,6 +60,16 @@ pub const Surface = extern struct {
precommit: ?fn (surface: *Surface) callconv(.C) void,
};
+ pub const Output = extern struct {
+ surface: *wlr.Surface,
+ output: *wlr.Output,
+
+ // Surface.current_outputs
+ link: wl.list.Link,
+ bind: wl.Listener(*wlr.Output.event.Bind),
+ destroy: wl.Listener(*wlr.Output),
+ };
+
resource: *wl.Surface,
renderer: *wlr.Renderer,
@@ -73,6 +86,8 @@ pub const Surface = extern struct {
pending: State,
previous: State,
+ cached: wl.list.Head(State, "cached_link"),
+
role: ?*const Role,
role_data: ?*c_void,
@@ -84,6 +99,8 @@ pub const Surface = extern struct {
subsurfaces: wl.list.Head(Subsurface, "parent_link"),
subsurface_pending_list: wl.list.Head(Subsurface, "parent_pending_link"),
+
+ current_outputs: wl.list.Head(Surface.Output, "link"),
renderer_destroy: wl.Listener(*wlr.Renderer),
--- deps/zig-wlroots/src/types/xdg_shell.zig.orig 2021-02-15 17:19:02 UTC
+++ deps/zig-wlroots/src/types/xdg_shell.zig
@@ -311,7 +311,7 @@ pub const XdgSurface = extern struct {
extern fn wlr_xdg_surface_schedule_configure(surface: *wlr.XdgSurface) u32;
pub const scheduleConfigure = wlr_xdg_surface_schedule_configure;
- extern fn wlr_xdg_surface_for_each_popup(
+ extern fn wlr_xdg_surface_for_each_popup_surface(
surface: *wlr.XdgSurface,
iterator: fn (surface: *wlr.Surface, sx: c_int, sy: c_int, data: ?*c_void) callconv(.C) void,
user_data: ?*c_void,
@@ -322,7 +322,7 @@ pub const XdgSurface = extern struct {
iterator: fn (surface: *wlr.Surface, sx: c_int, sy: c_int, data: T) callconv(.C) void,
data: T,
) void {
- wlr_xdg_surface_for_each_popup(
+ wlr_xdg_surface_for_each_popup_surface(
surface,
@ptrCast(fn (surface: *wlr.Surface, sx: c_int, sy: c_int, data: ?*c_void) callconv(.C) void, iterator),
data,
--- deps/zig-wlroots/src/xwayland.zig.orig 2021-02-15 17:19:02 UTC
+++ deps/zig-wlroots/src/xwayland.zig
@@ -13,6 +13,14 @@ const xcb = struct {
const Pixmap = u32;
const Window = u32;
const Atom = u32;
+
+ const StackMode = extern enum {
+ above = 0,
+ below = 1,
+ top_if = 2,
+ bottom_if = 3,
+ opposite = 4,
+ };
};
pub const Xwm = opaque {};
@@ -33,7 +41,7 @@ pub const XwaylandServer = extern struct {
pid: os.pid_t,
client: ?*wl.Client,
- sigusr1_source: ?*wl.EventSource,
+ pipe_source: ?*wl.EventSource,
wm_fd: [2]c_int,
wl_fd: [2]c_int,
@@ -258,6 +266,9 @@ pub const XwaylandSurface = extern struct {
extern fn wlr_xwayland_surface_activate(surface: *XwaylandSurface, activated: bool) void;
pub const activate = wlr_xwayland_surface_activate;
+
+ extern fn wlr_xwayland_surface_restack(surface: *XwaylandSurface, sibling: *XwaylandSurface, mode: xcb.StackMode) void;
+ pub const restack = wlr_xwayland_surface_restack;
extern fn wlr_xwayland_surface_configure(surface: *XwaylandSurface, x: i16, y: i16, width: u16, height: u16) void;
pub const configure = wlr_xwayland_surface_configure;
--- river/Server.zig.orig 2021-02-22 13:47:31 UTC
+++ river/Server.zig
@@ -78,7 +78,7 @@ pub fn init(self: *Self) !void {
errdefer self.sigterm_source.remove();
// This frees itself when the wl.Server is destroyed
- self.backend = try wlr.Backend.autocreate(self.wl_server, null);
+ self.backend = try wlr.Backend.autocreate(self.wl_server);
// This backend is used to create a noop output for use when no actual
// outputs are available. This frees itself when the wl.Server is destroyed.
@@ -140,7 +140,6 @@ pub fn deinit(self: *Self) void {
self.root.deinit();
- self.noop_backend.destroy();
self.wl_server.destroy();
self.input_manager.deinit();
--- river/render.zig.orig 2021-02-22 13:47:31 UTC
+++ river/render.zig
@@ -54,7 +54,7 @@ pub fn renderOutput(output: *Output) void {
output.wlr_output.attachRender(null) catch return;
- renderer.begin(output.wlr_output.width, output.wlr_output.height);
+ renderer.begin(@intCast(u32, output.wlr_output.width), @intCast(u32, output.wlr_output.height));
// Find the first visible fullscreen view in the stack if there is one
var it = ViewStack(View).iter(output.views.first, .forward, output.current.tags, renderFilter);
@@ -227,24 +227,7 @@ fn renderViewPopups(output: *const Output, view: *View
.when = now,
.opacity = view.opacity,
};
- view.forEachPopup(*SurfaceRenderData, renderPopupSurfaceIterator, &rdata);
-}
-
-// TODO(wlroots): replace with wlr_xdg_surface_for_each_popup_surface()
-fn renderPopupSurfaceIterator(
- surface: *wlr.Surface,
- surface_x: c_int,
- surface_y: c_int,
- rdata: *SurfaceRenderData,
-) callconv(.C) void {
- var new_rdata = SurfaceRenderData{
- .output = rdata.output,
- .output_x = rdata.output_x + surface_x,
- .output_y = rdata.output_y + surface_y,
- .when = rdata.when,
- .opacity = rdata.opacity,
- };
- surface.forEachSurface(*SurfaceRenderData, renderSurfaceIterator, &new_rdata);
+ view.forEachPopup(*SurfaceRenderData, renderSurfaceIterator, &rdata);
}
fn renderDragIcons(output: *const Output, now: *os.timespec) void {

View file

@ -1,6 +1,6 @@
PORTNAME= sway
DISTVERSION= 1.5.1
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= x11-wm
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
@ -10,6 +10,15 @@ PATCHFILES+= 968c005760b6.patch:-p1 # https://github.com/swaywm/sway/pull/5856
PATCHFILES+= fdbe98512a71.patch:-p1 # https://github.com/swaywm/sway/pull/5856
PATCHFILES+= a52176f83035.patch:-p1 # https://github.com/swaywm/sway/pull/5856
PATCHFILES+= c9fe0626ca73.patch:-p1 # https://github.com/swaywm/sway/pull/5891
PATCHFILES+= 2c76923282b1.patch:-p1 # wlroots 0.13
PATCHFILES+= 0d72d6134f5b.patch:-p1 # wlroots 0.13
PATCHFILES+= a56098a24e43.patch:-p1 # wlroots 0.13
PATCHFILES+= 53f5197c26f1.patch:-p1 # wlroots 0.13
PATCHFILES+= 5438cc158a1b.patch:-p1 # wlroots 0.13
PATCHFILES+= 97adba05162f.patch:-p1 # wlroots 0.13
PATCHFILES+= 9e4f165b77d6.patch:-p1 # wlroots 0.13
PATCHFILES+= 87100e44c57b.patch:-p1 # wlroots 0.13
PATCHFILES+= 6370f225681c.patch:-p1 # wlroots 0.13
MAINTAINER= jbeich@FreeBSD.org
COMMENT= i3-compatible Wayland compositor
@ -19,7 +28,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
wayland-protocols>=1.14:graphics/wayland-protocols \
wlroots>=0.12.0<0.13.0:x11-toolkits/wlroots
wlroots>=0.13.0<0.14.0:x11-toolkits/wlroots
LIB_DEPENDS= libjson-c.so:devel/json-c \
libevdev.so:devel/libevdev \
libpcre.so:devel/pcre \

View file

@ -13,3 +13,21 @@ SHA256 (a52176f83035.patch) = 503f0ce5699799b82332a414d76b2148d53d1066a1e77ff24b
SIZE (a52176f83035.patch) = 2588
SHA256 (c9fe0626ca73.patch) = 4f6005a1f7c9b454ab6e7c85a01b44c27cc5f2641e58bb220220fdceb7b111cb
SIZE (c9fe0626ca73.patch) = 913
SHA256 (2c76923282b1.patch) = 7d3170aaff39b984c4341d40ac4ea313c4a12dca901b435f470d7f7ce5ada3b3
SIZE (2c76923282b1.patch) = 4102
SHA256 (0d72d6134f5b.patch) = 13d4ac504e250943ba7fe34765f44bb2a3d999dc2f22af6e65d40ea3967a05d9
SIZE (0d72d6134f5b.patch) = 4970
SHA256 (a56098a24e43.patch) = f94751bf569aaa024b4eb60ed5d238332e7447ad64a85b30dc40f1ea2af278f4
SIZE (a56098a24e43.patch) = 1316
SHA256 (53f5197c26f1.patch) = 9dcc26d0819c39125294efce2ff72ba283362474349b2e1eab3d456617a87a87
SIZE (53f5197c26f1.patch) = 950
SHA256 (5438cc158a1b.patch) = 1e9df875e90c3a709537d4c739d778d17a443a9883437c9cb1581696fb567daa
SIZE (5438cc158a1b.patch) = 6022
SHA256 (97adba05162f.patch) = 9478ddcf6d71a71517cf07c9d97a79e3efe1bff1188db320a615cbfcd0d608e5
SIZE (97adba05162f.patch) = 7964
SHA256 (9e4f165b77d6.patch) = f4e3a1aa73893e6cef7667c7ca8bfe8e7f6bee5149c0c8de25a5f5a153a5ef2c
SIZE (9e4f165b77d6.patch) = 1361
SHA256 (87100e44c57b.patch) = f5fc506dbff874f6ce4f720f27123d08ee66251076f4879d486598395c17a4c3
SIZE (87100e44c57b.patch) = 1590
SHA256 (6370f225681c.patch) = 094fa94d30245bd658fbb9550f8ef0331dbf554aec0d67de11504274685d2d37
SIZE (6370f225681c.patch) = 726

View file

@ -1,6 +1,7 @@
PORTNAME= wayfire-plugins-extra
DISTVERSIONPREFIX= v
DISTVERSION= 0.7.0
PORTREVISION= 1
CATEGORIES= x11-wm
MAINTAINER= jbeich@FreeBSD.org

View file

@ -1,9 +1,19 @@
PORTNAME= wayfire
DISTVERSIONPREFIX= v
DISTVERSION= 0.7.0
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= x11-wm
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
PATCHFILES+= b2ba1a9de620.patch:-p1 # wlroots 0.13
PATCHFILES+= b183bcf20a59.patch:-p1 # wlroots 0.13
PATCHFILES+= aa3e078d830d.patch:-p1 # wlroots 0.13
PATCHFILES+= 9b4139400ca0.patch:-p1 # wlroots 0.13
PATCHFILES+= d30d03aa2321.patch:-p1 # wlroots 0.13
PATCHFILES+= 2a1dacecff3d.patch:-p1 # wlroots 0.13
PATCHFILES+= 54f116f1ca2e.patch:-p1 # wlroots 0.13
PATCHFILES+= 30f13ab31cad.patch:-p1 # wlroots 0.13
MAINTAINER= jbeich@FreeBSD.org
COMMENT= 3D Wayland compositor
@ -15,7 +25,7 @@ BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
${LOCALBASE}/include/xf86drmMode.h:graphics/libdrm \
wayland-protocols>=1.12:graphics/wayland-protocols \
glm>=0.9.8:math/glm \
wlroots>=0.12.0<0.13.0:x11-toolkits/wlroots
wlroots>=0.13.0<0.14.0:x11-toolkits/wlroots
LIB_DEPENDS= libinotify.so:devel/libinotify \
libwf-config.so:devel/wf-config \
libpng.so:graphics/png \

View file

@ -5,3 +5,19 @@ SHA256 (WayfireWM-wf-touch-b1075c5_GH0.tar.gz) = 107fd73280e90c1330adc051b4dada1
SIZE (WayfireWM-wf-touch-b1075c5_GH0.tar.gz) = 53883
SHA256 (WayfireWM-wf-utils-f45641b_GH0.tar.gz) = 2f546333d4b1dfa3ed14caee3682dcc4c7e33164cb255991d918f3ace5f51dd7
SIZE (WayfireWM-wf-utils-f45641b_GH0.tar.gz) = 48453
SHA256 (b2ba1a9de620.patch) = 00c0a4b5e972cbd044864c737ac414b3684579ecaf3447345a8a560695a47ce3
SIZE (b2ba1a9de620.patch) = 2106
SHA256 (b183bcf20a59.patch) = 1caa58cd8d19f43717765441c88239eb9b7faa510a9fbe92a15ecff271dad780
SIZE (b183bcf20a59.patch) = 945
SHA256 (aa3e078d830d.patch) = 7d9c1b1ff8090c2e829fdff9cccb7ac6308aed34d4d5f42ac2f04c44b40aab50
SIZE (aa3e078d830d.patch) = 805
SHA256 (9b4139400ca0.patch) = c7791d482db46cc1ff082ccbe92852b6046091eac61a7771fca46e41babd7b1e
SIZE (9b4139400ca0.patch) = 2021
SHA256 (d30d03aa2321.patch) = ad797a4d3366f896667c4825bebbd310c4648d1977d1effac2f68fdb8510ce8e
SIZE (d30d03aa2321.patch) = 1032
SHA256 (2a1dacecff3d.patch) = 8b1d5a63d9b7660728e0a7ebf61392d693ed2ef85e0a47d0e73211e8700ba372
SIZE (2a1dacecff3d.patch) = 1180
SHA256 (54f116f1ca2e.patch) = cf4848c223823e36f39841ff0a017daac7c73509ba259ba6856f503dce60376c
SIZE (54f116f1ca2e.patch) = 1037
SHA256 (30f13ab31cad.patch) = 673eed7ca831b6f6bbb444cd66f4c2169c9d50822846862744413c85e9cb42a7
SIZE (30f13ab31cad.patch) = 1921