This patch fixes some wierd word splicing that occured with the importing of
the sources, which caused the last letter of many bugs to be cut off, with
some of them cutting off more, I made my best judgement on what was supposed
to be there.
This patch also gets rid of old bugs and software that CDE no longer includes.
In this commit, we convert FreeBSD and OpenBSD to use a system version
of TCL (8.6).
We also get rid of the hairy and buggy "CompareI18NStrings" custom Tcl
function and use the newer Tcl's builtin dictionary sort mechanism for
generating the Indexes and Glossaries, which were silently broken in
previous commits.
It was just not possible to use the same Tcl code in modern versions
of Tcl in addition to the ancient version included with CDE - so, now
we will always depend on the system version. It's been tested with
8.6 and 8.7 versions of Tcl with great results.
dtdocbook/instant has been modified to use a more modern Tcl (8.6),
which means certain functions are not present when we are using the
dtdocbook/tcl (7.5) version of tcl instead of a modern system version.
So, create some defines that should work around this problem.
One issue that came up was attempting to read array values indexed by
a key that didn't exist when generating indexes and glossaries.
I am not sure why this hasn't been a problem before, but for now, we
simply won't try to emit array values for non-existant array indexes.
Remove calls to bogus utility functions in cases where the user is
root and the filesystem in question is an NFS filesystem.
For now, __linux___ and CSRG_BASED machines will use statfs to
determine whether to test delete-ability. For other systems, just do
the create/delete test always if the user is root.
dtfile makes use of ustat(2) on certain systems. This call has been
deprecated in glibc for a while and now, as of glibc-2.28, it has been
removed. The recommended replacement is to use statfs(2).
In addition:
- moved video type detection into a separate file: videoTypes.dt out
of datatypes.dt. Also, removed all actions from Antonis' dt files,
as these are handled by the new actions (listed below).
Image, postscript, and PDF types definitions are still located in
datatypes.dt.src
- supports most image files, PDFs, postscript files, and video files
via dtapp now.
- Added new actions:
- DisplayImage
- DisplayVideo
- DisplayPDF
- DisplayPS
All of these call the dtapp_* helpers to locate an appropriate
program to handle the task.
- Added a camera icon
- standardized the icons used to display the various types - all
images use the Dtimage icon now, as an example.
- moved the new *.dt files to their proper place in programs/types,
rather than programs/localized/C/types (my bad).
Please add any further video types into videoTypes.dt, and everything
else (for now) into datatypes.dt.
In the future, we should probably separate these out into
type-specific .dt files. Also, something should be done about playing
audio files too (maybe DisplayVideo.dt can handle all those too?)
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.