tdv/README.adoc

124 lines
4.3 KiB
Plaintext
Raw Normal View History

2015-02-26 22:58:40 +01:00
StarDict Terminal UI
====================
2013-05-17 00:54:11 +02:00
2015-09-27 01:44:06 +02:00
'sdtui' aims to provide an easy way of viewing translation as well as other
kinds of dictionaries in your terminal, and is inspired by the dictionary
component of PC Translator. I wasn't successful in finding any free software
of this kind, GUI or not, and thus decided to write my own.
2013-05-17 00:54:11 +02:00
2015-02-26 22:58:40 +01:00
The project is covered by a permissive license, unlike vast majority of other
2013-05-17 00:54:11 +02:00
similar projects, and can serve as a base for implementing other dictionary
software. I wasn't able to reuse _anything_ for StarDict.
2013-05-17 00:54:11 +02:00
image::sdtui.png[align="center"]
2015-02-26 22:58:40 +01:00
Further Development
-------------------
While I've been successfully using sdtui for a long time now, some work has to
be done yet before the software can be considered fit for inclusion in regular
Linux and/or BSD distributions. Help is much appreciated.
An approximate list of things that need to be resolved:
2015-09-27 01:44:06 +02:00
- the tab bar and the text input field don't handle overflows well
- figure out a way to become capable of displaying most StarDict dictionaries
2013-05-17 00:54:11 +02:00
2016-03-14 21:27:57 +01:00
Packages
--------
Regular releases are sporadic. git master should be stable enough. You can get
2018-06-24 05:23:48 +02:00
a package with the latest development version from Archlinux's AUR.
2016-03-14 21:27:57 +01:00
Building and Running
--------------------
Build dependencies: CMake, pkg-config, asciidoctor +
Runtime dependencies: ncursesw, zlib, ICU, termo (included), glib-2.0 >= 2.38,
pango, xcb, xcb-xfixes (the latter two optional)
2018-06-24 05:23:48 +02:00
$ git clone --recursive https://git.janouch.name/p/sdtui.git
2015-09-27 01:36:36 +02:00
$ mkdir sdtui/build
$ cd sdtui/build
$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -DWITH_X11=ON
$ make
To install the application, you can do either the usual:
2015-09-27 01:44:06 +02:00
2015-02-26 22:58:40 +01:00
# make install
Or you can try telling CMake to make a package for you. For Debian it is:
2015-09-27 01:44:06 +02:00
$ cpack -G DEB
# dpkg -i sdtui-*.deb
2015-09-27 01:44:06 +02:00
Having the program installed, simply run it with a StarDict '.ifo' file as an
argument. It is however highly recommended to configure it, see below.
Extensions
----------
As the original StarDict is a bit of a clusterfuck with regard to collation of
2015-09-27 01:44:06 +02:00
dictionary entries, I had to introduce an additional `collation` field into the
'.ifo' file. When sdtui discovers this field while reading the dictionary, it
automatically reorders the index according to that locale (e.g. "cs_CZ").
This operation may take a little while, in the order of seconds.
Configuration
-------------
2016-09-27 01:12:24 +02:00
To get a nicer look in 256color terminals, create _~/.config/sdtui/sdtui.conf_
with the following. Note that it is intended for black-on-white terminals.
....
[Settings]
center-search = true
underline-last = false
hl-common-prefix = true
watch-selection = true
[Colors]
header = reverse
2016-10-07 17:27:28 +02:00
header-active = ul
search = ul
even = 16 231
odd = 16 255
....
The `watch-selection` option makes the application watch the X11 primary
selection for changes and automatically search for selected text. This feature
requires XCB. Wayland is currently unsupported, but would require a compositor
supporting the wlr-data-control protocol. Luckily, some compositors, such as
Sway, synchronize selections with Xwayland.
You can also set up some dictionaries to be loaded at startup automatically:
....
[Dictionaries]
name1 = ~/path/to/dict.ifo
name2 = ~/another/dict.ifo
....
The names define how they will appear in the tab bar.
2015-02-08 00:36:45 +01:00
Dictionaries
------------
Unfortunately this application only really works with specific dictionaries.
Word definitions have to be in plain text, separated by newlines.
2020-09-03 23:17:17 +02:00
You may use the included transform tool to transform existing dictionaries that
are almost useful as they are, e.g. after stripping XML tags. You might want to
fix up the `sametypesequence` of the resulting '.ifo' file afterwards, and run
dictzip on the resulting '.dict' file.
2015-09-27 01:44:06 +02:00
https://mega.co.nz/#!axtD0QRK!sbtBgizksyfkPqKvKEgr8GQ11rsWhtqyRgUUV0B7pwg[
CZ <--> { EN, DE, PL, RU } dictionaries]
2015-02-08 00:36:45 +01:00
2015-09-27 01:36:36 +02:00
Contributing and Support
------------------------
2018-06-24 05:23:48 +02:00
Use https://git.janouch.name/p/sdtui to report any bugs, request features,
or submit pull requests. `git send-email` is tolerated. If you want to discuss
the project, feel free to join me at ircs://irc.janouch.name, channel #dev.
2015-09-27 01:36:36 +02:00
2018-06-24 05:23:48 +02:00
Bitcoin donations are accepted at: 12r5uEWEgcHC46xd64tt3hHt9EUvYYDHe9
2017-06-20 06:37:28 +02:00
License
-------
This software is released under the terms of the 0BSD license, the text of which
is included within the package along with the list of authors.