Letting off steam!
It's possible that what I've just learnt may be of use to other ctwm users
whose linux distributions change in 'hidden' ways. This wasted a *lot* of
my time!
After upgrading my laptop and desktop machines from Fedora 25 to 27 I was
annoyed to find that items accessing gnome-control-center in .ctwmrc
stopped working, e.g.
"Gnome Vol" ! "/usr/bin/gnome-control-center sound &"
"NET" ! "/usr/bin/gnome-control-center network &"
did not work.
After struggling for some time to find alternatives, I stumbled across this
bug-report:
https://www.reddit.com/r/Fedora/comments/7dcc0o/fix_for_blank_gnome_control_center_settings_with/
and learnt that to preserve the old functionality of gnome-control-center,
it is now necessary to define this environment variable:
XDG_CURRENT_DESKTOP as GNOME
E.g., since I've got into the habit of using tcsh as my login shell, I now
have put this in a login script:
setenv XDG_CURRENT_DESKTOP GNOME
I presume bash users will need to use export ?
The reddit bug-report adds:
You can edit the desktop entry file at
/usr/share/applications/gnome-control-center.desktop
I think it's better for individual users, especially on a shared machine,
to make such changes, instead of using a 'central' location, e.g.
/usr/share/...
Would it be possible for CTWM users to extend the functionality of .ctwmrc
with an environment section, e.g., by analogy with 'Color:'
Something like:
Environment_extensions:
{
XDG_CURRENT_DESKTOP GNOME
PATH ...
}
so that all commands invoked will from ctwm will have the required
environment-extensions. Restricting $PATH could be useful for 'secure'
environments, or a machine shared with younger family members?
Some applications may need environment restrictions, rather than
extensions, e.g. for security reasons.
Presumably people who use a gnome based linux will not have this problem
as things will be set up by the gnome login mechanism?
Using google to search for XDG_CURRENT_DESKTOP, reveals that a lot of
people have been having problems with this change.
I suspect better system designers would have redefined gnome-control-center
to alter the environment variable locally, and added a new command, e.g.
'new-control-center' which has to take advice from the XDG_CURRENT_SETUP
environment variable. Then gnome-control-center would set the environment
variable to preserve functionality and invoke new-control-center (or
whatever).
Aaron