Other NsCDE (Not so Common Desktop Environment) – x11-wm/nscde

x11-wm/nscde

… like a "fvwm2 configuration to make fvwm2 looks like a CDE" …


cmoerz hi, I installed the package and others that are recommended. Two issues.

Starting the environment

I half-expected to find NsCDE amongst the menu of environments that's presented by SDDM. It's not, is /usr/local/sbin/nscde the method?

Code:
% pkg info --list nscde | grep bin/
        /usr/local/bin/colorpicker
        /usr/local/bin/pclock
        /usr/local/sbin/confget.py
        /usr/local/sbin/confset.py
        /usr/local/sbin/fpclock
        /usr/local/sbin/get_fvwm_infostore
        /usr/local/sbin/getdpi
        /usr/local/sbin/getfont
        /usr/local/sbin/ised
        /usr/local/sbin/mkpagemenu
        /usr/local/sbin/nscde
        /usr/local/sbin/nscde_colorpicker
        /usr/local/sbin/nscde_fvwmclnt
        /usr/local/sbin/nscde_usleep
        /usr/local/sbin/nscde_var_append
        /usr/local/sbin/sysinfo.py
        /usr/local/sbin/xdowrapper
% strings /usr/local/sbin/nscde
#!/usr/local/bin/ksh93
# This file is a part of the NsCDE - Not so Common Desktop Environment
# Author: Hegel3DReloaded
…

Preferring to not start Dunst

sysutils/dunst

2021-12-24 15.21.43 knopwob dunst.png

How can I prevent knopwob dunst from interfering with KDE Plasma?

I see <https://dunst-project.org/faq/#how-to-switch-back-to-notify-osd> but I can't tell whether that's applicable to FreeBSD.

Thanks
 
Last edited:
My clumsy failed attempt to create the required file, from an example:

Code:
% cat /usr/local/share/xsessions/nscde.desktop
[Desktop Entry]
Encoding=UTF-8
Name=NsCDE With KDE session manager
Comment=Not so Common Desktop Environment (K Managed Session)
TryExec=/usr/local/bin/startplasma-x11
Exec=KDEWM=nscde /usr/local/bin/startplasma-x11
Type=XSession
DesktopNames=KDE

[Window Manager]
SessionManaged=true
%

(Clumsiness: something that's intended to start Plasma can not start an alternative desktop environment. NsCDE With KDE session manager is listed by SDDM but not usable. Attempting to log in the session bounces me back to SDDM.)

Re: <https://github.com/NsCDE/NsCDE/blob...sion-integration/nscde-ksession.desktop#L5-L6>
  • /usr/local/bin/startplasma-x11 exists
  • /usr/bin/startkde does not
  • /usr/bin/startplasma-x11 does not.
Nothing provides startkde:

Code:
% pkg provides startkde
%
 
Yup, nscde starts via /usr/local/sbin/nscde (or whatever PREFIX you're working with).

It can be launched via a variety of methods - at least in principle. I myself am launching it via a /usr/local/etc/X11/xinit/xinitrc or ~/.xinitrc, which is really very low level.

There are however some examples that might help you; the package contains these files which might provide pointers:
Code:
        /usr/local/share/examples/nscde/README.session-integrations
        /usr/local/share/examples/nscde/gnome-session-integration/NsCDE.desktop
        /usr/local/share/examples/nscde/gnome-session-integration/NsCDE.session
        /usr/local/share/examples/nscde/gnome-session-integration/README
        /usr/local/share/examples/nscde/gnome-session-integration/nscde-session.desktop
        /usr/local/share/examples/nscde/kde-session-integration/README
        /usr/local/share/examples/nscde/kde-session-integration/nscde-ksession.desktop
        /usr/local/share/examples/nscde/lxsession-integration/README
        /usr/local/share/examples/nscde/lxsession-integration/desktop.conf
        /usr/local/share/examples/nscde/mate-session-integration/README
        /usr/local/share/examples/nscde/mate-session-integration/nscde-session.desktop
        /usr/local/share/examples/nscde/mate-session-integration/nscde.desktop
        /usr/local/share/examples/nscde/xsession-integration/README
        /usr/local/share/examples/nscde/xsession-integration/nscde.desktop

That KDE readme says:
Code:
It is very easy to get it into Plasma, but Plasma insists to manage background
of the root window (pkill plasmashell), and it doesn't even have a capability
to set different backdrop or picture to different desks.
(Read, cry and think how happy you are with FVWM!
https://forum.kde.org/viewtopic.php?f=67&t=141878 )

You should probably move or remove redundant KDE dock which covers FvwmButtons
Front Panel.

Good question on dunst. I believe that's started somewhere in the innards of nscde. Looking at /usr/local/etc/nscde/NsCDE-main.conf (or its .sample file), there's an option
Code:
NsCDE-Main.conf.sample:Test (x dunst) InfoStoreAdd nscde_use_dunst 1
NsCDE-Main.conf.sample:Test (!x dunst) InfoStoreAdd nscde_use_dunst 0
which might do the trick you're hoping for?
 
Thanks. Very nice work. I took the simplest approach:

Code:
% grep -v "# " ~/.xinitrc

#!/bin/sh
exec ck-launch-session  /usr/local/sbin/nscde
%

Screenshot at <https://forums.freebsd.org/posts/548478>.



A remnant that might have resulted from a move of the FvwmIdent window:

True
Present
Normal

– at the left and right edges of the screen of the display that's to the left of my notebook, on DisplayPort. (Screen moved from left to right, in software, after NsCDE started.)

A bug with x11-wm/fvwm2, maybe?



I could not move gkrellm sysutils/gkrellm2 in the normal way. Dragging and dropping the area at the head of its window resulted in minimal on-screen movement, maybe a pixel or two. Not as far as I moved the pointer before dropping.

Another window management issue, maybe?



In Firefox, the tab context menu nearly always failed to remain on screen when required. A moment after releasing the right-click on my Kensington trackball, the menu disappeared.

Workaround:
  1. do not point at the tab
  2. click the toolbar icon for an extension such as Duplicate Tabs Closer
  3. ignore, but do not escape from, the pop-up
  4. right-click the tab.
If a tab might be obscured by the popup, then considering finding an alternative position for the toolbar icon.

I discovered Duplicate Tabs Closer as part of this workaround simply because its icon was, at test time, near top left and not far from my sidebar view of tabs; and because it has a pop-up. I guess that it'll suffice to use any extension that can present, from its toolbar icon, a pop-up that persists until the user clicks elsewhere.



Test environment

<https://bsd-hardware.info/?probe=b956c2a933>
 
Last edited:
I've noticed some strange issues with Firefox as well, but thought it might have to do with my setup.

I've got vertical tabs and the context window disappears immediately after right clicking on them. I have to hold Ctrl while right clicking on my tabs for the context menu to appear. That somehow stops it from getting themed, I suppose.

There's some firefox css theming ("chrome") shipped with nscde - I suppose, you ran without that?

Apropos theming; I had some weird shadows and window issues with gtk3; I fixed that with this in ~/.config/gtk-3.0/gtk.css:
Code:
.window-frame1, .window-frame:backdrop1 {
    box-shadow: none; /* removes shadow completely */
    border-style: none;
    margin: 1px; /* this retains the ability to resize with the mouse, if 1px is too narrow, set some higher values */
    border-radius: 0px;
}

.window-frame, .window-frame:backdrop {
 box-shadow: 0 0 0 black;
 border-style: hidden;
 margin: 0;
 border-radius: 0;
}

.titlebar {
 border-radius: 0;
}

.window-frame.csd.popup {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13);
}

.header-bar {
  background-image: none;
  box-shadow: none;
}

solid-csd, .solid-csd, .background, decoration {
  box-shadow: none;
  border-style: hidden;
  margin: 0;
  border-radius: 0;
}

Since I noticed you're also using tree style tab in Firefox, in case you want to get rid of the top tabs - I can highly recommend this:
Code:
~/.mozilla/firefox/lj8cclez.default-release/chrome  cat userChrome.css
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
#TabsToolbar {
    visibility: collapse;
}
#main-window[tabsintitlebar="true"]:not([extradragspace="true"]) #TabsToolbar > .toolbar-items {
  opacity: 0;
  pointer-events: none;
}
#main-window:not([tabsintitlebar="true"]) #TabsToolbar {
    visibility: collapse !important;
}
 
… rid of the top tabs …

Styled out long ago, thanks.

… firefox css theming ("chrome") shipped with nscde - I suppose, you ran without that? …

Not knowingly. I took what was (for me) the simplest possible approach to starting the DE.

Side note: <https://forums.freebsd.org/posts/548628>, if you have any ideas there. Obligatory confession:
  • I did not RTFM (because I wanted a 'blind' first impression of usability of NsCDE)
  • I paid little or no attention to the choices that were offered during the first run (my bad, I could have written something down).
Thanks!
 
I resolved the very recent issues affecting KDE Plasma. Set aside:

~/.gtkrc-2.0

Code:
% ls -ahlrt .gtkrc-2.0*
lrwxr-xr-x  1 grahamperrin  grahamperrin    29B 25 Mar  2019 .gtkrc-2.0-kde4 -> /home/grahamperrin/.gtkrc-2.0
-rw-r--r--  1 grahamperrin  grahamperrin   516B 29 Dec 23:52 .gtkrc-2.0-setaside
-rw-r--r--  1 grahamperrin  grahamperrin   326B 30 Dec 00:16 .gtkrc-2.0
% cat .gtkrc-2.0-setaside
gtk-theme-name="Default"
gtk-enable-animations=1
gtk-primary-button-warps-slider=0
gtk-toolbar-style=3
gtk-menu-images=1
gtk-button-images=1
gtk-cursor-theme-size=48
gtk-cursor-theme-name="breeze_cursors"
gtk-icon-theme-name="Breeze-Chameleon Light"
gtk-font-name="Fira Sans Condensed,  10"
gtk-theme-name = "NsCDE"
gtk-font-name = "DejaVu Serif Book 10"
gtk-application-prefer-dark-theme = 1
gtk-icon-theme-name = "NsCDE"
gtk-button-images = 0
gtk-menu-images = 0
gtk-cursor-blink = 0
gtk-modules=appmenu-gtk-module%
%

I don't understand how a GNOME-oriented preference file could have prevented KDE System Settings from applying preferences to KDE-oriented applications such as Dolphin (and the System Settings application itself), but it seems, that's what happened. If anyone can offer a better interpretation, I'll be grateful.

In any case: I'm very happy that the recent issues are resolved 😁
 
how a GNOME-oriented preference file could have prevented KDE System Settings from applying preferences
that's a plus and a minus for nscde - it somehow delivers a reasonably consistent look across QT and GTK applications. I always figured it's just a theme but you might have proven that there's more behind it than meets the eye.

Glad you figured it out and resolved your issue.
 
Brief update, even though you probably moved on: patch has been posted for your bugzilla issue.

Coincidentally, NsCDE version 2 was released tonight. Right when my poudriere run finally finished. However, because of it switching to GNU autotools and it not working out of the box, I figured I'll still post that port revision and maybe help anyone else who might come across this post.
 
I had downloaded some pictures, how to set them as my wallpaper? I got an error message not supported x bit picture or something like that
 
There appears to be an option to set custom background pictures beyond the patterns that are shipped with nscde. I haven't used that before.
There is an option labeled "use a photo or picture" with some preinstalled pictures, but attempting to add new files did not work for me. The preinstalled pictures work fine though. You could try alternatives like graphics/feh to set the background image, but that might require some scripting or modifying nscde config files...
 
Top