Commit Graph

65 Commits

Author SHA1 Message Date
2fe846f09f
Fix running tests in Windows builds
All checks were successful
Arch Linux AUR Success
Alpine 3.19 Success
2024-04-10 12:48:05 +02:00
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