Commit Graph

64 Commits

Author SHA1 Message Date
fafac22d60 Bump liberty
All checks were successful
Arch Linux AUR Success
2024-02-10 05:46:13 +01:00
58f7ba55b3 CMakeLists.txt: declare compatibility with 3.27
Sadly, the 3.5 deprecation warning doesn't go away after this.
2023-08-01 03:09:31 +02:00
d2cfc2ee81 Deduplicate CMake scripts 2023-07-24 11:47:33 +02:00
8af337c83c CMakeLists.txt: fix dependencies after renaming 2023-06-22 00:23:29 +02:00
951208c15b Test SVG and desktop file validity 2023-06-15 16:24:16 +02:00
c77d994dc4 Rename tools, make them installable 2023-06-11 18:08:03 +02:00
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
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
b0f1d3d6ea Build with AsciiDoc as well as Asciidoctor
And bump copyright years.
2022-08-24 00:55:32 +02:00
2e684d2f4e Clean up cross-compilation 2022-08-10 16:04:10 +02:00
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
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
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
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
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
f7528a05a3 CMakeLists.txt: refactor icon generation 2021-10-27 19:23:47 +02:00
46e9b7b584 sdgui: rasterize some icons, including for Windows 2021-10-27 09:48:57 +02:00
c75de30765 sdgui: create and install a program icon 2021-10-27 09:46:17 +02:00
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
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
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
dc36a88968 Improve GLib deprecation disabling
Added a match against the version stated in the README.
2021-10-24 16:30:44 +02:00
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
462428d0a2 sdgui: the firstclassing continues 2021-10-22 02:20:04 +02:00
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
5216205056 README: make sdgui more of a first-class citizen 2021-10-17 11:25:32 +02:00
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
573554b9de sdgtk -> sdgui, improve build, mention in README
It's finally not horrible.
2021-10-15 12:09:37 +02:00
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
8b9c5e0460 Add the Czech WordNet snapshot to dicts 2021-10-10 00:45:38 +02:00
ed8b1bcdad Add sample dictionary downloaders/builders 2021-10-07 14:06:57 +02:00
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
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
911749475e CMakeLists.txt: omit end{if,foreach} expressions
Their usefulness was almost negative.
2020-10-29 15:43:05 +01:00
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
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
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
74f2bcae34 Get rid of one CMake dev warning 2020-09-07 18:39:59 +02:00
8d19acd91a Add a tool to transform dictionaries 2020-09-04 00:13:34 +02:00
37bf8ee648 Name change 2020-09-02 16:27:45 +02:00
675139edb0 Disable GLib deprecation warnings
Not very useful.
2020-04-15 07:07:47 +02:00
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
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
8dc0176c41 CMakeLists.txt: fix variable name 2018-06-24 05:22:51 +02:00
77968ea165 CMakeLists.txt: clarify comments 2017-06-20 06:32:06 +02:00
4f9c638798 CMakeLists.txt: use more succint variables 2016-03-15 21:56:07 +01:00
38890be47d Fix manpage installation 2016-03-15 21:53:52 +01:00
c5dbe5fa44 Don't force compilation flags 2016-03-14 21:28:44 +01:00
c04ab011d1 Try harder to find ncursesw 2016-01-14 20:32:04 +01:00
e7e92231fa Use optional dependencies opportunisticaly 2015-10-01 22:27:35 +02:00