Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Aug 2021 14:57:16 GMT
From:      Nuno Teixeira <eduardo@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 02f8e1555773 - main - x11-wm/nscde: New port: modern and functional CDE
Message-ID:  <202108091457.179EvG1Y074189@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by eduardo:

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

commit 02f8e1555773479cbe369e8db67821acdae238a5
Author:     Chris Moerz <freebsd@ny-central.org>
AuthorDate: 2021-08-09 14:53:25 +0000
Commit:     Nuno Teixeira <eduardo@FreeBSD.org>
CommitDate: 2021-08-09 14:56:30 +0000

    x11-wm/nscde: New port: modern and functional CDE
    
     * Submitter becomes maintainer
    
    sCDE is a retro but powerful UNIX desktop environment which resembles
    CDE look (and partially feel) but with a more powerful and flexible
    framework beneath-the-surface, more suited for 21st century unix-like
    and Linux systems and user requirements than original CDE.
    
    See also https://github.com/NsCDE/NsCDE
    
    PR:             255929
    Differential Revision:  https://reviews.freebsd.org/D30591
---
 x11-wm/Makefile                                    |     1 +
 x11-wm/nscde/Makefile                              |   306 +
 x11-wm/nscde/distinfo                              |     3 +
 x11-wm/nscde/files/patch-NsCDE_bin_fpclock         |    44 +
 .../files/patch-NsCDE_bin_get__fvwm__infostore     |    11 +
 x11-wm/nscde/files/patch-NsCDE_bin_getfont         |    41 +
 x11-wm/nscde/files/patch-NsCDE_bin_mkpagemenu      |    29 +
 x11-wm/nscde/files/patch-NsCDE_bin_nscde           |    30 +
 .../nscde/files/patch-NsCDE_bin_nscde__colorpicker |    13 +
 x11-wm/nscde/files/patch-NsCDE_bin_xdowrapper      |    11 +
 .../files/patch-NsCDE_config_NsCDE-FrontPanel.conf |   182 +
 .../nscde/files/patch-NsCDE_config_NsCDE-Main.conf |    32 +
 x11-wm/nscde/files/patch-NsCDE_libexec_Splash.sh   |    16 +
 x11-wm/nscde/files/patch-NsCDE_libexec_colormgr    |    11 +
 x11-wm/nscde/files/patch-NsCDE_libexec_fontmgr     |    26 +
 .../files/patch-NsCDE_libexec_fp__manage__subpanel |    28 +
 .../patch-NsCDE_libexec_fvwm-modules_FvwmScript    |    43 +
 .../nscde/files/patch-NsCDE_libexec_nscde__setup   |   372 +
 .../files/patch-NsCDE_libexec_strip__icon__path    |    21 +
 .../patch-NsCDE_libexec_style__managers.shlib      |    38 +
 .../patch-NsCDE_libexec_subpanel__menuitem__props  |    21 +
 x11-wm/nscde/files/patch-NsCDE_libexec_themegen.py |    45 +
 ...E_share_config__templates_NsCDE-Functions.local |    19 +
 ...doc_examples_lxsession-integration_desktop.conf |    11 +
 ...examples_mate-session-integration_nscde.desktop |    11 +
 ...NsCDE_share_doc_examples_sudo_006__PowerManager |    19 +
 ...doc_examples_xsession-integration_nscde.desktop |    11 +
 x11-wm/nscde/files/patch-docbook_NsCDE.xml         |  1162 ++
 x11-wm/nscde/files/patch-docbook_NsCDE.xsl         |    10 +
 .../files/patch-src_XOverrideFontCursor_Makefile   |     9 +
 x11-wm/nscde/files/patch-src_colorpicker_Makefile  |     8 +
 .../files/patch-src_pclock-0.13.1_src_Makefile     |    11 +
 x11-wm/nscde/pkg-descr                             |     9 +
 x11-wm/nscde/pkg-message                           |    16 +
 x11-wm/nscde/pkg-plist                             | 10596 +++++++++++++++++++
 35 files changed, 13216 insertions(+)

diff --git a/x11-wm/Makefile b/x11-wm/Makefile
index c65b7129d687..5271d05c56fc 100644
--- a/x11-wm/Makefile
+++ b/x11-wm/Makefile
@@ -68,6 +68,7 @@
     SUBDIR += metacity
     SUBDIR += muffin
     SUBDIR += mutter
+    SUBDIR += nscde
     SUBDIR += obconf
     SUBDIR += obconf-qt
     SUBDIR += obpager
diff --git a/x11-wm/nscde/Makefile b/x11-wm/nscde/Makefile
new file mode 100644
index 000000000000..614c8aad22e3
--- /dev/null
+++ b/x11-wm/nscde/Makefile
@@ -0,0 +1,306 @@
+PORTNAME=	nscde
+DISTVERSION=	1.2
+CATEGORIES=	x11-wm
+
+MAINTAINER=	freebsd@ny-central.org
+COMMENT=	Modern CDE clone based on fvwm
+
+LICENSE=	GPLv3
+
+PATCH_DEPENDS=	gsed:textproc/gsed \
+		ksh93:shells/ast-ksh
+BUILD_DEPENDS=	docbook-xsl>0:textproc/docbook-xsl \
+		xsltproc:textproc/libxslt
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}psutil>=5.7.0:sysutils/py-psutil@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}xdg>0:devel/py-xdg@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}yaml>=3.11:devel/py-yaml@${PY_FLAVOR} \
+		dunst:sysutils/dunst \
+		font-bh-lucidatypewriter-100dpi>0:x11-fonts/font-bh-lucidatypewriter-100dpi \
+		fvwm2:x11-wm/fvwm2 \
+		gsed:textproc/gsed \
+		ksh93:shells/ast-ksh \
+		magick:graphics/ImageMagick7 \
+		pyuic5:devel/py-qt5@${PY_FLAVOR} \
+		qt5-style-plugins>=5.0.0:x11-themes/qt5-style-plugins \
+		roboto-fonts-ttf>0:x11-fonts/roboto-fonts-ttf \
+		stalonetray:x11/stalonetray \
+		sudo:security/sudo \
+		xdotool:x11/xdotool \
+		xdpyinfo:x11/xdpyinfo \
+		xrdb:x11/xrdb \
+		xrefresh:x11/xrefresh \
+		xscreensaver:x11/xscreensaver \
+		xsettingsd:x11/xsettingsd \
+		xterm:x11/xterm
+
+USES=		gettext pkgconfig:build python:3.7+ shebangfix xorg
+USE_GITHUB=	yes
+GH_ACCOUNT=	nscde
+USE_XORG=	x11 xext xpm xrandr
+
+SHEBANG_FILES=	Installer.ksh NsCDE/bin/confget.py NsCDE/bin/confset.py \
+		NsCDE/bin/nscde_usleep NsCDE/bin/sysinfo.py \
+		NsCDE/lib/python/Globals.py NsCDE/lib/python/MiscFun.py \
+		NsCDE/lib/python/MotifColors.py NsCDE/lib/python/Opts.py \
+		NsCDE/lib/python/SpritesGtk2.py NsCDE/lib/python/Theme.py \
+		NsCDE/lib/python/ThemeGtk.py NsCDE/libexec/colorconv.py \
+		NsCDE/libexec/geticon.py NsCDE/libexec/getla1.py \
+		NsCDE/libexec/nscde_palette_colorgen.py \
+		NsCDE/libexec/themegen.py \
+		NsCDE/share/config_templates/integration/gtk2_gtk3_qt/gtk-2.0/img/SpritesGtk2.py \
+		NsCDE/share/config_templates/integration/gtk2_gtk3_qt/gtk-2.0/img/src/SpritesGtk2.py
+
+DOCSDIR=	${PREFIX}/share/doc/nscde
+
+OPTIONS_DEFINE=		DOCS EXAMPLES
+OPTIONS_DEFAULT=	DOCS EXAMPLES
+
+_NSCDE_HELPERS=	Notifier.sh Splash.sh appfinder backdropmgr colorconv.py \
+		colormgr fontmgr fp_manage_subpanel fpexec fpseticon \
+		generate_app_menus generate_subpanels geticon.py getla1.py \
+		keymenu nscde-acpi nscde_get_logical_screens \
+		nscde_palette_colorgen.py nscde_setup strip_icon_path \
+		style_managers.shlib subpanel_menuitem_props themegen.py
+
+_PREFIX_FILES=	NsCDE/bin/fpclock NsCDE/bin/get_fvwm_infostore \
+		NsCDE/bin/getfont NsCDE/bin/mkpagemenu NsCDE/bin/nscde \
+		NsCDE/bin/nscde_colorpicker NsCDE/bin/xdowrapper \
+		NsCDE/config/NsCDE-Main.conf.sample NsCDE/libexec/Splash.sh \
+		NsCDE/libexec/fp_manage_subpanel \
+		NsCDE/libexec/fvwm-modules/FvwmScript NsCDE/libexec/nscde_setup \
+		NsCDE/libexec/themegen.py \
+		NsCDE/share/doc/examples/lxsession-integration/desktop.conf \
+		NsCDE/share/doc/examples/mate-session-integration/nscde.desktop \
+		NsCDE/share/doc/examples/sudo/006_PowerManager \
+		NsCDE/share/doc/examples/xsession-integration/nscde.desktop \
+		docbook/NsCDE.xml docbook/NsCDE.xsl
+
+_SHAREDOC=	NsCDE/config/FrontPanel.actions \
+		NsCDE/config/NsCDE-Functions.conf \
+		NsCDE/config/NsCDE-Keybindings.conf \
+		NsCDE/config/NsCDE-Menus.conf NsCDE/config/NsCDE-Subpanels.conf \
+		NsCDE/config/Subpanels.actions NsCDE/lib/scripts/BackdropMgr \
+		NsCDE/lib/scripts/BeepMgr NsCDE/lib/scripts/CheckMailApplet \
+		NsCDE/lib/scripts/ColorMgr NsCDE/lib/scripts/ExecDialog \
+		NsCDE/lib/scripts/FontMgr NsCDE/lib/scripts/FpLite \
+		NsCDE/lib/scripts/GeometryMgr NsCDE/lib/scripts/KeyboardMgr \
+		NsCDE/lib/scripts/ModifyColor NsCDE/lib/scripts/MonthDayApplet \
+		NsCDE/lib/scripts/NColorsDialog NsCDE/lib/scripts/NProcMgr \
+		NsCDE/lib/scripts/Occupy NsCDE/lib/scripts/PaletteDialog \
+		NsCDE/lib/scripts/PointerMgr NsCDE/lib/scripts/PowerSaveMgr \
+		NsCDE/lib/scripts/StyleMgr NsCDE/lib/scripts/SubpanelMgr \
+		NsCDE/lib/scripts/SysActionDialog \
+		NsCDE/lib/scripts/SubpanelSettings NsCDE/lib/scripts/Sysinfo \
+		NsCDE/lib/scripts/WSM NsCDE/lib/scripts/WSM-2 \
+		NsCDE/lib/scripts/WSM-4 NsCDE/lib/scripts/WSM-6 \
+		NsCDE/lib/scripts/WSM-8 NsCDE/lib/scripts/WindowMgr \
+		NsCDE/lib/scripts/WsPgMgr
+
+_SHAREICONS=	NsCDE/config/NsCDE-Functions.conf
+
+_CURLYICONS=	NsCDE/config/NsCDE-Functions.conf NsCDE/libexec/colormgr \
+		NsCDE/libexec/subpanel_menuitem_props
+
+_SHARESLASH=	NsCDE/config/NsCDE-Backdrops.conf \
+		NsCDE/config/NsCDE-Functions.conf NsCDE/config/NsCDE-Main.conf \
+		NsCDE/share/doc/NsCDE.txt \
+		NsCDE/share/doc/html/NsCDE-Localization.html
+
+_BSHARESLASH=	NsCDE/config/NsCDE-Functions.conf NsCDE/lib/scripts/BackdropMgr \
+		NsCDE/lib/scripts/BeepMgr NsCDE/lib/scripts/ColorMgr \
+		NsCDE/lib/scripts/ExecDialog NsCDE/lib/scripts/FilePicker \
+		NsCDE/lib/scripts/FontMgr NsCDE/lib/scripts/GeometryMgr \
+		NsCDE/lib/scripts/InputForm NsCDE/lib/scripts/KeyboardMgr \
+		NsCDE/lib/scripts/ModifyColor NsCDE/lib/scripts/NColorsDialog \
+		NsCDE/lib/scripts/NProcMgr NsCDE/lib/scripts/Occupy \
+		NsCDE/lib/scripts/PaletteDialog NsCDE/lib/scripts/PointerMgr \
+		NsCDE/lib/scripts/PowerSaveMgr NsCDE/lib/scripts/StyleMgr \
+		NsCDE/lib/scripts/SubpanelMgr NsCDE/lib/scripts/SysActionDialog \
+		NsCDE/lib/scripts/SubpanelSettings NsCDE/lib/scripts/Sysinfo \
+		NsCDE/lib/scripts/WSM NsCDE/lib/scripts/WSM-2 \
+		NsCDE/lib/scripts/WSM-4 NsCDE/lib/scripts/WSM-6 \
+		NsCDE/lib/scripts/WSM-8 NsCDE/lib/scripts/WindowMgr \
+		NsCDE/lib/scripts/WsPgMgr NsCDE/libexec/Notifier.sh \
+		NsCDE/libexec/appfinder NsCDE/libexec/fontmgr \
+		NsCDE/libexec/strip_icon_path \
+		NsCDE/libexec/subpanel_menuitem_props \
+		NsCDE/share/config_templates/colormgr.local \
+		NsCDE/share/doc/NsCDE.txt README.localization
+
+_CSHARESLASH=	NsCDE/libexec/colormgr NsCDE/libexec/fontmgr \
+		NsCDE/libexec/style_managers.shlib \
+		NsCDE/libexec/subpanel_menuitem_props
+
+_SHARENSLASH=	NsCDE/config/NsCDE-Main.conf
+
+_LIBEXEC_SCRIPTS=	NsCDE/config/NsCDE-Functions.conf \
+			NsCDE/config/NsCDE-Main.conf \
+			NsCDE/config/NsCDE-Menus.conf \
+			NsCDE/lib/scripts/ColorMgr \
+			NsCDE/lib/scripts/ModifyColor
+
+_BLIBEXEC_SCRIPTS=	NsCDE/lib/scripts/BackdropMgr \
+			NsCDE/lib/scripts/ColorMgr NsCDE/lib/scripts/FontMgr \
+			NsCDE/lib/scripts/FpLite NsCDE/lib/scripts/GeometryMgr \
+			NsCDE/lib/scripts/ModifyColor \
+			NsCDE/lib/scripts/PaletteDialog \
+			NsCDE/lib/scripts/SubpanelMgr \
+			NsCDE/lib/scripts/SysActionDialog \
+			NsCDE/lib/scripts/SubpanelSettings \
+			NsCDE/libexec/colormgr \
+			NsCDE/libexec/subpanel_menuitem_props \
+			NsCDE/share/config_templates/colormgr.local \
+			NsCDE/share/doc/NsCDE.txt
+
+_CLIBEXEC_SCRIPTS=	NsCDE/libexec/backdropmgr NsCDE/libexec/colormgr
+
+_CLIBS=		NsCDE/libexec/colormgr
+
+_LIBS=		NsCDE/config/NsCDE-Main.conf
+
+_BBINS=		NsCDE/config/FrontPanel.actions \
+		NsCDE/config/NsCDE-Main.conf.sample \
+		NsCDE/config/NsCDE-Functions.conf.sample \
+		NsCDE/lib/scripts/ActionForm NsCDE/lib/scripts/BackdropMgr \
+		NsCDE/lib/scripts/BeepMgr NsCDE/lib/scripts/ChoiceForm \
+		NsCDE/lib/scripts/ColorMgr NsCDE/lib/scripts/ExecDialog \
+		NsCDE/lib/scripts/FilePicker NsCDE/lib/scripts/FontMgr \
+		NsCDE/lib/scripts/GeometryMgr NsCDE/lib/scripts/InputForm \
+		NsCDE/lib/scripts/KeyboardMgr NsCDE/lib/scripts/ModifyColor \
+		NsCDE/lib/scripts/MonthDayApplet \
+		NsCDE/lib/scripts/NColorsDialog NsCDE/lib/scripts/NProcMgr \
+		NsCDE/lib/scripts/Occupy NsCDE/lib/scripts/PaletteDialog \
+		NsCDE/lib/scripts/PointerMgr NsCDE/lib/scripts/PowerSaveMgr \
+		NsCDE/lib/scripts/StyleMgr NsCDE/lib/scripts/SubpanelMgr \
+		NsCDE/lib/scripts/SysActionDialog \
+		NsCDE/lib/scripts/SubpanelSettings NsCDE/lib/scripts/Sysinfo \
+		NsCDE/lib/scripts/WSM NsCDE/lib/scripts/WSM-2 \
+		NsCDE/lib/scripts/WSM-4 NsCDE/lib/scripts/WSM-6 \
+		NsCDE/lib/scripts/WSM-8 NsCDE/lib/scripts/WaitNotice \
+		NsCDE/lib/scripts/WindowMgr NsCDE/lib/scripts/WsPgMgr \
+		NsCDE/libexec/Notifier.sh NsCDE/libexec/backdropmgr \
+		NsCDE/libexec/colormgr NsCDE/libexec/fontmgr \
+		NsCDE/libexec/fp_manage_subpanel NsCDE/libexec/strip_icon_path \
+		NsCDE/libexec/subpanel_menuitem_props \
+		NsCDE/share/applications/NsCDE-Exec.desktop \
+		NsCDE/share/applications/NsCDE-FvwmConsole.desktop \
+		NsCDE/share/applications/NsCDE-NProcMgr.desktop \
+		NsCDE/share/applications/NsCDE-StyleMgr.desktop \
+		NsCDE/share/applications/NsCDE-Sysinfo.desktop \
+		NsCDE/share/applications/NsCDE-WsPgMgr.desktop \
+		NsCDE/share/applications/WatchErrors.desktop \
+		NsCDE/share/doc/NsCDE.txt
+
+_SBINS=		NsCDE/config/NsCDE-FrontPanel.conf \
+		NsCDE/config/NsCDE-Functions.conf NsCDE/config/NsCDE-Main.conf \
+		NsCDE/lib/scripts/WSM NsCDE/lib/scripts/WSM-2 \
+		NsCDE/lib/scripts/WSM-4 NsCDE/lib/scripts/WSM-6 \
+		NsCDE/lib/scripts/WSM-8 NsCDE/lib/scripts/WsPgMgr
+
+_CONFREF=	NsCDE/config/NsCDE-Main.conf
+
+_CCONFIGS=	NsCDE/libexec/colormgr
+
+_CONFIGS=	NsCDE/lib/scripts/SubpanelMgr \
+		NsCDE/lib/scripts/SubpanelSettings NsCDE/lib/scripts/WSM \
+		NsCDE/lib/scripts/WSM-2 NsCDE/lib/scripts/WSM-4 \
+		NsCDE/lib/scripts/WSM-6 NsCDE/lib/scripts/WSM-8 \
+		NsCDE/lib/scripts/WindowMgr NsCDE/lib/scripts/WsPgMgr \
+		NsCDE/libexec/fp_manage_subpanel NsCDE/libexec/fpexec \
+		NsCDE/libexec/fpseticon NsCDE/libexec/generate_app_menus \
+		NsCDE/libexec/generate_subpanels NsCDE/libexec/keymenu \
+		NsCDE/libexec/subpanel_menuitem_props NsCDE/share/doc/NsCDE.txt \
+		README.md
+
+_KSHFIX=	NsCDE/bin/fpclock NsCDE/bin/get_fvwm_infostore NsCDE/bin/getdpi \
+		NsCDE/bin/getfont NsCDE/bin/ised NsCDE/bin/mkpagemenu \
+		NsCDE/bin/nscde NsCDE/bin/nscde_colorpicker \
+		NsCDE/bin/nscde_fvwmclnt NsCDE/bin/nscde_var_append \
+		NsCDE/bin/xdowrapper NsCDE/libexec/Notifier.sh \
+		NsCDE/libexec/Splash.sh NsCDE/libexec/appfinder \
+		NsCDE/libexec/backdropmgr NsCDE/libexec/colormgr \
+		NsCDE/libexec/fontmgr NsCDE/libexec/fp_manage_subpanel \
+		NsCDE/libexec/fpexec NsCDE/libexec/fpseticon \
+		NsCDE/libexec/fvwm-modules/FvwmScript \
+		NsCDE/libexec/generate_app_menus \
+		NsCDE/libexec/generate_subpanels NsCDE/libexec/keymenu \
+		NsCDE/libexec/nscde-acpi \
+		NsCDE/libexec/nscde_get_logical_screens \
+		NsCDE/libexec/strip_icon_path \
+		NsCDE/libexec/subpanel_menuitem_props \
+		NsCDE/share/config_templates/colormgr.local \
+		NsCDE/share/config_templates/fontmgr.local generate_subpanels
+
+post-extract:
+	${MV} ${WRKDIR}/NsCDE-${DISTVERSION} ${WRKDIR}/${PORTNAME}-${DISTVERSION}
+
+post-patch:
+	${CP} ${WRKSRC}/NsCDE/libexec/generate_subpanels ${WRKSRC}/generate_subpanels
+	${REINPLACE_CMD} -e 's@config/@etc/nscde/@g' ${WRKSRC}/generate_subpanels
+	( for SDOC in ${_SHAREDOC}; do ${REINPLACE_CMD} -e 's@$$\[NSCDE_ROOT\]/share/doc/@'${PREFIX}'/share/doc/nscde/@g' ${WRKSRC}/$${SDOC}; done )
+	( for IDOC in ${_SHAREICONS}; do ${REINPLACE_CMD} -e 's@$$\[NSCDE_ROOT\]/share/icons/@'${PREFIX}'/share/icons/@g' ${WRKSRC}/$${IDOC}; done )
+	( for SDOC in ${_SHARESLASH}; do ${REINPLACE_CMD} -e 's@$$\[NSCDE_ROOT\]/share/@'${DATADIR}'/@g' ${WRKSRC}/$${SDOC}; done )
+	( for SDOC in ${_SHARENSLASH}; do ${REINPLACE_CMD} -e 's@$$\[NSCDE_ROOT\]/share@'${DATADIR}'@g' ${WRKSRC}/$${SDOC}; done )
+	( for SCR in ${_LIBEXEC_SCRIPTS}; do ${REINPLACE_CMD} -e 's@$$\[NSCDE_ROOT\]/libexec/@'${PREFIX}'/libexec/nscde/@g' ${WRKSRC}/$${SCR}; done )
+	( for SLIB in ${_LIBS}; do ${REINPLACE_CMD} -e "s@$$\[NSCDE_ROOT\]/lib/@${PREFIX}/lib/nscde/@g" ${WRKSRC}/$${SLIB}; done )
+	( for SB in ${_SBINS}; do ${REINPLACE_CMD} -e 's@$$\[NSCDE_ROOT\]/bin/@'${PREFIX}'/sbin/@g' ${WRKSRC}/$${SB}; done )
+	( for CR in ${_CONFREF}; do ${REINPLACE_CMD} -e 's@$$\[NSCDE_ROOT\]/config/@'${ETCDIR}'/@g' ${WRKSRC}/$${CR}; done )
+	( for IDOC in ${_CURLYICONS}; do ${REINPLACE_CMD} -e 's@$${NSCDE_ROOT}/share/icons/@'${PREFIX}'/share/icons/@g' ${WRKSRC}/$${IDOC}; done )
+	( for SDOC in ${_CSHARESLASH}; do ${REINPLACE_CMD} -e 's@$${NSCDE_ROOT}/share/@'${DATADIR}'/@g' ${WRKSRC}/$${SDOC}; done )
+	( for SDOC in ${_BSHARESLASH}; do ${REINPLACE_CMD} -e 's@$$NSCDE_ROOT/share/@'${DATADIR}'/@g' ${WRKSRC}/$${SDOC}; done )
+	${FIND} ${WRKSRC}/NsCDE/config -type f -name '*.conf' -exec ${MV} {} {}.sample \;
+	( for BBIN in ${_BBINS}; do ${REINPLACE_CMD} -e 's@$$NSCDE\_ROOT\/bin@'${PREFIX}'/sbin@g' ${WRKSRC}/$${BBIN}; done )
+	( for CFG in ${_CONFIGS}; do ${REINPLACE_CMD} -e 's@$$NSCDE\_ROOT\/config@'${ETCDIR}'@g' ${WRKSRC}/$${CFG}; done )
+	( for SCR in ${_BLIBEXEC_SCRIPTS}; do ${REINPLACE_CMD} -e 's@$$NSCDE\_ROOT\/libexec@'${PREFIX}'/libexec/nscde@g' ${WRKSRC}/$${SCR}; done )
+	( for CFG in ${_CCONFIGS}; do ${REINPLACE_CMD} -e 's@$${NSCDE_ROOT}/config/@'${ETCDIR}'/@g' ${WRKSRC}/$${CFG}; done )
+	( for SLIB in ${_CLIBEXEC_SCRIPTS}; do ${REINPLACE_CMD} -e 's@$${NSCDE_ROOT}/libexec/@'${PREFIX}'/libexec/nscde/@g' ${WRKSRC}/$${SLIB}; done )
+	( for CLIB in ${_CLIBS}; do ${REINPLACE_CMD} -e 's@$${NSCDE_ROOT}/lib/@'${PREFIX}'/lib/nscde/@g' ${WRKSRC}/$${CLIB}; done )
+	${WRKSRC}/NsCDE/bin/ised -c 's/\*FrontPanel: \(.*x.*\), Id NsCDE-Subpanel\(.*\), Frame 1, PressColorset 27, \\/\*FrontPanel: \1, Id NsCDE-Subpanel\2, Frame 1, PressColorset 27, \\\n  Icon NsCDE\/FPSubArrowUp.xpm, PressIcon NsCDE\/FPSubArrowDown.xpm, \\/g' -f "${WRKSRC}/NsCDE/config/NsCDE-FrontPanel.conf.sample"
+	( for KSHB in ${_KSHFIX}; do ${REINPLACE_CMD} -e 's@^#!/usr/bin/env ksh93@#!'${PREFIX}'/bin/ksh93@' ${WRKSRC}/$${KSHB}; done )
+	${FIND} ${WRKSRC}/NsCDE -type f -name '*.bak' -delete
+	( for HLP in ${_PREFIX_FILES}; do ${REINPLACE_CMD} -e 's@$${PREFIX}@'${PREFIX}'@g' ${WRKSRC}/$${HLP}; done )
+	${FIND} ${WRKSRC}/NsCDE -type f -name '*.bak' -delete
+
+do-build:
+	${RM} ${WRKSRC}/NsCDE/share/doc/html/*
+	(cd ${WRKSRC}/docbook && ${PREFIX}/bin/xsltproc -o ${WRKSRC}/NsCDE/share/doc/html/NsCDE.html NsCDE.xsl NsCDE.xml)
+	${CP} ${WRKSRC}/docbook/NsCDE.css ${WRKSRC}/NsCDE/share/doc/html/NsCDE.css
+	make -C ${WRKSRC}/src/XOverrideFontCursor
+	make -C ${WRKSRC}/src/pclock-0.13.1/src
+	make -C ${WRKSRC}/src/colorpicker
+	${STRIP_CMD} ${WRKSRC}/src/colorpicker/colorpicker
+	${STRIP_CMD} ${WRKSRC}/src/pclock-0.13.1/src/pclock
+	${STRIP_CMD} ${WRKSRC}/src/XOverrideFontCursor/XOverrideFontCursor.so
+
+do-install:
+	${FIND} ${WRKSRC} -type f -name '*.orig' -delete
+	${MKDIR} ${STAGEDIR}/${PREFIX}/libexec/nscde/fvwm-modules
+	${MKDIR} ${STAGEDIR}/${PREFIX}/lib/nscde
+	${MKDIR} ${STAGEDIR}/${ETCDIR}/xdg/menus
+	${MKDIR} ${STAGEDIR}/${PREFIX}/share/icons/NsCDE
+	${MKDIR} ${STAGEDIR}/${PREFIX}/share/nscde
+	${INSTALL_DATA} ${WRKSRC}/NsCDE/config/*.sample ${STAGEDIR}/${ETCDIR}
+	${INSTALL_DATA} ${WRKSRC}/NsCDE/config/*.actions ${STAGEDIR}/${ETCDIR}
+	${INSTALL_DATA} ${WRKSRC}/NsCDE/config/xdg/menus/* ${STAGEDIR}/${ETCDIR}/xdg/menus
+	${INSTALL_DATA} ${WRKSRC}/src/XOverrideFontCursor/XOverrideFontCursor.so ${STAGEDIR}/${PREFIX}/lib/nscde
+	${INSTALL_PROGRAM} ${WRKSRC}/src/pclock-0.13.1/src/pclock ${STAGEDIR}/${PREFIX}/bin
+	${INSTALL_PROGRAM} ${WRKSRC}/src/colorpicker/colorpicker ${STAGEDIR}/${PREFIX}/bin
+	${INSTALL_SCRIPT} ${WRKSRC}/NsCDE/bin/* ${STAGEDIR}/${PREFIX}/sbin
+	( for HLP in ${_NSCDE_HELPERS}; do ${INSTALL_SCRIPT} ${WRKSRC}/NsCDE/libexec/$${HLP} ${STAGEDIR}/${PREFIX}/libexec/nscde/$${HLP}; done )
+	${INSTALL_SCRIPT} ${WRKSRC}/NsCDE/libexec/fvwm-modules/FvwmScript ${STAGEDIR}/${PREFIX}/libexec/nscde/fvwm-modules
+	(cd ${WRKSRC}/NsCDE/share/icons && ${COPYTREE_SHARE} . ${STAGEDIR}/${PREFIX}/share/icons)
+	${INSTALL_DATA} ${WRKSRC}/NsCDE/share/applications/* ${STAGEDIR}/${PREFIX}/share/applications
+	(cd ${WRKSRC}/NsCDE/share && ${COPYTREE_SHARE} "palettes photos config_templates backdrops defaults desktop-directories locale \
+		fontsets fallback" ${STAGEDIR}/${DATADIR})
+	(cd ${WRKSRC}/NsCDE/lib && ${COPYTREE_SHARE} . ${STAGEDIR}/${PREFIX}/lib/nscde)
+	NSCDE_ROOT="${STAGEDIR}/${PREFIX}" HAS_WINDOWNAME=1 SYSMODE=1 ${WRKSRC}/generate_subpanels > ${STAGEDIR}/${ETCDIR}/NsCDE-Subpanels.conf.sample
+	${FIND} ${STAGEDIR}/${ETCDIR} -type f -name '*.actions' -exec ${MV} {} {}.sample \;
+
+do-install-DOCS-on:
+	${MKDIR} ${STAGEDIR}/${PREFIX}/share/doc/nscde
+	${MKDIR} ${STAGEDIR}/${PREFIX}/share/examples/nscde
+	(cd ${WRKSRC}/NsCDE/share/doc/examples && ${COPYTREE_SHARE} . ${STAGEDIR}/${PREFIX}/share/examples/nscde)
+	(cd ${WRKSRC}/NsCDE/share/doc && ${COPYTREE_SHARE} html ${STAGEDIR}/${PREFIX}/share/doc/nscde)
+	${INSTALL_DATA} ${WRKSRC}/NsCDE/share/doc/NsCDE.* ${STAGEDIR}/${PREFIX}/share/doc/nscde
+
+.include <bsd.port.mk>
diff --git a/x11-wm/nscde/distinfo b/x11-wm/nscde/distinfo
new file mode 100644
index 000000000000..55e940fe655f
--- /dev/null
+++ b/x11-wm/nscde/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1619881563
+SHA256 (nscde-nscde-1.2_GH0.tar.gz) = 86b3e9ca84814ded9aed3d4044716b46229b69e47e55b76d2526aa6185fc20ce
+SIZE (nscde-nscde-1.2_GH0.tar.gz) = 31421032
diff --git a/x11-wm/nscde/files/patch-NsCDE_bin_fpclock b/x11-wm/nscde/files/patch-NsCDE_bin_fpclock
new file mode 100644
index 000000000000..a99260355322
--- /dev/null
+++ b/x11-wm/nscde/files/patch-NsCDE_bin_fpclock
@@ -0,0 +1,44 @@
+--- NsCDE/bin/fpclock.orig	2021-05-02 07:41:34 UTC
++++ NsCDE/bin/fpclock
+@@ -6,7 +6,6 @@
+ # Licence: GPLv3
+ #
+ 
+-[ -z $NSCDE_ROOT ] && exit 2
+ MARCH=$(uname -m)
+ 
+ function find_colors
+@@ -15,8 +14,8 @@ function find_colors
+       if [ -r "$FVWM_USERDIR/palettes/${NSCDE_PALETTE}.dp" ]; then
+          palfile="$FVWM_USERDIR/palettes/${NSCDE_PALETTE}.dp"
+       else
+-         if [ -r "$NSCDE_ROOT/share/palettes/${NSCDE_PALETTE}.dp" ]; then
+-            palfile="$NSCDE_ROOT/share/palettes/${NSCDE_PALETTE}.dp"
++         if [ -r "${PREFIX}/share/nscde/palettes/${NSCDE_PALETTE}.dp" ]; then
++            palfile="${PREFIX}/share/nscde/palettes/${NSCDE_PALETTE}.dp"
+          fi
+       fi
+ 
+@@ -25,9 +24,9 @@ function find_colors
+       fi
+ 
+       if [ "x$palfile" != "x" ]; then
+-         $NSCDE_ROOT/libexec/nscde_palette_colorgen.py \
++         ${PREFIX}/libexec/nscde/nscde_palette_colorgen.py \
+           -n ${NSCDE_PALETTE_NCOLORS} \
+-          -p /opt/NsCDE/share/palettes/${NSCDE_PALETTE}.dp -sl | \
++          -p ${PREFIX}/share/nscde/palettes/${NSCDE_PALETTE}.dp -sl | \
+           egrep '(ts|bs)_color_3' | while IFS=" " read name value
+          do
+             eval "${name}"="${value}"
+@@ -50,8 +49,8 @@ function find_colors
+ 
+ find_colors
+ 
+-if [ -x $NSCDE_ROOT/bin/fpclock-${NSCDE_OS}_${MARCH} ]; then
+-   exec $NSCDE_ROOT/bin/fpclock-${NSCDE_OS}_${MARCH} -H $bs_color_3 -S $ts_color_3 "$@"
++if [ -x ${PREFIX}/bin/fpclock ]; then
++   exec ${PREFIX}/bin/fpclock -H $bs_color_3 -S $ts_color_3 "$@"
+ else
+    pclock=$(whence -p pclock)
+    if [ "x$pclock" != "x" ]; then
diff --git a/x11-wm/nscde/files/patch-NsCDE_bin_get__fvwm__infostore b/x11-wm/nscde/files/patch-NsCDE_bin_get__fvwm__infostore
new file mode 100644
index 000000000000..b1f619270376
--- /dev/null
+++ b/x11-wm/nscde/files/patch-NsCDE_bin_get__fvwm__infostore
@@ -0,0 +1,11 @@
+--- NsCDE/bin/get_fvwm_infostore.orig	2021-05-02 07:41:15 UTC
++++ NsCDE/bin/get_fvwm_infostore
+@@ -9,7 +9,7 @@ if [ ! -d "$FVWM_USERDIR"/tmp ]; then
+    mkdir -p "$FVWM_USERDIR"/tmp
+ fi
+ 
+-$NSCDE_ROOT/bin/nscde_fvwmclnt "Exec exec echo \$[infostore.$1] > \"$FVWM_USERDIR\"/tmp/ifsvar_get.$$"
++${PREFIX}/sbin/nscde_fvwmclnt "Exec exec echo \$[infostore.$1] > \"$FVWM_USERDIR\"/tmp/ifsvar_get.$$"
+ cnt=50
+ while [ ! -r "$FVWM_USERDIR"/tmp/ifsvar_get.$$ ]
+ do
diff --git a/x11-wm/nscde/files/patch-NsCDE_bin_getfont b/x11-wm/nscde/files/patch-NsCDE_bin_getfont
new file mode 100644
index 000000000000..a5e517b02052
--- /dev/null
+++ b/x11-wm/nscde/files/patch-NsCDE_bin_getfont
@@ -0,0 +1,41 @@
+--- NsCDE/bin/getfont.orig	2021-05-02 07:40:22 UTC
++++ NsCDE/bin/getfont
+@@ -12,11 +12,6 @@ export LC_ALL=C
+ PrintFnSize=0
+ PrettyName=0
+ 
+-if [ -z $NSCDE_ROOT ]; then
+-   echo "No \$NSCDE_ROOT set. Exiting."
+-   exit 3
+-fi
+-
+ if [ -z $FVWM_USERDIR ]; then
+    echo "No \$FVWM_USERDIR set. Exiting."
+    exit 4
+@@ -46,7 +41,7 @@ function GetFont
+    Defaults
+ 
+    if [ "x$FnFile" == "x" ]; then
+-      sysfncffile="${NSCDE_ROOT}/config/NsCDE-Font-${NSCDE_FONT_DPI}dpi.conf"
++      sysfncffile="${PREFIX}/etc/nscde/NsCDE-Font-${NSCDE_FONT_DPI}dpi.conf"
+       if [ -s "${FVWM_USERDIR}/NsCDE-Font-${NSCDE_FONT_DPI}dpi.conf" ]; then
+          fncnffile="${FVWM_USERDIR}/NsCDE-Font-${NSCDE_FONT_DPI}dpi.conf"
+          avoiddoublegrep=0
+@@ -74,7 +69,7 @@ function GetFont
+ 
+    Catch2="${Catch/InfoStoreAdd font./}"
+    Catch3="${Catch2#*\"}"
+-   GetSize=$(echo "${Catch3/\"/}" | $NSCDE_ROOT/bin/ised -c "s/\(.*\)\(size=\)\(.*\)\(.*\)\?/\3/g" -o -f -)
++   GetSize=$(echo "${Catch3/\"/}" | ${PREFIX}/sbin/ised -c "s/\(.*\)\(size=\)\(.*\)\(.*\)\?/\3/g" -o -f -)
+    if (($PrettyName == 1)); then
+       FontStruct=$(echo "${Catch3/\"/}" | awk -F: '{ $1=""; print $0 }' | sed 's/^ //g; s/size=//g')
+    else
+@@ -126,7 +121,7 @@ function GetFont
+ 
+          if (($GetSize > $FnMaxSize)); then
+             if (($PrintFnSize == 0)); then
+-               echo "$FontStruct" | $NSCDE_ROOT/bin/ised -c "s/\(.*\)\(size=\)\([[:digit:]]\+\)\(\.[[:digit:]]\+\)\?\(.*\)\?/\1\2${FnMaxSize}\5/g" -o -f -
++               echo "$FontStruct" | ${PREFIX}/sbin/ised -c "s/\(.*\)\(size=\)\([[:digit:]]\+\)\(\.[[:digit:]]\+\)\?\(.*\)\?/\1\2${FnMaxSize}\5/g" -o -f -
+             else
+                echo $FnMaxSize
+             fi
diff --git a/x11-wm/nscde/files/patch-NsCDE_bin_mkpagemenu b/x11-wm/nscde/files/patch-NsCDE_bin_mkpagemenu
new file mode 100644
index 000000000000..0add44704dd3
--- /dev/null
+++ b/x11-wm/nscde/files/patch-NsCDE_bin_mkpagemenu
@@ -0,0 +1,29 @@
+--- NsCDE/bin/mkpagemenu.orig	2021-05-02 07:39:06 UTC
++++ NsCDE/bin/mkpagemenu
+@@ -31,13 +31,13 @@ do
+    if [ -r "$FVWM_USERDIR/WSM.conf" ]; then
+       pagenum_prepare=$(egrep "^PG:${pg}:.*:" "$FVWM_USERDIR/WSM.conf" | head -1)
+       if [ "x${pagenum_prepare}" == "x" ]; then
+-         if [ -r "${NSCDE_ROOT}/share/defaults/pages/${PagesX}x${PagesY}" ]; then
+-            pagenum_prepare=$(egrep "^PG:${pg}:.*:" ${NSCDE_ROOT}/share/defaults/pages/${PagesX}x${PagesY} | head -1)
++         if [ -r "${PREFIX}/share/nscde/defaults/pages/${PagesX}x${PagesY}" ]; then
++            pagenum_prepare=$(egrep "^PG:${pg}:.*:" ${PREFIX}/share/nscde/defaults/pages/${PagesX}x${PagesY} | head -1)
+          fi
+       fi
+    else
+-      if [ -r "${NSCDE_ROOT}/share/defaults/pages/${PagesX}x${PagesY}" ]; then
+-         pagenum_prepare=$(egrep "^PG:${pg}:.*:" ${NSCDE_ROOT}/share/defaults/pages/${PagesX}x${PagesY} | head -1)
++      if [ -r "${PREFIX}/share/nscde/defaults/pages/${PagesX}x${PagesY}" ]; then
++         pagenum_prepare=$(egrep "^PG:${pg}:.*:" ${PREFIX}/share/nscde/defaults/pages/${PagesX}x${PagesY} | head -1)
+       fi
+    fi
+ 
+@@ -50,7 +50,7 @@ do
+    fi
+ 
+    if [ "$Fmt" == "menu_icons" ]; then
+-      if [ -r "$NSCDE_ROOT/share/icons/NsCDE/Wsm_${PagesX}x${PagesY}_${pagenum}.xpm" ]; then
++      if [ -r "${PREFIX}/share/icons/NsCDE/Wsm_${PagesX}x${PagesY}_${pagenum}.xpm" ]; then
+          echo "+ \"&${pg} ${MenuLeftTitle}${pagename}%NsCDE/Wsm_${PagesX}x${PagesY}_${pagenum}.xpm%\" $FvwmPageCmd $pagenum_fvwm"
+       else
+          echo "+ \"&${pg} ${MenuLeftTitle}${pagename}\" $FvwmPageCmd $pagenum_fvwm"
diff --git a/x11-wm/nscde/files/patch-NsCDE_bin_nscde b/x11-wm/nscde/files/patch-NsCDE_bin_nscde
new file mode 100644
index 000000000000..f1ee2a823afe
--- /dev/null
+++ b/x11-wm/nscde/files/patch-NsCDE_bin_nscde
@@ -0,0 +1,30 @@
+--- NsCDE/bin/nscde.orig	2021-05-02 07:33:53 UTC
++++ NsCDE/bin/nscde
+@@ -42,16 +42,11 @@ fi
+ # Set main NSCDE and FVWM variables. Most of the things later
+ # depends on this core variables.
+ export FVWM_USERDIR="${HOME}/.NsCDE"
+-export NSCDE_ROOT=/opt/NsCDE
+-export FVWM_DATADIR="${NSCDE_ROOT}/config"
++export NSCDE_ROOT=${PREFIX}
++export FVWM_DATADIR="${PREFIX}/etc/nscde"
+ 
+ mkdir -p "${FVWM_USERDIR}/tmp"
+ 
+-echo "$PATH" | egrep -q "/opt\/NsCDE\/bin"
+-if (($? != 0)); then
+-   export PATH="${PATH}:${NSCDE_ROOT}"
+-fi
+-
+ # Find fvwm(1) binary. This is a critical point.
+ # We cannot continue without main workforce.
+ if [ "x$FVWM_BIN" == "x" ]; then
+@@ -107,7 +102,7 @@ fi
+ if [ -r ${FVWM_USERDIR}/NsCDE-Main.conf ]; then
+    exec $FVWM_BIN -f ${FVWM_USERDIR}/NsCDE-Main.conf $FVWM_OPTS
+ else
+-   exec $FVWM_BIN -f ${NSCDE_ROOT}/config/NsCDE-Main.conf $FVWM_OPTS
++   exec $FVWM_BIN -f ${PREFIX}/etc/nscde/NsCDE-Main.conf $FVWM_OPTS
+ fi
+ 
+ # Do not be picky if there is some failure left.
diff --git a/x11-wm/nscde/files/patch-NsCDE_bin_nscde__colorpicker b/x11-wm/nscde/files/patch-NsCDE_bin_nscde__colorpicker
new file mode 100644
index 000000000000..0ac1b8e5f437
--- /dev/null
+++ b/x11-wm/nscde/files/patch-NsCDE_bin_nscde__colorpicker
@@ -0,0 +1,13 @@
+--- NsCDE/bin/nscde_colorpicker.orig	2021-05-02 07:36:07 UTC
++++ NsCDE/bin/nscde_colorpicker
+@@ -6,9 +6,7 @@
+ # Licence: GPLv3
+ #
+ 
+-[ -z $NSCDE_ROOT ] && exit 2
+-MARCH=$(uname -m)
+-BIN="$NSCDE_ROOT/bin/colorpicker-${NSCDE_OS}_${MARCH}"
++BIN="${PREFIX}/bin/colorpicker"
+ 
+ Existance=$(type "$BIN" 2>&1)
+ 
diff --git a/x11-wm/nscde/files/patch-NsCDE_bin_xdowrapper b/x11-wm/nscde/files/patch-NsCDE_bin_xdowrapper
new file mode 100644
index 000000000000..29c8cce78333
--- /dev/null
+++ b/x11-wm/nscde/files/patch-NsCDE_bin_xdowrapper
@@ -0,0 +1,11 @@
+--- NsCDE/bin/xdowrapper.orig	2021-05-02 07:38:18 UTC
++++ NsCDE/bin/xdowrapper
+@@ -25,7 +25,7 @@ function xdofunc
+          xdotool search --name "NsCDE-Subpanel${subp}$" > /dev/null 2>&1
+          if (($? == 0)); then
+             echo "Refreshing subpanel NsCDE-Subpanel${subp}" >&2
+-            $NSCDE_ROOT/bin/nscde_fvwmclnt "Exec exec xdotool search --name "NsCDE-Subpanel${subp}\$" \
++            ${PREFIX}/sbin/nscde_fvwmclnt "Exec exec xdotool search --name "NsCDE-Subpanel${subp}\$" \
+                          set_window --name \"\$[infostore.NsCDE-Subpanel${subp}-Name]\" \
+                          --icon-name \"\$[infostore.NsCDE-Subpanel${subp}-Name]\""
+          fi
diff --git a/x11-wm/nscde/files/patch-NsCDE_config_NsCDE-FrontPanel.conf b/x11-wm/nscde/files/patch-NsCDE_config_NsCDE-FrontPanel.conf
new file mode 100644
index 000000000000..ded0ef92e1e6
--- /dev/null
+++ b/x11-wm/nscde/files/patch-NsCDE_config_NsCDE-FrontPanel.conf
@@ -0,0 +1,182 @@
+--- NsCDE/config/NsCDE-FrontPanel.conf.orig	2021-04-24 03:10:51 UTC
++++ NsCDE/config/NsCDE-FrontPanel.conf
+@@ -79,7 +79,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *L1*) \
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L1*, EnvMatch infostore.NsCDE-Subpanel1-Enabled 1) \
+  *FrontPanel: (1x1+0+0, Id NsCDE-Subpanel1, Frame 1, PressColorset 27, \
+-  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel1 \
++  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints,  position Button left) NsCDE-Subpanel1 \
+   "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel1")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L1*, EnvMatch infostore.NsCDE-Subpanel1-Enabled 0) \
+  *FrontPanel: (1x1+0+0, Id NsCDE-Subpanel1, Frame 1, Padding 1 1, \
+@@ -88,7 +88,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *L1*, En
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L2*, EnvMatch infostore.NsCDE-Subpanel2-Enabled 1) \
+  *FrontPanel: (1x1+1+0, Id NsCDE-Subpanel2, Frame 1, PressColorset 27, \
+- Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel2 \
++ Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints,  position Button left) NsCDE-Subpanel2 \
+  "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel2")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L2*, EnvMatch infostore.NsCDE-Subpanel2-Enabled 0) \
+  *FrontPanel: (1x1+1+0, Id NsCDE-Subpanel2, Frame 1, Padding 1 1, \
+@@ -97,7 +97,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *L2*, En
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L3*, EnvMatch infostore.NsCDE-Subpanel3-Enabled 1) \
+  *FrontPanel: (1x1+2+0, Id NsCDE-Subpanel3, Frame 1, PressColorset 27, \
+-  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel3 \
++  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints,  position Button left) NsCDE-Subpanel3 \
+   "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel3")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L3*, EnvMatch infostore.NsCDE-Subpanel3-Enabled 0) \
+  *FrontPanel: (1x1+2+0, Id NsCDE-Subpanel3, Frame 1, Padding 1 1, \
+@@ -106,7 +106,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *L3*, En
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L4*, EnvMatch infostore.NsCDE-Subpanel4-Enabled 1) \
+  *FrontPanel: (1x1+3+0, Id NsCDE-Subpanel4, Frame 1, PressColorset 27, \
+-  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel4 \
++  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints,  position Button left) NsCDE-Subpanel4 \
+   "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel4")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L4*, EnvMatch infostore.NsCDE-Subpanel4-Enabled 0) \
+  *FrontPanel: (1x1+3+0, Id NsCDE-Subpanel4, Frame 1, Padding 1 1, \
+@@ -115,7 +115,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *L4*, En
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L5*, EnvMatch infostore.NsCDE-Subpanel5-Enabled 1) \
+  *FrontPanel: (1x1+4+0, Id NsCDE-Subpanel5, Frame 1, PressColorset 27, \
+-  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel5 \
++  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints,  position Button left) NsCDE-Subpanel5 \
+   "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel5")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L5*, EnvMatch infostore.NsCDE-Subpanel5-Enabled 0) \
+  *FrontPanel: (1x1+4+0, Id NsCDE-Subpanel5, Frame 1, Padding 1 1, \
+@@ -124,7 +124,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *L5*, En
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L11*, EnvMatch infostore.NsCDE-Subpanel11-Enabled 1) \
+  *FrontPanel: (1x1+5+0, Id NsCDE-Subpanel11, Frame 1, PressColorset 27, \
+-  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel11 \
++  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints,  position Button left) NsCDE-Subpanel11 \
+   "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel11")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L11*, EnvMatch infostore.NsCDE-Subpanel11-Enabled 0) \
+  *FrontPanel: (1x1+5+0, Id NsCDE-Subpanel11, Frame 1, Padding 1 1, \
+@@ -133,7 +133,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *L11*, E
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L12*, EnvMatch infostore.NsCDE-Subpanel12-Enabled 1) \
+  *FrontPanel: (1x1+6+0, Id NsCDE-Subpanel12, Frame 1, PressColorset 27, \
+-  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel12 \
++  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints,  position Button left) NsCDE-Subpanel12 \
+   "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel12")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L12*, EnvMatch infostore.NsCDE-Subpanel12-Enabled 0) \
+  *FrontPanel: (1x1+6+0, Id NsCDE-Subpanel12, Frame 1, Padding 1 1, \
+@@ -142,7 +142,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *L12*, E
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L13*, EnvMatch infostore.NsCDE-Subpanel13-Enabled 1) \
+  *FrontPanel: (1x1+7+0, Id NsCDE-Subpanel13, Frame 1, PressColorset 27, \
+-  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel13 \
++  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints,  position Button left) NsCDE-Subpanel13 \
+   "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel13")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L13*, EnvMatch infostore.NsCDE-Subpanel13-Enabled 0) \
+  *FrontPanel: (1x1+7+0, Id NsCDE-Subpanel13, Frame 1, Padding 1 1, \
+@@ -151,7 +151,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *L13*, E
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L14*, EnvMatch infostore.NsCDE-Subpanel14-Enabled 1) \
+  *FrontPanel: (1x1+8+0, Id NsCDE-Subpanel14, Frame 1, PressColorset 27, \
+-  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel14 \
++  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints,  position Button left) NsCDE-Subpanel14 \
+   "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel14")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L14*, EnvMatch infostore.NsCDE-Subpanel14-Enabled 0) \
+  *FrontPanel: (1x1+8+0, Id NsCDE-Subpanel14, Frame 1, Padding 1 1, \
+@@ -160,7 +160,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *L14*, E
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L15*, EnvMatch infostore.NsCDE-Subpanel15-Enabled 1) \
+  *FrontPanel: (1x1+9+0, Id NsCDE-Subpanel15, Frame 1, PressColorset 27, \
+-  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel15 \
++  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints,  position Button left) NsCDE-Subpanel15 \
+   "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel15")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *L15*, EnvMatch infostore.NsCDE-Subpanel15-Enabled 0) \
+  *FrontPanel: (1x1+9+0, Id NsCDE-Subpanel15, Frame 1, Padding 1 1, \
+@@ -328,7 +328,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *R6*) \
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R6*, EnvMatch infostore.NsCDE-Subpanel6-Enabled 1) \
+  *FrontPanel: (1x1+0+0, Id NsCDE-Subpanel6, Frame 1, PressColorset 27, \
+-  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel6 \
++  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints,  position Button left) NsCDE-Subpanel6 \
+   "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel6")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R6*, EnvMatch infostore.NsCDE-Subpanel6-Enabled 0) \
+  *FrontPanel: (1x1+0+0, Id NsCDE-Subpanel6, Frame 1, Padding 1 1, \
+@@ -337,7 +337,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *R6*, En
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R7*, EnvMatch infostore.NsCDE-Subpanel7-Enabled 1) \
+ *FrontPanel: (1x1+1+0, Id NsCDE-Subpanel7, Frame 1, PressColorset 27, \
+- Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel7 \
++ Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints,  position Button left) NsCDE-Subpanel7 \
+  "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel7")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R7*, EnvMatch infostore.NsCDE-Subpanel7-Enabled 0) \
+  *FrontPanel: (1x1+1+0, Id NsCDE-Subpanel7, Frame 1, Padding 1 1, \
+@@ -346,7 +346,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *R7*, En
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R8*, EnvMatch infostore.NsCDE-Subpanel8-Enabled 1) \
+  *FrontPanel: (1x1+2+0, Id NsCDE-Subpanel8, Frame 1, PressColorset 27, \
+-  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel8 \
++  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints,  position Button left) NsCDE-Subpanel8 \
+   "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel8")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R8*, EnvMatch infostore.NsCDE-Subpanel8-Enabled 0) \
+  *FrontPanel: (1x1+2+0, Id NsCDE-Subpanel8, Frame 1, Padding 1 1, \
+@@ -355,7 +355,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *R8*, En
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R9*, EnvMatch infostore.NsCDE-Subpanel9-Enabled 1) \
+  *FrontPanel: (1x1+3+0, Id NsCDE-Subpanel9, Frame 1, PressColorset 27, \
+-  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel9 \
++  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints,  position Button left) NsCDE-Subpanel9 \
+   "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel9")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R9*, EnvMatch infostore.NsCDE-Subpanel9-Enabled 0) \
+  *FrontPanel: (1x1+3+0, Id NsCDE-Subpanel9, Frame 1, Padding 1 1, \
+@@ -364,7 +364,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *R9*, En
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R10*, EnvMatch infostore.NsCDE-Subpanel10-Enabled 1) \
+  *FrontPanel: (1x1+4+0, Id NsCDE-Subpanel10, Frame 1, PressColorset 27, \
+-  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel10 \
++  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints,  position Button left) NsCDE-Subpanel10 \
+   "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel10")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R10*, EnvMatch infostore.NsCDE-Subpanel10-Enabled 0) \
+  *FrontPanel: (1x1+4+0, Id NsCDE-Subpanel10, Frame 1, Padding 1 1, \
+@@ -373,7 +373,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *R10*, E
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R16*, EnvMatch infostore.NsCDE-Subpanel16-Enabled 1) \
+  *FrontPanel: (1x1+5+0, Id NsCDE-Subpanel16, Frame 1, PressColorset 27, \
+-  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel16 \
++  Padding 1 1, Panel(up, smooth, steps 16, delay 2, Hints,  position Button left) NsCDE-Subpanel16 \
+   "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel16")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R16*, EnvMatch infostore.NsCDE-Subpanel16-Enabled 0) \
+  *FrontPanel: (1x1+5+0, Id NsCDE-Subpanel16, Frame 1, Padding 1 1, \
+@@ -382,7 +382,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *R16*, E
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R17*, EnvMatch infostore.NsCDE-Subpanel17-Enabled 1) \
+  *FrontPanel: (1x1+6+0, Id NsCDE-Subpanel17, Frame 1, PressColorset 27, \
+-  Padding 1 1, Panel(up, smooth, steps 17, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel17 \
++  Padding 1 1, Panel(up, smooth, steps 17, delay 2, Hints,  position Button left) NsCDE-Subpanel17 \
+   "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel17")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R17*, EnvMatch infostore.NsCDE-Subpanel17-Enabled 0) \
+  *FrontPanel: (1x1+6+0, Id NsCDE-Subpanel17, Frame 1, Padding 1 1, \
+@@ -391,7 +391,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *R17*, E
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R18*, EnvMatch infostore.NsCDE-Subpanel18-Enabled 1) \
+  *FrontPanel: (1x1+7+0, Id NsCDE-Subpanel18, Frame 1, PressColorset 27, \
+-  Padding 1 1, Panel(up, smooth, steps 18, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel18 \
++  Padding 1 1, Panel(up, smooth, steps 18, delay 2, Hints,  position Button left) NsCDE-Subpanel18 \
+   "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel18")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R18*, EnvMatch infostore.NsCDE-Subpanel18-Enabled 0) \
+  *FrontPanel: (1x1+7+0, Id NsCDE-Subpanel18, Frame 1, Padding 1 1, \
+@@ -400,7 +400,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *R18*, E
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R19*, EnvMatch infostore.NsCDE-Subpanel19-Enabled 1) \
+  *FrontPanel: (1x1+8+0, Id NsCDE-Subpanel19, Frame 1, PressColorset 27, \
+-  Padding 1 1, Panel(up, smooth, steps 19, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel19 \
++  Padding 1 1, Panel(up, smooth, steps 19, delay 2, Hints,  position Button left) NsCDE-Subpanel19 \
+   "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel19")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R19*, EnvMatch infostore.NsCDE-Subpanel19-Enabled 0) \
+  *FrontPanel: (1x1+8+0, Id NsCDE-Subpanel19, Frame 1, Padding 1 1, \
+@@ -409,7 +409,7 @@ Test (EnvMatch infostore.FP.Launchers-Enabled *R19*, E
+ 
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R20*, EnvMatch infostore.NsCDE-Subpanel20-Enabled 1) \
+  *FrontPanel: (1x1+9+0, Id NsCDE-Subpanel20, Frame 1, PressColorset 27, \
+-  Padding 1 1, Panel(up, smooth, steps 20, delay 2, Hints, indicator 12, position Button left) NsCDE-Subpanel20 \
++  Padding 1 1, Panel(up, smooth, steps 20, delay 2, Hints,  position Button left) NsCDE-Subpanel20 \
+   "Module FvwmButtons -g -30000-30000 -transientpanel NsCDE-Subpanel20")
+ Test (EnvMatch infostore.FP.Launchers-Enabled *R20*, EnvMatch infostore.NsCDE-Subpanel20-Enabled 0) \
+  *FrontPanel: (1x1+9+0, Id NsCDE-Subpanel20, Frame 1, Padding 1 1, \
diff --git a/x11-wm/nscde/files/patch-NsCDE_config_NsCDE-Main.conf b/x11-wm/nscde/files/patch-NsCDE_config_NsCDE-Main.conf
new file mode 100644
index 000000000000..0ce811d34c54
--- /dev/null
+++ b/x11-wm/nscde/files/patch-NsCDE_config_NsCDE-Main.conf
@@ -0,0 +1,32 @@
+--- NsCDE/config/NsCDE-Main.conf.orig	2021-04-24 03:10:51 UTC
++++ NsCDE/config/NsCDE-Main.conf
+@@ -12,11 +12,11 @@ Test (Restart) Echo NsCDE: Restarting
+ Test (Init) Echo NsCDE: Starting initialization
+ 
+ # Core variables for diverting paths and setting early parameters
+-SetEnv NSCDE_ROOT /opt/NsCDE
++SetEnv NSCDE_ROOT ${PREFIX}
+ SetEnv NSCDE_FVWM_VERSION_NUM $[version.num]
+ SetEnv NSCDE_FVWM_VERSION_INFO $[version.info]
+ SetEnv FVWM_USERDIR $[HOME]/.NsCDE
+-SetEnv FVWM_DATADIR $[NSCDE_ROOT]/config
++SetEnv FVWM_DATADIR ${PREFIX}/etc/nscde
+ SetEnv FVWM_SCRIPTDIR $[NSCDE_ROOT]/lib/scripts
+ SetEnv FVWM_FORMDIR $[NSCDE_ROOT]/lib/forms
+ Test (EnvMatch FVWM_IS_FVWM3 1) SetEnv FVWM3_LOGFILE $[FVWM_USERDIR]/tmp/fvwm.log
+@@ -37,12 +37,12 @@ PipeRead $[NSCDE_ROOT]/libexec/nscde_get_logical_scree
+ DestroyStyle *
+ 
+ # Core Options, if necessary, can be overriden later
+-ExecUseShell __KSH93__
++ExecUseShell ${PREFIX}/bin/ksh93
+ Emulate Mwm
+ IgnoreModifiers L25
+-ImagePath $[FVWM_USERDIR]/icons:$[NSCDE_ROOT]/share/icons:$[HOME]/.icons:$[HOME]/.local/share/icons:/usr/share/icons:/usr/local/share/icons:$[NSCDE_ROOT]/share/fallback/icons
++ImagePath $[FVWM_USERDIR]/icons:$[HOME]/.icons:$[HOME]/.local/share/icons:/usr/share/icons:${PREFIX}/share/icons:${PREFIX}/share/nscde/fallback/icons
+ LocalePath $[NSCDE_ROOT]/share/locale;NsCDE:$[NSCDE_ROOT]/share/locale;NsCDE-Subpanels:+
+-# ModulePath $[NSCDE_ROOT]/libexec/fvwm-modules:+
++ModulePath ${PREFIX}/libexec/nscde/fvwm-modules:+
+ InfoStoreAdd menudclicktm 750
+ ClickTime $[infostore.menudclicktm]
+ DefaultIcon NsCDE/Noicon.xpm
diff --git a/x11-wm/nscde/files/patch-NsCDE_libexec_Splash.sh b/x11-wm/nscde/files/patch-NsCDE_libexec_Splash.sh
new file mode 100644
index 000000000000..23b71c5a566a
--- /dev/null
+++ b/x11-wm/nscde/files/patch-NsCDE_libexec_Splash.sh
@@ -0,0 +1,16 @@
+--- NsCDE/libexec/Splash.sh.orig	2021-05-02 08:29:06 UTC
++++ NsCDE/libexec/Splash.sh
+@@ -64,11 +64,11 @@ Begin
+       Quit
+    End
+ 
+-   Do {Colorset 70 TiledPixmap \$[NSCDE_ROOT]/lib/progbits/$SplashBG}
++   Do {Colorset 70 TiledPixmap ${PREFIX}/lib/nscde/progbits/$SplashBG}
+    Do {Test (!EnvMatch FVWM_IS_FVWM3 1) Schedule 120 All (NsCDE-Splash) Move screen g 50-50w 50-50w ewmhiwa}
+    Do {Test (EnvMatch FVWM_IS_FVWM3 1) Schedule 120 All (NsCDE-Splash) Move screen p +0p +0p}
+ 
+-   Set \$MainFontCmd = (GetOutput {\$NSCDE_ROOT/bin/getfont -v -t bold -s large} 1 -1)
++   Set \$MainFontCmd = (GetOutput {${PREFIX}/sbin/getfont -v -t bold -s large} 1 -1)
+    Set \$MainFont = {Shadow=1 0 SE:} \$MainFontCmd
+ 
+    ChangeFont 5 \$MainFont
diff --git a/x11-wm/nscde/files/patch-NsCDE_libexec_colormgr b/x11-wm/nscde/files/patch-NsCDE_libexec_colormgr
new file mode 100644
index 000000000000..e9315f6ee025
--- /dev/null
+++ b/x11-wm/nscde/files/patch-NsCDE_libexec_colormgr
@@ -0,0 +1,11 @@
+--- NsCDE/libexec/colormgr.orig	2021-05-02 08:31:09 UTC
++++ NsCDE/libexec/colormgr
+@@ -357,7 +357,7 @@ function Backdrops
+       while (($DeskNo != 0))
+       do
+          egrep "^Colorset 3${DeskNo}" "${NSCDE_ROOT}/config/NsCDE-Backdrops.conf" | \
+-         sed 's/\$\[NSCDE_ROOT\]\/share\/defaults\/backer/\$\[FVWM_USERDIR\]\/backer/g' \
++         sed 's/\/usr\/local\/share\/nscde\/defaults\/backer/\$\[FVWM_USERDIR\]\/backer/g' \
+           >> "${FVWM_USERDIR}/NsCDE-Backdrops.conf"
+          cp -f ${NSCDE_ROOT}/share/defaults/backer/Desk${DeskNo}-*pm "${FVWM_USERDIR}/backer/"
+          ((DeskNo = DeskNo - 1))
diff --git a/x11-wm/nscde/files/patch-NsCDE_libexec_fontmgr b/x11-wm/nscde/files/patch-NsCDE_libexec_fontmgr
new file mode 100644
index 000000000000..6491c414f6c4
--- /dev/null
+++ b/x11-wm/nscde/files/patch-NsCDE_libexec_fontmgr
@@ -0,0 +1,26 @@
+--- NsCDE/libexec/fontmgr.orig	2021-05-02 08:34:51 UTC
++++ NsCDE/libexec/fontmgr
+@@ -6,11 +6,6 @@
+ # Licence: GPLv3
+ #
+ 
+-if [ -z $NSCDE_ROOT ]; then
+-   echo "Error: NSCDE_ROOT is not set. Exiting."
+-   exit 2
+-fi
+-
+ type -p fc-list > /dev/null
+ if (($? != 0)); then
+    echo "Error: fc-list command not found."
+@@ -25,11 +20,6 @@ FNUMS=$(echo "$FNAMES" | sort -u | grep -n '')
+ 
+ function findfontsets
+ {
+-   if [ -z $NSCDE_ROOT ]; then
+-      echo "No NSCDE_ROOT defined. Exiting."
+-      exit 2
+-   fi
+-
+    SysFontsetsOut=$(ls -1 ${NSCDE_ROOT}/share/fontsets/*.fontset)
+    SysFontsets=$(echo "$SysFontsetsOut" | awk -F "/" '{print $NF}' | sed 's/\.fontset$//g')
+    SysFontsetsCnt=$(echo "$SysFontsetsOut" | wc -l)
diff --git a/x11-wm/nscde/files/patch-NsCDE_libexec_fp__manage__subpanel b/x11-wm/nscde/files/patch-NsCDE_libexec_fp__manage__subpanel
new file mode 100644
index 000000000000..12db4b66d5a2
--- /dev/null
+++ b/x11-wm/nscde/files/patch-NsCDE_libexec_fp__manage__subpanel
@@ -0,0 +1,28 @@
+--- NsCDE/libexec/fp_manage_subpanel.orig	2021-04-24 03:10:51 UTC
++++ NsCDE/libexec/fp_manage_subpanel
+@@ -5,16 +5,6 @@ if [ -z $HOME ]; then
+    exit 3
+ fi
+ 
+-if [ -z $NSCDE_ROOT ]; then
+-   echo "Error: NSCDE_ROOT is not set cannot continue."
+-   exit 4
+-fi
+-
+-if [ ! -e "$NSCDE_ROOT" ]; then
+-   echo "Error: NSCDE_ROOT does not exist. Cannot continue."
+-   exit 5
+-fi
+-
+ if [ -z $FVWM_USERDIR ]; then
+    echo "Error: FVWM_USERDIR is not set cannot continue."
+    exit 6
+@@ -113,7 +103,7 @@ function reset_this_button
+       fi
+ 
+       if (($RestartFP == 0)); then
+-         $NSCDE_ROOT/bin/nscde_fvwmclnt "PipeRead \"\$[NSCDE_ROOT]/libexec/fpseticon Btn${PanelNo}\""
++         $NSCDE_ROOT/bin/nscde_fvwmclnt "PipeRead \"${PREFIX}/libexec/nscde/fpseticon Btn${PanelNo}\""
+       else
+          $NSCDE_ROOT/bin/nscde_fvwmclnt "InfoStoreRemove FP.Btn${PanelNo}.type"
+          $NSCDE_ROOT/bin/nscde_fvwmclnt "f_RestartFrontPanel"
diff --git a/x11-wm/nscde/files/patch-NsCDE_libexec_fvwm-modules_FvwmScript b/x11-wm/nscde/files/patch-NsCDE_libexec_fvwm-modules_FvwmScript
new file mode 100644
index 000000000000..04f67a1b7ac9
--- /dev/null
+++ b/x11-wm/nscde/files/patch-NsCDE_libexec_fvwm-modules_FvwmScript
@@ -0,0 +1,43 @@
+--- NsCDE/libexec/fvwm-modules/FvwmScript.orig	2021-04-24 03:10:51 UTC
++++ NsCDE/libexec/fvwm-modules/FvwmScript
+@@ -2,7 +2,7 @@
+ 
+ # Check if there is a XOverrideFontCursor.so for LD_PRELOAD and if LD_PRELOAD is already in
+ # use so we can append to the variable, and be careful to use colon as library object separator
+-if [ -x "$NSCDE_ROOT/lib/XOverrideFontCursor.so" ]; then
++if [ -x "${PREFIX}/lib/nscde/XOverrideFontCursor.so" ]; then
+    if [ "x$LD_PRELOAD" != "x" ]; then
+       echo "$LD_PRELOAD" | egrep -q "XOverrideFontCursor\.so"
+       if (($? != 0)); then
+@@ -10,24 +10,25 @@ if [ -x "$NSCDE_ROOT/lib/XOverrideFontCursor.so" ]; th
+          ld_preload_lastchar=$(($ld_preload_wc - 1))
+          ld_preload_last_letter=$(echo "$LD_PRELOAD" | cut -b $ld_preload_lastchar)
+          if [ "$ld_preload_lastletter" == ":" ]; then
+-            export LD_PRELOAD="$LD_PRELOAD:$NSCDE_ROOT/lib/XOverrideFontCursor.so"
++            export LD_PRELOAD="$LD_PRELOAD:${PREFIX}/lib/nscde/XOverrideFontCursor.so"
+          else
+             echo "$LD_PRELOAD" | egrep -q ' '
+             if (($? == 0)); then
+                new_ld_preload=$(echo "$LD_PRELOAD" | tr ' ' ':')
+-               export LD_PRELOAD="$new_ld_preload:$NSCDE_ROOT/lib/XOverrideFontCursor.so"
++               export LD_PRELOAD="$new_ld_preload:${PREFIX}/lib/nscde/XOverrideFontCursor.so"
+             else
+-               export LD_PRELOAD="$LD_PRELOAD:$NSCDE_ROOT/lib/XOverrideFontCursor.so"
++               export LD_PRELOAD="$LD_PRELOAD:${PREFIX}/lib/nscde/XOverrideFontCursor.so"
+             fi
+          fi
+       else
+-         echo "Notice: $NSCDE_ROOT/lib/XOverrideFontCursor.so is already ld-preloaded, skipping" >&2
++         echo "Notice: ${PREFIX}/lib/nscde/XOverrideFontCursor.so is already ld-preloaded, skipping" >&2
+       fi
+    else
+-      export LD_PRELOAD="$NSCDE_ROOT/lib/XOverrideFontCursor.so"
++      export LD_PRELOAD="${PREFIX}/lib/nscde/XOverrideFontCursor.so"
*** 12505 LINES SKIPPED ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202108091457.179EvG1Y074189>