Skip to content
/ NsCDE Public

Modern and functional CDE desktop based on FVWM

License

Unknown, GPL-3.0 licenses found

Licenses found

Unknown
LICENSE
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

NsCDE/NsCDE

Repository files navigation

Not so Common Desktop Environment (NsCDE)

Github commits GitHub contributors PR's Welcome

ScreenShot

Notices:

Screenshots:

Video Presentations and guides:

The author would like to apologize for bad English in the docs. A rand() function putting (the, a, an) in articles would probably be more accurate.

Introduction

What is NsCDE?

NsCDE is a retro but powerful UNIX desktop environment which resembles the 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.

NsCDE can be considered as a heavyweight FVWM theme on steroids, but combined with a couple other free software components and custom FVWM applications and a lot of configuration, NsCDE can be considered a lightweight hybrid desktop environment.

In other words, NsCDE is a heavy FVWM (ab)user. It consists of a set of FVWM applications and configurations, enriched with Python and Shell background drivers, couple of the additional free software tools and applications. FVWM3 is also supported.

Visually, NsCDE mimics CDE, the well known Common Desktop Environment of many commercial UNIX systems of the nineties. It supports CDE backdrops and palettes with FVWM colorsets and has a theme generator for Xt, Xaw, Motif, GTK2, GTK3, Qt4 and Qt5. Integrating all these bits and pieces, the user gets a retro visual experience across almost all X11 applications. Enriched with a bunch of powerful FVWM concepts and functions, modern applications and font rendering, NsCDE acts as a link between classic CDE look and a fast and extensible environment, well suited for modern day computing.

NsCDE can even be integrated into existing desktop environments as a FVWM window manager wrapper for session handling and additional DE functionality.

Nevertheless, NsCDE is designed for UNIX oriented users, and generally technical people, and not as something for general public use or for introducing beginners to Linux or some other unix-like system.

As previously said, NsCDE's main goal is to revive the look and feel of the Common Desktop Environment found on many UNIX and unix-like systems during nineties and the first decade of the 21st century, but with a slightly more polished interface (XFT, unicode, dynamic changes, rich keyboard and mouse bindings, desk pages, rich menus etc.). The goal is a comfortable retro environment which is not just eye candy toy, but a real working environment for users who contrary to mainstream trends really like CDE, thus making a semi-optimal blend of usability and compatibility with modern tools with a look and feel which mainstream abandoned for some new fashion, and ... in a nutshell, giving the best of both worlds to the user.

The excellent FVWM window manager is the main driver behind NsCDE with its endless options for customization, GUI Script engine, Colorsets, and modules. NsCDE is largely a wrapper around FVWM -- sort of like a heavyweight theme.

Other main components are GTK2, GTK3, Qt4 and Qt5 themes for unifying the look and feel of most Unix/Linux applications, custom scripts which are helpers and backend workers for GUI parts and some data from the original CDE, such as icons, palettes, and backdrops.


Why NsCDE?

Since the nineties, I have always liked this environment and its somewhat crude socrealistic look in a contrast to the "modern" Windows and GNOME approach which is going in the opposite direction from what I always liked to see on my screen. I have created this environment for my own usage 8-10 years ago and it was a patchwork, chaotic and not well suited for sharing with someone. While it looked ok on the surface, behind it was years of ad-hoc hacks and senseless configurations and scripts, dysfunctional menus, etc. Couple of months in a row I had the time and chance to rewrite this as a more consistent environment, first for myself, and during this process, idea came to do it even better, and put it on the web for everyone else who may like this idea of a modern CDE.

NsCDE is intended for people who don't like "modern" hypes, interfaces that try to mimic Mac and Windows and reimplement their ideas for non-technical user's desktops, and reimplement them poorly. Older and mature system administrators, programmers and generally people with a Unix background are more likely to have attraction to NsCDE. It is probably not well suited for beginners.

Of course, the question arises: why not simply use the original CDE now that it is open source?

Apart from its desirable look, because it has its own problems: It is a product from the 90s, based on Motif and a long time has passed since then. In CDE there is really no XFT font rendering, no immediate dynamic application changes. Besides that, I have found dtwm, CDE's window manager, inferior to FVWM and some 3rd party solutions which can be paired with it. So I wanted the best of both worlds: good old retro look and feel from original CDE, but more flexible, modern and maintained "driver" behind it, which will allow for individual customizations as one find's them fit for their own amusement and usage. As it will be seen later, there are some intentional differences between CDE and NsCDE - a middle ground between trying to stay as close as possible to look of the CDE, but with more flexibility and functionality on the second and third look.


Components of the NsCDE

Components overview

NsCDE consists of 7 main facilities

  • extensive FVWM configuration and customization
  • FvwmScript GUI programs
  • GTK2 and GTK3 theme based on pixmap engine
  • Icon theme
  • Python programs and Korn Shell scripts
  • Miscellaneous pieces for integration, like CSS for Firefox and Thunderbird, etc...
  • Integrated free software components for desktop environment tasks

Central "driver" or framework is FVWM Window Manager. FVWM is in my opinion a model of free choice for people who like to have things set up as they wish and and who are aware of what real freedom of choice is. A stunning contrast to policies forced on Linux users in the last decade by the most mainstream desktop players.

NsCDE is by default installed in /usr/local ($NSCDE_ROOT), but it can be relocated to any other installation path during pre-installation configuration.

It is not using the default configuration directory $HOME/.fvwm but sets it's own $FVWM_USERDIR to $HOME/.NsCDE, and uses NsCDE private $[FVWM_DATADIR] as a source of configuration.