For NsCDE
to work, essential software is FVWM
Window Manager. Almost all is
based on it. Since NsCDE
is heavy user of infostore internal variables and
other new features of FVWM
, initial development has been done on FVWM
versions from 2.6.7
to 2.6.9
. At this time, this are recommended, versions
of FVWM2
for NsCDE
, while FVWM3
should be used from the most recent
version possible because it is still a bit beta, and bug fixes from fvwm.org
are introduced often.
Other software dependencies, used by NsCDE
are:
-
AT&T original Korn Shell 93
. All shell script routines inside configuration, helper scripts andFvwmScript
helpers are written inKorn Shell (ksh)
. Clones such as pdksh, mksh and some other variants found by default on some *BSD core systems canot be drop in replacement. Korn Shell is available and it is free. Use you systems' package manager to install it, or fetch it from here: https://github.com/att/ast -
Xorg utils
(Fedora/CentOS RPM xorg-x11-utils) - xdpyinfo, xprop ... -
Util xdotool
- only ifFVWM
is not patched with WindowName patch for the FvwmButtons -
ImageMagick
(display, convert, import) - really needed. -
Xscreensaver
- optional, but Screen Style Manager will not exist without it. Something needs to be installed for locking the screen on the real workstation. Freely omitted in virtual machines. -
cpp
-C preprocessor for xrdb functionality
- for X resources integration. Used by xrdb(1). -
xorg-x11-server-utils
(CentOS, Fedora name) - xrdb, xset, xrefresh mandatory for startup, some style managers and menus. -
python-yaml
- needed for python part of the color theme management and for Gtk+Qt integration. -
PyQt4
,PyQt5
or possiblypython3-qt4
,python-qt5
orpython3-qt5
or ... This is unfortunate dependency which is further dependent onQt
libraries.NsCDE
tries to have as less as possible dependencies, specially indirect (dependencies of dependent dependencies of dependencies ...).Gtk/Qt
integration is borrowed from CDEtheme Motif/CDE theme project and adapted for use withFVWM
(instead of heavy Xfce dependency) or standalone engine. In part of the Theme.py code, some png pixmaps are cut and colored with functions from this API. With present job and lack of time, there was no time to do this withoutPyQt5
orPyQt4
for the first public release. -
Gtk2
,Gtk3
,Qt4
,Qt5
,qtconfig-qt4
,qt5ct
,qt5-qtstyleplugins (optional)
There is a great chance this libraries and some usefull programs using them are already installed on user's system. IfGtk
andQt
integration is activated in [70]Color Style Manager, there is no point not to have it installed. Notice aboutQt4
andQt5
:qt4-config
(orqt-config
) andqt5ct
: Although colors will be applied, for font setting to take effect,qtconfig-qt4
(orqtconfig
) must be run, something changed back and forth, and thenapplied/saved
- no matter that you will see fonts of your choice already selected. This can be considered a bug. Same goes forQt5
. Notice aboutQt5
:QT_QPA_PLATFORMTHEME
environment variable must be set, and be set toqt5ct
value in order to runqt5ct
configurator. -
Recommended fonts for as close as possible
CDE look
are DejaVu Serif for variable, and DejaVu Sans Mono for monospaced fonts. Check should be made if this fonts are installed on the system. ForSolaris CDE look
, Lucida Sans and monospaced Lucida Sans Typewriter should be installed, selected and used instead. (optional) -
xterm
(initial user setup is done withxterm
) -
gettext
-
Stalonetray
for tray facility (optional, highly recommended) -
Dunst
notification daemon (optional, highly recommended) -
XSETTINGS
- xsettingsd daemon for theme and X settings dynamic management (optional, highly recommended) -
gkrellm
- recommended optional addon -
rofi
- recommended optional addon -
xclip
- recommended optional addon -
picom
- (X compositor) optional addon that may fix tearing issues -
python3
-
python34-pyxdg
orpython3-pyxdg
orpython36-pyxdg
or ... (FVWM
) -
DejaVu Serif Font (common names: dejavu-fonts dejavu-serif-fonts ttf-dejavu fonts-dejavu-core
- All systems
Installing NsCDE
with autoconf/automake make install
requires some
development packages:
autoconf
andautomake
- X11 development headers (
libx11-dev
on Debian and friends) - Xext development headers (
libxext-dev
on Debian and friends) - XPM development headers (
libxpm-dev
on Debian and friends) - ... and of course, C compiler (gcc, clang ...)
make
tool
On RPM based Linux distributions, this packages are often called
libX11-devel
, libXext-devel
and libXpm-devel
.
- Arch / Artix / Manjaro
# Use your AUR helper of choice (e. g. trizen) to install the package
trizen -S nscde
# Alternatively install the -git package to get the latest sources
trizen -S nscde-git
- Debian / Devuan / Ubuntu / Mint / MX Linux
sudo apt update
sudo apt dist-upgrade
sudo apt install -y ksh xutils/x11-utils xdotool imagemagick \
xscreensaver x11-xserver-utils python3-yaml python3-pyqt5 \
qt5ct qt5-style-plugins stalonetray xterm python3 \
python3-xdg libstroke0 xsettingsd fvwm fvwm-icons \
libfile-mimeinfo-perl gkrellm rofi xclip libx11-dev \
libxext-dev libxpm-dev gettext build-essential xinit \
fonts-dejavu-core
- Fedora / RHEL / CentOS / RockyLinux / openEuler
sudo dnf update
sudo dnf install -y ksh xorg-x11-utils xdotool ImageMagick xscreensaver \
python3-pyyaml python3-qt5 qt5ct qt5-styleplugins \
stalonetray xterm python3 python3-pyxdg libstroke xsettingsd \
fvwm perl-File-MimeInfo gkrellm rofi xclip dejavu-serif-fonts
- FreeBSD/ DragonflyBSD/ GhostBSD/ MidnightBSD
su
pkg install wget ksh93 xorg ImageMagick7 xscreensaver \
py39-yaml py39-qt5 qt5ct qt5-style-plugins
stalonetray xterm python3 py39-xdg libstroke xsettingsd \
fvwm3 p5-File-MimeInfo gettext gkrellm2 rofi
- Gentoo/ Funtoo / Calculate/ Sabayon/ Redcore
echo "app-shells/ksh \n
x11-base/xorg-x11 \n
x11-misc/dunst \n
x11-apps/xdpyinfo \n
x11-apps/xprop \n
x11-misc/xdotool \n
media-gfx/imagemagick \n
x11-misc/xscreensaver \n
dev-python/pyyaml \n
dev-python/PyQt5 \n
x11-misc/qt5ct \n
dev-qt/qtstyleplugins \n
x11-misc/stalonetray \n
x11-terms/xterm \n
dev-lang/python \n
dev-python/pyxdg \n
dev-libs/libstroke \n
x11-misc/xsettingsd \n
x11-wm/fvwm \n
dev-perl/File-MimeInfo \n
app-admin/gkrellm \n
x11-misc/xclip \n
x11-misc/rofi" > /etc/portage/sets/nscde-desktop
emerge --sync
emerge -auvDN @world
emerge @nscde-desktop --autounmask-write
etc-update --automode -3
emerge @nscde-desktop
- OpenMandriva
sudo dnf update
sudo dnf install -y xorg xdotool imagemagick xscreensaver \
python-pyyaml python-qt5 qt5ct qt5-style-plugins \
stalonetray xterm python3 python-xdg llib64stroke0 xsettingsd \
fvwm2 perl-File-MimeInfo gkrellm rofi xclip
cd ~
git clone --depth 1 https://github.com/att/ast.git
./bin/package make
sudo ./bin/package install
- OpenSUSE Leaf /Tumbleweed / GeckoLinux
sudo zypper ref
sudo zypper up
sudo zypper in ksh-93uv xorg xdotool ImageMagick xscreensaver \
python3-pyyaml python3-PyQt5 qt5ct libqt5-styleplugins \
stalonetray xterm python3 libstroke xsettingsd fvwm2 \
perl-File-MimeInfo gkrellm rofi xclip dejavu-fonts
- Void Linux
xbps-install -Su
xbps-install -Sy xorg xdotool ImageMagick xscreensaver \
python3-yaml python3-PyQt5 qt5ct qt5-styleplugins \
stalonetray xterm python3 python3-xdg xsettingsd \
fvwm3 perl-File-MimeInfo gkrellm rofi xclip
cd ~
git clone --depth 1 https://github.com/att/ast.git
./bin/package make
sudo ./bin/package install
cd ~
wget http://ftp.udc.es/debian/pool/main/libs/libstroke/libstroke_0.5.1.orig.tar.gz
tar -zxvf libstroke_0.5.1.orig.tar.gz
cd libstroke-0.5.1
./configure
make
sudo make install
- SparkyLinux
sudo apt update && sudo apt dist-upgrade && sudo apt install nscde-desktop
When FVWM
and above mentioned dependencies are met, NsCDE
can be installed and
used. Present installation is very simple:
# su - (or sudo -i)
umask 0022
cd /tmp
# Thein either:
wget https://github.com/NsCDE/NsCDE/archive/<version>.tar.gz
tar xpzf <version>.tar.gz
cd NsCDE-<version>
# or:
git clone --depth 1 https://github.com/NsCDE/NsCDE.git
cd NsCDE
# ... and then:
./configure
make
make install
That's it. NsCDE
is installed. You may need to restart your X Display Manager
(such as lightdm
, gdm
, sddm
...) for NsCDE
entry to appear as an login
option.
If not invoked from X Display Manager, NsCDE
X session can be started from the
$HOME/.xsession
in last command line as exec /opt/NsCDE/bin/nscde
, or
ssh-agent /opt/NsCDE/bin/nscde
or with gpg-agent
, lxsession
or whatever
).
If supported by the X Display Manager which is in use, an xsession file
/opt/NsCDE/share/examples/xsession-integration/nscde.desktop
when put in
/usr/share/xsessions
by the installer or manually (or in whatever place your
system and your X Display Manager reads this files) and then selected from the
manager's menu or similar selector. See the rest of the X Session Manager
integration examples are in directory /opt/NsCDE/share/examples/
for
Cinnamon
, MATE
, KDE
, LXDE
and similar DE integrations and play with this
if you like.
Upon the first (successful) start, ~/.NsCDE
, that is $FVWM_USERDIR
is
created, and only icons subdirectory is created as nscde-fvwm-menu-desktop is
run. User will be presented with a default system setup and with default color
theme Broica in 8 colors, and f_FindTerm
function will try hard to find some
usable terminal application and run it with setup. If Gkrellm, pnmixer and/or
stalonetray programs are installed, on the system and found, they will be run
too.
Initial setup is a simple script ($NSCDE_TOOLSDIR/bootstrap
) from the
terminal which will run automatically and will set up the following:
- X resources in ~/.NsCDE
- Default background color (pre-FvwmBacker) from default theme
- Default ~/.NsCDE/NsCDE.conf
- New ~/.NsCDE/GeoDB.ini with some sane defaults
- ~/.icons/default/index.theme (default X cursor scheme)
- ~/.gtkrc-2.0
- ~/.config/gtk-3.0/settings.ini
- ~/.themes/NsCDE
- ~/.config/Trolltech.conf
- ~/.config/qt5ct/qt5ct.conf
Note that no file from the above list will be overwritten if it already exists
in it's place. It will be skipped, but GTK
and Qt
theme integration files
can be still written with Color Style Manager. After bootstrap
script
finishes setup, Color Style Manager will be run and user asked to confirm
default theme or change it. Do not avoid this step, since some program bits are
not fully setup on bare defaults, (like a clock background) and must be
generated in the ~/.NsCDE/icons/NsCDE directory
.
After Color Style Manager's OK button is pressed, theme will be regenerated.
Gtk
and Qt
themes will be regenerated only if their checkboxes in Color
Style Manager are checked in. Setup script after the finish will ask user to
press RETURN
to exit. This is for user's convenience to read output of the
setup for informative and/or diagnostic reasons. It is advised after this setup
to open $FVWM_USERDIR/NsCDE.conf
and set up InfoStoreAdd internal FVWM
variables for terminal
, filemgr
and xeditor
to user's favorite programs for
functions.
Layout of the $FVWM_USERDIR
after the initial setup should look like this:
- app-defaults/
- backdrops/
- palettes/
- fontsets/
- config_templates/
- photos/
- backer/
- GeoDB.ini
- icons/
- icons/NsCDE/
- Backdrops.fvwmgen
- Colorset.fvwmgen
- NsCDE.conf
- tmp/
- Xdefaults
- Xdefaults.fontdefs
- Xdefaults.local
- Xdefaults.mouse
- Dunst.conf
- Stalonetray.conf
- NsCDE.rasi (
NsCDE
Rofi theme) - Xsettingsd.conf
It is advised to logout and login from the X session after this, and check if
everything looks ok. Also, it is a good idea to start using programs from the
menu and examine environment around for a half an hour or so, before running
Style Manager (2nd button right of the Workspace Manager on the Front Panel)
to customize other aspects of the interface. NsCDE
is now ready for usage.