From: David Uhden Collado Subject: [UPDATE] x11/emwm 1.3 -> 2.1 & x11/emwm-utils 1.3 -> 2.0 To: ports@openbsd.org Date: Thu, 27 Aug 2026 00:44:00 +0000 Hello, Please find attached patches that update x11/emwm from version 1.3 to 2.1 and x11/emwm-utils from version 1.3 to 2.0. The upstream project page and changelogs are available at: https://fastestcode.org/emwm-changes.txt https://fastestcode.org/utils-changes.txt The main change introduced with EMWM 2.0 is the restoration of the original MWM Workspace Manager functionality, providing multiple workspaces. The update also adds the xineramaScreenFocus option and contains several fixes for Xinerama, icon placement and handling, StaticGravity ICCCM compliance, and client-provided icon pixmaps. EMWM 2.1 is a smaller follow-up release focused primarily on improving compatibility with applications and toolkits and handling configuration problems more gracefully. For emwm-utils, version 2.0 adds an optional workspace switcher to xmtoolbox, allows the xmsm logout/shutdown dialog to be requested with SIGUSR1, moves workspace background handling to EMWM itself, and fixes the toolboxrc parser for K&R-style opening braces. The ports also needed some build-system adjustments. Both now invoke the upstream OpenBSD build target explicitly and pass the compiler, flags, installation paths, include directories, and library directories from the ports infrastructure rather than relying on hard-coded values. I added small patches to the upstream OpenBSD makefiles so PREFIX, MANDIR, RCDIR, APPLRESDIR, X11BASE, and LOCALBASE can be supplied by the port. For emwm-utils, the OpenBSD makefile is also adjusted not to link against libcrypt separately, since crypt(3) is provided by libc on OpenBSD. Installation is now handled explicitly by the ports rather than through the upstream install target, which keeps all installed paths under the control of the ports infrastructure. I also updated the package descriptions to reflect the current EMWM feature set and utilities, and regenerated distinfo for both new source archives. No package list changes were required. Thank you for your time and consideration. Best regards, David. ? patches Index: Makefile =================================================================== RCS file: /cvs/ports/x11/emwm/Makefile,v diff -u -p -u -r1.3 Makefile --- Makefile 30 Oct 2025 21:34:15 -0000 1.3 +++ Makefile 27 Aug 2026 00:20:44 -0000 @@ -1,31 +1,45 @@ -COMMENT = enhanced motif window manager (MWM fork) +COMMENT= Enhanced Motif Window Manager -V = 1.3 -DISTNAME = emwm-src-${V} -PKGNAME = emwm-${V} -REVISION = 0 +DISTNAME= emwm-src-2.1 +PKGNAME= emwm-2.1 -CATEGORIES = x11 -HOMEPAGE = https://fastestcode.org/emwm.html +CATEGORIES= x11 +HOMEPAGE= https://fastestcode.org/emwm.html -# LGPL v2.1 -PERMIT_PACKAGE = Yes +SITES= https://fastestcode.org/dl/ +EXTRACT_SUFX= .tar.xz -SITES = https://fastestcode.org/dl/ -EXTRACT_SUFX = .tar.xz +# LGPLv2.1 +PERMIT_PACKAGE= Yes -WANTLIB += X11 Xext Xinerama Xm Xrandr Xt c m +WANTLIB += X11 Xext Xinerama Xrandr Xt Xm c m -LIB_DEPENDS = x11/motif +LIB_DEPENDS= x11/motif -MAKE_FLAGS = RCDIR=${PREFIX}/lib/X11 \ - CFLAGS="${CFLAGS}" +WRKDIST= ${WRKDIR}/emwm-src-2.1 -FAKE_FLAGS = PREFIX=${WRKINST}${PREFIX} \ - APPLRESDIR=${WRKINST}${PREFIX}/lib/X11/app-defaults \ - MANDIR=${WRKINST}${PREFIX}/man \ - RCDIR=${WRKINST}${PREFIX}/lib/X11 +MAKE_ENV= CC='${CC}' \ + CFLAGS='${CFLAGS}' \ + LDFLAGS='${LDFLAGS}' -NO_TEST = Yes +MAKE_FLAGS= PREFIX='${PREFIX}' \ + MANDIR='${PREFIX}/man' \ + RCDIR='${PREFIX}/lib/X11' \ + APPLRESDIR='${PREFIX}/lib/X11/app-defaults' \ + INCDIRS='-I${X11BASE}/include -I${LOCALBASE}/include' \ + LIBDIRS='-L${X11BASE}/lib -L${LOCALBASE}/lib' + +do-build: + cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} OpenBSD + +do-install: + cd ${WRKSRC}/src && \ + ${INSTALL_PROGRAM} emwm ${PREFIX}/bin/emwm && \ + ${INSTALL_DATA} emwm.1 ${PREFIX}/man/man1/emwm.1 && \ + ${INSTALL_DATA} emwmrc.4 ${PREFIX}/man/man4/emwmrc.4 && \ + ${INSTALL_DATA} system.emwmrc ${PREFIX}/lib/X11/system.emwmrc && \ + ${INSTALL_DATA} Emwm.ad ${PREFIX}/lib/X11/app-defaults/Emwm + +NO_TEST= Yes .include Index: distinfo =================================================================== RCS file: /cvs/ports/x11/emwm/distinfo,v diff -u -p -u -r1.2 distinfo --- distinfo 8 May 2025 14:18:13 -0000 1.2 +++ distinfo 27 Aug 2026 00:20:44 -0000 @@ -1,2 +1,2 @@ -SHA256 (emwm-src-1.3.tar.xz) = Y58/q4P/a0scnHnKRr9iBIVevoNC7gUqIUiUJVQQuM0= -SIZE (emwm-src-1.3.tar.xz) = 337648 +SHA256 (emwm-src-2.1.tar.xz) = 1EDIKgHP92ZwxLstR6cy4k/+7fh7uM+iMMYgk34K+Es= +SIZE (emwm-src-2.1.tar.xz) = 298340 Index: pkg/DESCR =================================================================== RCS file: /cvs/ports/x11/emwm/pkg/DESCR,v diff -u -p -u -r1.1.1.1 DESCR --- pkg/DESCR 23 Aug 2024 05:58:19 -0000 1.1.1.1 +++ pkg/DESCR 27 Aug 2026 00:20:44 -0000 @@ -1,7 +1,11 @@ -EMWM is a fork of the Motif Window Manager with fixes and enhancements. -The idea behind this is to provide compatibility with current xorg -extensions and applications, without changing the way the window -manager looks and behaves. This includes support for multi-monitor -setups through Xinerama/Xrandr, UTF-8 support with Xft fonts, and -overall better compatibility with software that requires Extended -Window Manager Hints. +Enhanced Motif Window Manager (EMWM) is a fork of the Motif Window Manager +with fixes and enhancements to provide compatibility with current X +extensions and applications, without changing the way the window manager +looks and behaves. + +Features include: +- Support for multi-monitor setups through Xinerama/Xrandr +- UTF-8 and Xft fonts support +- Multiple workspaces support +- Better compatibility with EWMH (Extended Window Manager Hints) +- Proper ICCCM compliance for StaticGravity and icon handling --- /dev/null Thu Aug 27 02:20:44 2026 +++ /usr/ports/x11/emwm/patches/patch-mf_Makefile_OpenBSD Thu Aug 27 01:31:44 2026 @@ -0,0 +1,22 @@ +Use ports infrastructure variables for paths. + +--- mf/Makefile.OpenBSD.orig ++++ mf/Makefile.OpenBSD +@@ -1,11 +1,11 @@ + # EMWM OpenBSD Makefile + +-PREFIX = /usr/local +-MANDIR = /usr/local/man +-RCDIR = /usr/X11R6/lib/X11 +-APPLRESDIR = /usr/X11R6/lib/X11/app-defaults ++PREFIX ?= ${PREFIX} ++MANDIR ?= ${PREFIX}/man ++RCDIR ?= ${PREFIX}/lib/X11 ++APPLRESDIR ?= ${PREFIX}/lib/X11/app-defaults + +-INCDIRS = -I/usr/X11R6/include -I/usr/local/include +-LIBDIRS = -L/usr/X11R6/lib -L/usr/local/lib ++INCDIRS += -I${X11BASE}/include -I${LOCALBASE}/include ++LIBDIRS += -L${X11BASE}/lib -L${LOCALBASE}/lib + + CFLAGS = -O2 -Wall $(INCDIRS) ? patches/patch-mf_Makefile_OpenBSD Index: Makefile =================================================================== RCS file: /cvs/ports/x11/emwm-utils/Makefile,v diff -u -p -u -r1.5 Makefile --- Makefile 30 Oct 2025 21:34:15 -0000 1.5 +++ Makefile 27 Aug 2026 00:17:53 -0000 @@ -1,32 +1,48 @@ -COMMENT = session manager and a toolchest-like application launcher +COMMENT= utilities for Enhanced Motif Window Manager -V = 1.3 -DISTNAME = emwm-utils-src-${V} -PKGNAME = emwm-utils-${V} -REVISION = 2 +DISTNAME= emwm-utils-src-2.0 +PKGNAME= emwm-utils-2.0 -CATEGORIES = x11 -HOMEPAGE = https://fastestcode.org/emwm.html +CATEGORIES= x11 +HOMEPAGE= https://fastestcode.org/emwm.html -# MIT -PERMIT_PACKAGE = Yes +SITES= https://fastestcode.org/dl/ +EXTRACT_SUFX= .tar.xz -SITES = https://fastestcode.org/dl/ -EXTRACT_SUFX = .tar.xz +# MIT +PERMIT_PACKAGE= Yes -WANTLIB += X11 Xinerama Xm Xrandr Xss Xt c +WANTLIB += X11 Xinerama Xrandr Xss Xt Xm c -LIB_DEPENDS = x11/motif +LIB_DEPENDS= x11/motif -MAKE_FLAGS = RCDIR=${PREFIX}/lib/X11 \ - CFLAGS="${CFLAGS} -DUNPRIVILEGED_SHUTDOWN \ - -I./Xm -I${X11BASE}/include -I${LOCALBASE}/include" +WRKDIST= ${WRKDIR}/emwm-utils-src-2.0 -FAKE_FLAGS = PREFIX=${WRKINST}${PREFIX} \ - APPLRESDIR=${WRKINST}${PREFIX}/lib/X11/app-defaults \ - MANDIR=${WRKINST}${PREFIX}/man \ - RCDIR=${WRKINST}${PREFIX}/lib/X11 +MAKE_ENV= CC='${CC}' \ + CFLAGS='${CFLAGS}' \ + LDFLAGS='${LDFLAGS}' + +MAKE_FLAGS= PREFIX='${PREFIX}' \ + MANDIR='${PREFIX}/man' \ + RCDIR='${PREFIX}/lib/X11' \ + APPLRESDIR='${PREFIX}/lib/X11/app-defaults' \ + INCDIRS='-I${X11BASE}/include -I${LOCALBASE}/include' \ + LIBDIRS='-L${X11BASE}/lib -L${LOCALBASE}/lib' + +do-build: + cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} OpenBSD + +do-install: + ${INSTALL_SCRIPT} ${WRKSRC}/src/xmsession ${PREFIX}/bin/xmsession + ${INSTALL_PROGRAM} ${WRKSRC}/src/xmtoolbox ${PREFIX}/bin/xmtoolbox + ${INSTALL_PROGRAM} ${WRKSRC}/src/xmsm ${PREFIX}/bin/xmsm + ${INSTALL_MAN} ${WRKSRC}/src/xmtoolbox.1 ${PREFIX}/man/man1/xmtoolbox.1 + ${INSTALL_MAN} ${WRKSRC}/src/xmsm.1 ${PREFIX}/man/man1/xmsm.1 + ${INSTALL_DATA} ${WRKSRC}/src/XmSm.ad ${PREFIX}/lib/X11/app-defaults/XmSm + ${INSTALL_DATA} ${WRKSRC}/src/XmToolbox.ad \ + ${PREFIX}/lib/X11/app-defaults/XmToolbox + ${INSTALL_DATA} ${WRKSRC}/src/toolboxrc ${PREFIX}/lib/X11/toolboxrc -NO_TEST = Yes +NO_TEST= Yes .include Index: distinfo =================================================================== RCS file: /cvs/ports/x11/emwm-utils/distinfo,v diff -u -p -u -r1.2 distinfo --- distinfo 8 May 2025 14:19:24 -0000 1.2 +++ distinfo 27 Aug 2026 00:17:53 -0000 @@ -1,2 +1,2 @@ -SHA256 (emwm-utils-src-1.3.tar.xz) = 4TXV1ZZug/1h6JADiGdczeYtQiMBLMaDO8ouXjchoKo= -SIZE (emwm-utils-src-1.3.tar.xz) = 28144 +SHA256 (emwm-utils-src-2.0.tar.xz) = FwA0yLQb9If6PgiXmIzUjzZrqOvzCJN+1Enfhbm/B14= +SIZE (emwm-utils-src-2.0.tar.xz) = 34840 Index: pkg/DESCR =================================================================== RCS file: /cvs/ports/x11/emwm-utils/pkg/DESCR,v diff -u -p -u -r1.1.1.1 DESCR --- pkg/DESCR 23 Aug 2024 06:03:38 -0000 1.1.1.1 +++ pkg/DESCR 27 Aug 2026 00:17:53 -0000 @@ -1,10 +1,9 @@ -xmsm is simple session manager that provides session configuration -and screen locking and also launches the window manager and the -toolbox. +Utilities for the Enhanced Motif Window Manager (EMWM): -xmtoolbox is an application launcher/menu configured with a simple -text file. It also communicates with the session manager to provide -lock, log out, and shutdown commands. +- xmtoolbox: An application launcher/menu configured with a simple text + file (~/.toolboxrc). Can optionally include a workspace switcher widget. -An example toolbox configuration file can be copied from -${PREFIX}/lib/X11/toolboxrc. +- xmsm: Simple session manager that provides session configuration, + screen locking, logout and shutdown/suspend options. + +- xmsession: Session script for launching EMWM with xmsm from XDM or xinit. --- /dev/null Thu Aug 27 02:18:07 2026 +++ /usr/ports/x11/emwm-utils/patches/patch-mf_Makefile_OpenBSD Thu Aug 27 01:31:44 2026 @@ -0,0 +1,23 @@ +Use ports infrastructure variables for paths. Remove -lcrypt (part of libc on OpenBSD). + +--- mf/Makefile.OpenBSD.orig ++++ mf/Makefile.OpenBSD +@@ -1,11 +1,12 @@ + # OpenBSD Makefile + +-PREFIX = /usr/local +-MANDIR = /usr/local/man +-RCDIR = /usr/X11R6/lib/X11 +-APPLRESDIR = /usr/X11R6/lib/X11/app-defaults ++PREFIX ?= ${PREFIX} ++MANDIR ?= ${PREFIX}/man ++RCDIR ?= ${PREFIX}/lib/X11 ++APPLRESDIR ?= ${PREFIX}/lib/X11/app-defaults + +-INCDIRS = -I./Xm -I/usr/X11R6/include -I/usr/local/include +-LIBDIRS = -L/usr/X11R6/lib -L/usr/local/lib ++INCDIRS += -I./Xm -I${X11BASE}/include -I${LOCALBASE}/include ++LIBDIRS += -L${X11BASE}/lib -L${LOCALBASE}/lib ++SYSLIBS = + + CFLAGS = -O2 -Wall $(INCDIRS)