SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
remame the extracted source emwm-src-1.0 to EMWM-1.0
mv emwm-src-1.0 EMWM-1.0
compress to tar.gz:
tar -czvf EMWM-1.0.tar.gz EMWM-1.0
that would give a EMWM-1.0.tar.gz file
do the same for the other source
mv emwm-utils-src-1.0 EMWM-utils-1.0
tar -czvf EMWM-utils-1.0.tar.gz EMWM-utils-1.0
make the slackbuild executable
chmod +x EMWM.SlackBuild
chmod +x EMWM-utils.SlackBuild
run the slackbuild:
as root
./EMWM.SlackBuild
EMWM.SlackBuild
Code:
#!/bin/bash
# Slackware build script for EMWM
# Copyright 2021 adcdam Berisso,Argentina
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# |-----------------------------------------------------------------| #
PRGNAM=EMWM
VERSION=${VERSION:-1.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_adcdam}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
# Compile the application and install it into the $PKG directory
make
cd src
install -Dm 775 emwm -t $PKG/usr/bin/
install -Dm 664 emwm.1 -t $PKG/usr/man/man1
install -Dm 664 system.emwmrc -t $PKG/etc/X11
mv Emwm.ad Emwm
install -Dm 664 Emwm -t $PKG/etc/X11/app-defaults
cd ..
# Strip binaries and libraries - this can be done with 'make install-strip'
# in many source trees, and that's usually acceptable if so, but if not,
# use this:
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/etc/X11/xinit
cat $CWD/xinitrc.EMWM > $PKG/etc/X11/xinit/xinitrc.EMWM
chmod 0755 $PKG/etc/X11/xinit/xinitrc.EMWM
# Compress man pages
# If the man pages are installed to /usr/share/man instead, you'll need to either
# add the --mandir=/usr/man flag to configure or move them manually after the
# make install process is run.
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
# Remove perllocal.pod and other special files that don't need to be installed,
# as they will overwrite what's already on the system. If this is not needed,
# remove it from the script.
# Remove 'special' files
find $PKG -name perllocal.pod \
-o -name ".packlist" \
-o -name "*.bs" \
| xargs rm -f
# Copy the slack-desc (and a custom doinst.sh if necessary) into ./install
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
slack-desc
Code:
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
EMWM:
EMWM:Enhanced Motif Window Manager (MWM fork).
EMWM
EMWM:Supports Xinerama, Xrandr, UTF-8/Xft,
EMWM:
EMWM:and relevant Extended Window Manager Hints (EWMH)
EMWM:Webpage: https://fastestcode.org/misc/emwm-guide.html
EMWM:https://github.com/alx210/emwm
EMWM:https://sourceforge.net/projects/emwm
EMWM:
EMWM:
xinitrc.EMWM
Code:
#!/bin/sh
# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f $userresources ]; then
xrdb -merge $userresources
fi
if [ -f $usermodmap ]; then
xmodmap $usermodmap
fi
# Start the window manager:
if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then
exec ck-launch-session /usr/bin/emwm
else
exec /usr/bin/emwm
fi
install the package that is created in /tmp as root with installpkg
now do the same with the other slackbuild
make it executable run it and install
EMWM-utils.SlackBuild
Code:
#!/bin/sh
# Slackware build script for EMWM-utils
# Copyright 2021 adcdam Berisso,Argentina
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# |-----------------------------------------------------------------| #
PRGNAM=EMWM-utils
VERSION=${VERSION:-1.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_adcdam}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
# Compile the application and install it into the $PKG directory
make
cd src
install -Dm 775 xmsession -t $PKG/usr/bin
install -Dm 775 xmtoolbox -t $PKG/usr/bin
install -Dm 4775 xmsm -t $PKG/usr/bin
install -Dm 664 xmtoolbox.1 -t $PKG/usr/man/man1
install -Dm 664 xmsm.1 -t $PKG/usr/man/man1
mv XmSm.ad XmSm
install -Dm 664 XmSm -t $PKG/etc/X11/app-defaults
mv XmToolbox.ad XmToolbox
install -Dm 664 XmToolbox -t $PKG/etc/X11/app-defaults
install -Dm 664 toolboxrc -t $PKG/etc/X11
cd ..
# Strip binaries and libraries - this can be done with 'make install-strip'
# in many source trees, and that's usually acceptable if so, but if not,
# use this:
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
# Compress man pages
# If the man pages are installed to /usr/share/man instead, you'll need to either
# add the --mandir=/usr/man flag to configure or move them manually after the
# make install process is run.
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
# Remove perllocal.pod and other special files that don't need to be installed,
# as they will overwrite what's already on the system. If this is not needed,
# remove it from the script.
# Remove 'special' files
find $PKG -name perllocal.pod \
-o -name ".packlist" \
-o -name "*.bs" \
| xargs rm -f
# Copy the slack-desc (and a custom doinst.sh if necessary) into ./install
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
slack-desc
Code:
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
EMWM-utils:
EMWM-utils: A simple session manager and a /toolchest/ like launcher
EMWM-utils:
EMWM-utils: for EMWM
EMWM-utils:
EMWM-utils:
EMWM-utils:https://sourceforge.net/projects/emwm/
EMWM-utils:
EMWM-utils:
EMWM-utils:
EMWM-utils:
What about the utils, did you try those? The sole reasons for wanting EMWM is that it is supposed to be easier to customize. I will try again later to recompile it - and if it does live up; then hopefully Pat might notice - and replace MWM with EMWM *fingers crossed*.
What about the utils, did you try those? The sole reasons for wanting EMWM is that it is supposed to be easier to customize. I will try again later to recompile it - and if it does live up; then hopefully Pat might notice - and replace MWM with EMWM *fingers crossed*.
I have just built the packages and customized the root menu. Sadly I have no experience with mwm/emwm and I was surprised because I couldn't find any window decoration themes in cyberspace.
I have just built the packages and customized the root menu. Sadly I have no experience with mwm/emwm and I was surprised because I couldn't find any window decoration themes in cyberspace.
I admit I don't know either - does it or can it utilize those types of files that CDE uses (can't remember the file extension) - but they are essentially code (not actual images), but it generates a 'backdrop', and some look kinda cool. Also I just wanted an easier way of tweaking the colors and such, because again tl;dr on the manual, and I couldn't find anything in the manpages for MWM as there was so much to go through.
i think you made a mistake with EMWM-utils.Slackbuild it build fine, are you sure you use the right source? you can copy the EMWM-utils and EMWM-utils source code and slack-desc to another directory and run the slackbuild from there.
You are right again - I have no excuse even if it was late last night - and I wasn't even drunk... It compiled now after redownloading the RIGHT file..... dopey me...again
Well I am in EMWM......nothing different, and I even got the utils installed but nothing in the context menu on the utils ... sooo ........ yea my stupidity is rearing up again...Now what am I missing?
Has virtual desktops been aded to EMWM? Because that's the one thing stopping me from using EMWM right now. I recall the guy maintaining the fork said he was going to add it eventually.
Has virtual desktops been aded to EMWM? Because that's the one thing stopping me from using EMWM right now. I recall the guy maintaining the fork said he was going to add it eventually.
Didn't MWM have multiple desktop/workspace support at some point in time?
MWM had it all along, and the code is still there, albeit currently disabled, because it is implemented on top of Sun's IPC. The old code can be eventually repurposed for an EWMH based implementation. Then again, while it was a desirable feature when all you had was a 14" CRT with 800x600 pixel resolution, with screen space available nowadays I personally don't care for it at all.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.