This script is located in /usr/dt/bin/dtapp, and is then symlinked to
various helpers that can be used in DT actions to run programs.
The various helpers currently installed are:
dtapp_vimage - view an image file, override with DTAPP_VIMAGE.
Defaults to xv, display, and gimp, in that order.
dtapp_vpdf - view a PDF file, override with DTAPP_VPDF. Defaults to
okular, xpdf
dtapp_vps - view a postscript file, override with DTAPP_VPS. Defaults
to mgv, gv
dtapp_vvideo - view a video file, override with DTAPP_VVIDEO.
Defaults to vlc, ffplay.
When a request is made to view one of these files, the list of viewers
will be tried, in order, until one is found. If none are found, an
error message will be displayed. Add overrides to your ~/.dtprofile
file.
We can add more dtapp commands and defaults for them as needed.
This is in preparation for integrating Antonis Tsolomitis' extended
actions and icon files, coming up in future commits.
With earlier versions of RPC and TIRPC it seems that svctcp_create()
calles listen() on the socket (as seen by debugger and strace).
Tooltalk expects this behavior.
However, with newer systems (ArchLinux 5/18+ and similar bleeding edge
versions of SuSE's equivalent: Tumbleweed), this behavior seems to
have changed.
ttsession goes into an infinite loop trying to accept() a connection
in the TIRPC library (via svc_getreqset()).
It appears listen() is no longer called on the socket when it is
created via svctcp_create(). The hack in this commit, always causes
listen() to be called on the socket, and seems to resolve the problem.
But it is a hack I think. I don't know if this is the correct
behavior of svctcp_create() or we were just lucky before.
There were a variety of potential 64b problems due to the complete
lack of prototype declarations. So, we add a file, isam_prototypes.h,
generated mostly by the 'cproto' tool.
We also fixed up some errors that having proper prototypes pointed
out, mainly in passing ints where pointers were expected and vice
versa. The iserase() function was supposed to accept a char *, but
was defined as only accepting a char. Fun stuff like that.
This program has never worked very well, and it may still not work
very well. This commit removes the ancient C++ headers and uses
modern replacements with some changes required due to the different
interfaces.
It builds a lot cleaner, and no longer does stupid things like
deleteing char *, ostream.str()'s, and the like.
This program could be really useful if it worked well. Some thought
should be givien in the future to decouple this SW from dtappbuilder
and maybe just rewrite from scratch.
Without this, you cannot use the command line to select the languages
to build, you would have to edit site.def directly.
With this fix, you can build a language on linux with something like:
make World IMAKE_DEFINES='-DDtLocalesToBuild="de_DE.ISO8859-1 es_ES.ISO8859-1"'
to build the DE (German) and es (Spanish) locales.
A recurring problem, mainly on the BSD's, and also on some Linux
installations, is a failure for ttsession to start and any clients
trying to attach to it failing due to having a hostname that is not
associated with an IP address.
This is due to code which looks up the hostname, and if it does not
have a valid host record, then TT just fails.
This has required those users to add an alias for their host name in
their /etc/hosts file.
With this commit, this should no longer be necessary. Now, if
_XGethostbyname() fails when looking up the local name, a default of
"localhost" is used, which should always exist.
This was run tested on Linux and FreeBSD 11.1. It was compile tested
on OpenBSD 6.2.
Some icons are actually symlinks to other icons, presumably for
compatibility with older systems. These were absolute symlinks. This
commit makes them relative symlinks instead.
While CDE builds fine with gcc6 on FreeBSD 11, the default clang build
was broken in a few places. This commit allows CDE to build now using
the default clang 6 system compiler.
This commit removes the need to setup X11 and motif import symlinks
before building CDE. With OpenBSD v6+, the installed versions of X11 and
Motif will be used.
This may work with earlier versions of OpenBSD as well, but I don't
have access to those older versions. If you try it, and it works,
send a patch to the CDE mailing list.
This was tested on OpenBSD 6.2
With this patch, the import symlinks for x11 and motif do not need to
be created. The build will use the installed headers in
/usr/local/include/{X11, Xm}.
This will work for FreeBSD 11 only ATM as I don't have older systems
to test with.
It may work for FreeBSD 10 or earlier versions as well. If so, edit
config/cf/FreeBSD.cf and change the OSMajorVersion check for
UseInstalledX11 appropriately. And send a patch to the CDE mailing
list :)
I'm not sure what the pam stuff wanted to do, but it was disabled
anyway and we do not need it. Someday, we will want to integrate with
PAM properly, but this wasn't it.
The POSIX __linux__ commit broke the special detection on linux used
to determine whether a secure system was in use or not.
This commit reworks the logic a little bit to avoid special casing
linux in main().
It also reworks the logic in CanReAuthenticate() to fix up some issues
"fixed" to correct converity warnings. The logic in this case was
mostly ok, but still didn't account for the proper usage of this
function. Error detection improved somewhat as a result.
The real issue seems to be a bug in Motif. The background color for
these tree icons is always black. Depending on what Palette you have
selected, it's possible for the foreground color to be black. When
this happens, you will see a black square since both fg and bg are now
black.
You can select another Palette that works (ie: foreground is white)
and the problem goes away. So, for now, we always force a white
foreground color so the actual symbols are visible in tree mode.
This is enabled by default. To disable, add:
in the config/cf/site.def or host.def file.
You will need to have the libtirpc-dev package installed.
The benefit is that you will no longer need to run rpcbind in insecure
mode (the -i option). There are other benefits we may be able to take
advantage of in the future, like supporting IPV6 for ToolTalk.