Commit Graph

61 Commits

Author SHA1 Message Date
Přemysl Eric Janouch 8af337c83c
CMakeLists.txt: fix dependencies after renaming 2023-06-22 00:23:29 +02:00
Přemysl Eric Janouch 951208c15b
Test SVG and desktop file validity 2023-06-15 16:24:16 +02:00
Přemysl Eric Janouch c77d994dc4
Rename tools, make them installable 2023-06-11 18:08:03 +02:00
Přemysl Eric Janouch 238e7a2bb9
Merge TUI and GUI binaries, using a new name
The appropriate interface will be chosen automatically.
2023-06-11 18:08:03 +02:00
Přemysl Eric Janouch 2ed1c005c9
Import liberty for its manpage generator
It cannot parse the page well, so it's just a convenience fallback.
2023-06-10 12:12:42 +02:00
Přemysl Eric Janouch b0f1d3d6ea
Build with AsciiDoc as well as Asciidoctor
And bump copyright years.
2022-08-24 00:55:32 +02:00
Přemysl Eric Janouch 2e684d2f4e
Clean up cross-compilation 2022-08-10 16:04:10 +02:00
Přemysl Eric Janouch 2ff01f9fdb
sdgui: support text selection in the view
This is generally an improvement over the initial GtkLabel approach:
 - Multiple definition lines can be selected at once.
 - The widget doesn't keep a selection caret around (which means
   it can't be controlled from the keyboard, a conscious trade-off).
 - Text doesn't needlessly go to PRIMARY immediately during selection,
   making it somewhat possible lift the self-exception for
   the PRIMARY selection watch.

Closes #2
2022-08-04 05:23:09 +02:00
Přemysl Eric Janouch b36f185426
Fix various macOS-related/found issues
Even though this software isn't very useful on that system either,
due to its lack of PRIMARY.
2021-11-02 17:04:37 +01:00
Přemysl Eric Janouch dd5e90a324
CMakeLists.txt: update icon cache after cleanup
docs/iconcache.txt says the format is machine-independent.

It does not seem to result in any noticeable improvement.
2021-11-01 08:42:41 +01:00
Přemysl Eric Janouch 8c80aa9da2
CMakeLists.txt: configure NSIS
- Install a link to sdgui to the Start Menu.
 - Associate the .ifo file extension with sdgui.
 - Change the installation directory name to contain a space,
   rather than a dash, since that appears to be the norm.
   It's also copied over to the display name.

And thus, the GUI has become somewhat usable on Windows.
2021-10-27 22:52:29 +02:00
Přemysl Eric Janouch 9aa26e2807
CMakeLists.txt: think of older versions
At minimum it documents the novelty of the command argument.
2021-10-27 19:54:02 +02:00
Přemysl Eric Janouch f7528a05a3
CMakeLists.txt: refactor icon generation 2021-10-27 19:23:47 +02:00
Přemysl Eric Janouch 46e9b7b584
sdgui: rasterize some icons, including for Windows 2021-10-27 09:48:57 +02:00
Přemysl Eric Janouch c75de30765
sdgui: create and install a program icon 2021-10-27 09:46:17 +02:00
Přemysl Eric Janouch 451859e976
Fix the test target and unargumented ctest
CMake does know how to be tough on users, but we've won at last.
2021-10-27 00:18:01 +02:00
Přemysl Eric Janouch 0f45b9bf3b
Test the project's XMLs for well-formedness
But only if the respective binaries can be found.
2021-10-26 23:34:04 +02:00
Přemysl Eric Janouch 27a9869a6a
Trim down the Windows build a bit
Remove most unused Adwaita icons and cursors, it's about 30 mebibytes
of raw bullshit that doesn't seem to be missing in any shape or form.

Rather sadly, the script is too complex to be rewritten in CMake script.
2021-10-26 11:31:50 +02:00
Přemysl Eric Janouch dc36a88968
Improve GLib deprecation disabling
Added a match against the version stated in the README.
2021-10-24 16:30:44 +02:00
Přemysl Eric Janouch cbdb1cfaa6
Remove unnecessary DLLs from Windows builds
This saves 21 MiB of MSYS2 libraries, without any adverse effects.

The MSYS2 build remains bloated, due to the Adwaita icon theme.
2021-10-23 18:27:43 +02:00
Přemysl Eric Janouch 462428d0a2
sdgui: the firstclassing continues 2021-10-22 02:20:04 +02:00
Přemysl Eric Janouch 89580f2113
sdgui: cross-compile for Windows
No one bothered to ask whether it /should/ be done.

The hamburger needs to be replaced with a file open dialog there.
2021-10-22 01:59:09 +02:00
Přemysl Eric Janouch 5216205056
README: make sdgui more of a first-class citizen 2021-10-17 11:25:32 +02:00
Přemysl Eric Janouch 33e98881ad
sdgui: add a MIME-associated desktop file
Neither StarDict nor shared-mime-info have their own MIME DB file.
2021-10-16 09:00:31 +02:00
Přemysl Eric Janouch 573554b9de
sdgtk -> sdgui, improve build, mention in README
It's finally not horrible.
2021-10-15 12:09:37 +02:00
Přemysl Eric Janouch 9d7bc2a839
sdgtk: add and use a custom listview widget
Nothing in GTK+ appears to be suited for what are virtually infinite
lists.  Our workaround with GtkLabel and GtkScrolledWindow has been
heavily suboptimal and needs to be replaced.

Use Pango directly to handle our relatively simple needs.

Upgrades:
 - the widget can be scrolled,
 - keywords are repeated for each definition line,
 - definition lines are now wrapped, and support 'g' and 'x' fields.

Downgrades:
 - text can no longer be selected, so far.
2021-10-15 11:46:09 +02:00
Přemysl Eric Janouch 8b9c5e0460
Add the Czech WordNet snapshot to dicts 2021-10-10 00:45:38 +02:00
Přemysl Eric Janouch ed8b1bcdad
Add sample dictionary downloaders/builders 2021-10-07 14:06:57 +02:00
Přemysl Eric Janouch 6c364dc997
Add an implementation of tabfile
The original one is a horrible thing.  Now we're self-reliant.
2021-10-06 22:04:55 +02:00
Přemysl Eric Janouch 03f2123447
GLib-related improvements
Now all error messages produced by tools should be in the right
encoding, even if the system isn't in UTF-8.
2021-10-06 16:11:55 +02:00
Přemysl Eric Janouch 911749475e
CMakeLists.txt: omit end{if,foreach} expressions
Their usefulness was almost negative.
2020-10-29 15:43:05 +01:00
Přemysl Eric Janouch d2fa9f3151
Convert the manpage to AsciiDoc
Writing DocBook XML by hand is an awful experience and the tools aren't
much better.  Asciidoctor does it well.  There's no need to worry about
semantics, man(1) just needs to be able to show something at all.

This project's manpage is sadly almost useless right now.
2020-10-26 17:06:13 +01:00
Přemysl Eric Janouch 7743e21bca
Bump minimum CMake version to 3.0
A nice, round number.  This allows us to remove some boilerplate.
2020-10-26 15:16:46 +01:00
Přemysl Eric Janouch aa19848499
Add an experimental GTK+ UI
It has a potential to stay simpler than the TUI,
while having a wider feature set.

Not building this toy by default, it needs some time investment.
2020-09-08 05:02:14 +02:00
Přemysl Eric Janouch 74f2bcae34
Get rid of one CMake dev warning 2020-09-07 18:39:59 +02:00
Přemysl Eric Janouch 8d19acd91a
Add a tool to transform dictionaries 2020-09-04 00:13:34 +02:00
Přemysl Eric Janouch 37bf8ee648
Name change 2020-09-02 16:27:45 +02:00
Přemysl Eric Janouch 675139edb0
Disable GLib deprecation warnings
Not very useful.
2020-04-15 07:07:47 +02:00
Přemysl Eric Janouch 942bda7db4
Use XCB and SelectSelectionInput instead of GTK+
As it happens, there is no real need to constantly poll for changes,
since XFixes can inform us of updates as they happen.

With GTK+ gone we've got dependencies and error handling under control.
XCB is a truly awful thing to learn, though.

Our method will never work on Wayland or Windows, so we don't miss out
on anything by abandoning the huge toolkit.
2018-09-23 06:38:03 +02:00
Přemysl Eric Janouch e5faed57c2
Relicense to 0BSD, update mail address
I've come to the conclusion that copyright mostly just stands in the way
of software development.  In my jurisdiction I cannot give up my own
copyright and 0BSD seems to be the closest thing to public domain.

The updated mail address, also used in my author/committer lines,
is shorter and looks nicer.  People rarely interact anyway.
2018-06-24 05:23:31 +02:00
Přemysl Eric Janouch 8dc0176c41
CMakeLists.txt: fix variable name 2018-06-24 05:22:51 +02:00
Přemysl Eric Janouch 77968ea165
CMakeLists.txt: clarify comments 2017-06-20 06:32:06 +02:00
Přemysl Eric Janouch 4f9c638798 CMakeLists.txt: use more succint variables 2016-03-15 21:56:07 +01:00
Přemysl Eric Janouch 38890be47d Fix manpage installation 2016-03-15 21:53:52 +01:00
Přemysl Eric Janouch c5dbe5fa44 Don't force compilation flags 2016-03-14 21:28:44 +01:00
Přemysl Eric Janouch c04ab011d1 Try harder to find ncursesw 2016-01-14 20:32:04 +01:00
Přemysl Eric Janouch e7e92231fa Use optional dependencies opportunisticaly 2015-10-01 22:27:35 +02:00
Přemysl Eric Janouch 1ef34fbb92 Travis CI: Try to fix searching for ICU config 2015-02-24 20:33:51 +01:00
Přemysl Eric Janouch 2abbe7017f Add a custom collation mechanism
A lot better than that StarDict shitfuckery.
2015-02-24 09:27:38 +01:00
Přemysl Eric Janouch a9bc1d8751 Add support for watching the primary selection
Depends on GTK+, which should make it work with all of X11, Wayland, and Mir.
2015-02-07 21:05:32 +01:00