git: be4f4ef88e49 - main - x11/waybar: add hyprland flavor

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Wed, 05 Apr 2023 14:25:26 UTC
The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=be4f4ef88e4991abb818401e785dd51233ff283c

commit be4f4ef88e4991abb818401e785dd51233ff283c
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2023-04-05 14:07:02 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2023-04-05 14:25:20 +0000

    x11/waybar: add hyprland flavor
    
    https://wiki.hyprland.org/Useful-Utilities/Status-Bars/#waybar
---
 x11/waybar/Makefile | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/x11/waybar/Makefile b/x11/waybar/Makefile
index 74cbbd6f03b4..864cc22dcfc2 100644
--- a/x11/waybar/Makefile
+++ b/x11/waybar/Makefile
@@ -20,7 +20,7 @@ LIB_DEPENDS=	libdate-tz.so:devel/date \
 		libxkbregistry.so:x11/libxkbcommon
 TEST_DEPENDS=	catch>0:devel/catch
 
-FLAVORS=	default nopulse
+FLAVORS=	default hyprland nopulse
 CONFLICTS_INSTALL=	${PORTNAME}*
 
 USES=		compiler:c++17-lang gnome meson pkgconfig
@@ -33,6 +33,11 @@ PLIST_FILES=	bin/${PORTNAME} \
 		etc/xdg/${PORTNAME}/config \
 		etc/xdg/${PORTNAME}/style.css
 
+.if ${FLAVOR:U} == hyprland
+# https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/40
+MESON_ARGS+=	-Dexperimental=true
+.endif
+
 # XXX Add pkg-config support to devel/date
 .if exists(${.CURDIR}/files/date.pc.in)
 CONFIGURE_ENV+=	PKG_CONFIG_PATH="${WRKDIR}"
@@ -139,6 +144,11 @@ post-patch:
 # Respect PREFIX for icons
 	@${REINPLACE_CMD} 's,/usr/share,${DATADIR:H},' \
 		${WRKSRC}/src/modules/wlr/taskbar.cpp
+.if ${FLAVOR:U} == hyprland
+# Use hyprctl to switch workspaces
+	@${REINPLACE_CMD} 's/zext_workspace_handle_v1_activate(workspace_handle_);/const std::string command = "hyprctl dispatch workspace " + name_;\n\tsystem(command.c_str());/g' \
+		${WRKSRC}/src/modules/wlr/workspace_manager.cpp
+.endif
 
 pre-test:
 	@if [ ! -e ${WRKDIR}/.meson_build_tests ]; then \