2015-02-26 22:58:40 +01:00
|
|
|
StarDict Terminal UI
|
2015-02-07 21:38:27 +01:00
|
|
|
====================
|
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
|
2015-02-26 22:58:40 +01:00
|
|
|
kinds of dictionaries in your terminal. I wasn't successful in finding any free
|
|
|
|
dictionary 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
|
2015-02-26 22:58:40 +01:00
|
|
|
software. I wasn't able to reuse _anything_.
|
2013-05-17 00:54:11 +02:00
|
|
|
|
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
|
|
|
|
2015-02-26 22:58:40 +01:00
|
|
|
- rewrite the frontend using a proper TUI framework
|
2016-09-28 06:08:34 +02:00
|
|
|
- possibly make it work better with multiple dictionaries as now it's only
|
|
|
|
acceptable if you give them short names in the configuration so that they
|
|
|
|
all fit in the header
|
2015-02-26 22:58:40 +01:00
|
|
|
- figure out a way to become capable of displaying most 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
|
|
|
|
a package with the latest development version from Archlinux's AUR, or from
|
|
|
|
openSUSE Build Service for the rest of mainstream distributions. Consult the
|
|
|
|
list of repositories and their respective links at:
|
|
|
|
|
|
|
|
https://build.opensuse.org/project/repositories/home:pjanouch:git
|
|
|
|
|
2015-02-07 21:38:27 +01:00
|
|
|
Building and Running
|
|
|
|
--------------------
|
2015-09-27 01:44:06 +02:00
|
|
|
Build dependencies: CMake, pkg-config, xsltproc, docbook-xsl +
|
2015-02-26 22:58:40 +01:00
|
|
|
Runtime dependencies: ncursesw, zlib, ICU, termo (included),
|
|
|
|
glib-2.0, pango, gtk+ (optional, any version)
|
2015-02-07 21:38:27 +01:00
|
|
|
|
2015-09-27 01:36:36 +02:00
|
|
|
$ git clone --recursive https://github.com/pjanouch/sdtui.git
|
|
|
|
$ mkdir sdtui/build
|
|
|
|
$ cd sdtui/build
|
2015-02-07 21:38:27 +01:00
|
|
|
$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -DWITH_GTK=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
|
2015-02-07 21:38:27 +01:00
|
|
|
|
|
|
|
Or you can try telling CMake to make a package for you. For Debian it is:
|
2015-09-27 01:44:06 +02:00
|
|
|
|
2015-02-07 21:38:27 +01:00
|
|
|
$ cpack -G DEB
|
|
|
|
# dpkg -i sdtui-*.deb
|
|
|
|
|
2015-09-27 01:44:06 +02:00
|
|
|
Note that for versions of CMake before 2.8.9, you need to prefix `cpack` with
|
|
|
|
`fakeroot` or file ownership will end up wrong.
|
2015-02-07 21:38:27 +01:00
|
|
|
|
2015-09-27 01:44:06 +02:00
|
|
|
Having the program installed, simply run it with a StarDict '.ifo' file as an
|
2016-09-28 05:50:03 +02:00
|
|
|
argument. It is however highly recommended to configure it, see below.
|
2015-02-07 21:38:27 +01:00
|
|
|
|
2015-02-24 08:38:28 +01:00
|
|
|
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
|
2015-02-24 08:38:28 +01:00
|
|
|
automatically reorders the index according to that locale (e.g. "cs_CZ").
|
2016-09-26 16:19:36 +02:00
|
|
|
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_
|
2016-09-26 16:19:36 +02:00
|
|
|
with the following. Note that it is intended for black-on-white terminals.
|
|
|
|
|
|
|
|
....
|
|
|
|
[Settings]
|
|
|
|
center-search = true
|
|
|
|
underline-last = false
|
2016-09-26 21:04:27 +02:00
|
|
|
hl-common-prefix = true
|
2016-09-28 05:50:03 +02:00
|
|
|
watch-selection = true
|
2016-09-26 16:19:36 +02:00
|
|
|
|
|
|
|
[Colors]
|
|
|
|
header = reverse
|
2016-10-07 17:27:28 +02:00
|
|
|
header-active = ul
|
2016-09-26 16:19:36 +02:00
|
|
|
search = ul
|
|
|
|
even = 16 231
|
|
|
|
odd = 16 255
|
|
|
|
....
|
2015-02-24 08:38:28 +01:00
|
|
|
|
2016-09-28 05:50:03 +02:00
|
|
|
The `watch-selection` option makes the application watch the X11 primary
|
|
|
|
selection for changes and automatically search for selected text.
|
|
|
|
This feature requires GTK+ and it will never work on Wayland by its design.
|
|
|
|
|
|
|
|
You can also set up some dictionaries to be loaded at startup automatically:
|
|
|
|
|
|
|
|
....
|
|
|
|
[Dictionaries]
|
|
|
|
name1 = ~/path/to/dict.ifo
|
|
|
|
name2 = ~/another/dict.ifo
|
|
|
|
....
|
|
|
|
|
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.
|
|
|
|
|
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
|
|
|
|
------------------------
|
|
|
|
Use this project's GitHub to report any bugs, request features, or submit pull
|
|
|
|
requests. If you want to discuss this project, or maybe just hang out with
|
2016-03-14 21:27:57 +01:00
|
|
|
the developer, feel free to join me at irc://irc.janouch.name, channel #dev.
|
2015-09-27 01:36:36 +02:00
|
|
|
|
2015-02-07 21:38:27 +01:00
|
|
|
License
|
|
|
|
-------
|
2015-09-27 01:44:06 +02:00
|
|
|
'sdtui' is written by Přemysl Janouch <p.janouch@gmail.com>.
|
2015-02-07 21:38:27 +01:00
|
|
|
|
|
|
|
You may use the software under the terms of the ISC license, the text of which
|
|
|
|
is included within the package, or, at your option, you may relicense the work
|
|
|
|
under the MIT or the Modified BSD License, as listed at the following site:
|
|
|
|
|
|
|
|
http://www.gnu.org/licenses/license-list.html
|