diff options
Diffstat (limited to 'x11-wm/mangowc')
| -rw-r--r-- | x11-wm/mangowc/Makefile | 50 | ||||
| -rw-r--r-- | x11-wm/mangowc/distinfo | 3 | ||||
| -rw-r--r-- | x11-wm/mangowc/files/patch-src_mango.c | 14 | ||||
| -rw-r--r-- | x11-wm/mangowc/files/pkg-message.in | 20 | ||||
| -rw-r--r-- | x11-wm/mangowc/pkg-descr | 19 |
5 files changed, 106 insertions, 0 deletions
diff --git a/x11-wm/mangowc/Makefile b/x11-wm/mangowc/Makefile new file mode 100644 index 000000000000..dcd843bdddc5 --- /dev/null +++ b/x11-wm/mangowc/Makefile @@ -0,0 +1,50 @@ +PORTNAME= mangowc +DISTVERSION= 0.10.7 +CATEGORIES= x11-wm + +MAINTAINER= nivit@FreeBSD.org +COMMENT= Lightweight, high-performance Wayland compositor built on dwl +WWW= https://mangowc.vercel.app + +LICENSE= CC0-1.0 GPLv3 MIT +LICENSE_COMB= multi +LICENSE_FILE_CC0-1.0= ${WRKSRC}/LICENSE.tinywl +LICENSE_FILE_GPLv3= ${WRKSRC}/LICENSE.dwl +LICENSE_FILE_MIT= ${WRKSRC}/LICENSE.wlroots + +BUILD_DEPENDS= git:devel/git \ + hwdata>=0.399:misc/hwdata \ + wayland-protocols>=1.24:graphics/wayland-protocols +LIB_DEPENDS= libdisplay-info.so:sysutils/libdisplay-info \ + libdrm.so:graphics/libdrm \ + libevdev.so:devel/libevdev \ + libinput.so:x11/libinput \ + libjson-c.so:devel/json-c \ + libliftoff.so:graphics/libliftoff \ + libpcre2-8.so:devel/pcre2 \ + libpixman-1.so:x11/pixman \ + libscenefx-0.4.so:x11-toolkits/scenefx04 \ + libseat.so:sysutils/seatd \ + libudev.so:devel/libudev-devd \ + libwayland-egl.so:graphics/wayland \ + libwlroots-0.19.so:x11-toolkits/wlroots019 \ + libxcb-icccm.so:x11/xcb-util-wm \ + libxcb.so:x11/libxcb \ + libxkbcommon.so:x11/libxkbcommon + +RUN_DEPENDS= hwdata>=0.399:misc/hwdata \ + Xwayland:x11-servers/xwayland + +USES= meson pkgconfig + +USE_GITHUB= yes +GH_ACCOUNT= DreamMaoMao + +SUB_FILES= pkg-message + +PLIST_FILES= bin/mango \ + bin/mmsg \ + etc/mango/config.conf \ + share/wayland-sessions/mango.desktop + +.include <bsd.port.mk> diff --git a/x11-wm/mangowc/distinfo b/x11-wm/mangowc/distinfo new file mode 100644 index 000000000000..f28849e93b35 --- /dev/null +++ b/x11-wm/mangowc/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1765528170 +SHA256 (DreamMaoMao-mangowc-0.10.7_GH0.tar.gz) = 6ef7ffe1ea0093675c526422f1e905ec1d0fa90219615b8f4b00ee0f37e1f60c +SIZE (DreamMaoMao-mangowc-0.10.7_GH0.tar.gz) = 405169 diff --git a/x11-wm/mangowc/files/patch-src_mango.c b/x11-wm/mangowc/files/patch-src_mango.c new file mode 100644 index 000000000000..3c03410bec14 --- /dev/null +++ b/x11-wm/mangowc/files/patch-src_mango.c @@ -0,0 +1,14 @@ +--- src/mango.c.orig 2025-12-03 10:15:56 UTC ++++ src/mango.c +@@ -6,7 +6,11 @@ + #include <getopt.h> + #include <libinput.h> + #include <limits.h> ++#ifdef __FreeBSD__ ++#include <dev/evdev/input-event-codes.h> ++#else + #include <linux/input-event-codes.h> ++#endif + #include <scenefx/render/fx_renderer/fx_renderer.h> + #include <scenefx/types/fx/blur_data.h> + #include <scenefx/types/fx/clipped_region.h> diff --git a/x11-wm/mangowc/files/pkg-message.in b/x11-wm/mangowc/files/pkg-message.in new file mode 100644 index 000000000000..4fc2cdddbd53 --- /dev/null +++ b/x11-wm/mangowc/files/pkg-message.in @@ -0,0 +1,20 @@ +[ +{ type: install + message: <<EOM +Before using MangoWC run the following commands as user: + + mkdir -p ~/.config/mangowc + cp %%PREFIX%%/etc/mango/config.conf ~/.config/mangowc/ + +then customize that file, in particular the variable + + xkb_rules_layout + +and the keyboard shortcut to launch a terminal + + bind=Alt,Return,spawn,foot + +(replace foot with your preferred terminal emulator). +EOM +} +] diff --git a/x11-wm/mangowc/pkg-descr b/x11-wm/mangowc/pkg-descr new file mode 100644 index 000000000000..484e300f15b8 --- /dev/null +++ b/x11-wm/mangowc/pkg-descr @@ -0,0 +1,19 @@ +MangoWC is a modern, lightweight, high-performance Wayland compositor built on +dwl - crafted for speed, flexibility, and a customizable desktop experience. + +Feature Highlights + + - Excellent xwayland support + - Base tags not workspaces (supports separate window layouts for each tag) + - Smooth and customizable complete animations (window open/move/close, tag + enter/leave,layer open/close/move) + - Excellent input method support (text input v2/v3) + - Flexible window layouts with easy switching (scroller, master-stack, + monocle,center-master, etc.) + - Rich window states (swallow, minimize, maximize, unglobal, global, + fakefullscreen, overlay, etc.) + - Simple yet powerful external configuration (support shortcuts hot-reload) + - Sway-like scratchpad and named scratchpad + - Ipc support (get/send message from/to compositor by external program) + - Hycov-like overview + - Window effects from scenefx (blur, shadow, corner radius, opacity) |
