Commit Graph

180 Commits

Author SHA1 Message Date
f15fc0f00a Cleanup 2020-10-26 17:57:24 +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
d7f502a731 Bump termo 2020-10-26 15:16:47 +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
504f1ce2f5 Bump termo 2020-09-14 18:07:12 +02:00
e47667b28a sdgtk: don't follow our own selection
When the main window is focused, we are probably the owner of it.
2020-09-14 02:02:38 +02: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
588b6ef8bb Fix a segfault when search goes past the end
Removing a preprocessor macro in favor of a normal function.
2020-09-08 05:01:31 +02:00
fda956093c Update copyright years within the program 2020-09-07 19:05:16 +02:00
74f2bcae34 Get rid of one CMake dev warning 2020-09-07 18:39:59 +02:00
695f71d946 tools: clean up error message printing 2020-09-04 00:13:34 +02:00
8d19acd91a Add a tool to transform dictionaries 2020-09-04 00:13:34 +02:00
dd2bd04a07 Fix a typo 2020-09-03 23:15:59 +02:00
bbe22712fe Enable switching among more than 10 dictionaries
Ctrl + PageUp/PageDown/Left/Right now change the active tab.
2020-09-02 16:29:59 +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
1289c98ca8 Bump to GLib 2.38 because of deprecation warnings 2020-04-15 07:00:36 +02:00
fcc0c3ef2d Fix an unimportant memory leak 2018-09-23 11:45:23 +02:00
2efaed1a56 Implement the INCR ICCCM selection mechanism
xcb_get_property is now also called with a length that is a multiple
of four so that we advance the offset properly.

Some cleanup.

Selection code should work pretty well by now.  The amount of code
supporting it has more than doubled since GTK+.
2018-09-23 11:45:13 +02:00
86417d512b Re-shuffle code, no functional changes 2018-09-23 06:38:03 +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
b0d3b2dcb5 Strip whitespace from clipboard contents 2018-06-30 13:23:30 +02:00
4b191cce3d Remove .travis.yml
We don't depend on any proprietary services no longer.  I'll have to
make my own replacements with blackjack and hookers.  Until then,
the file stays in the commit log as an example.
2018-06-24 05:24:03 +02:00
f09628dabd Update README 2018-06-24 05:23:48 +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
a6c319876e Bump termo 2018-06-24 05:20:17 +02:00
80306c5779 Skip combining marks in the editor
For slightly more correct Unicode handling.
2017-06-27 20:03:38 +02:00
b0e5055f42 Bump termo 2017-06-20 06:37:39 +02:00
350fc94b70 Update README 2017-06-20 06:37:28 +02:00
77968ea165 CMakeLists.txt: clarify comments 2017-06-20 06:32:06 +02:00
3067e15929 Fix and update LICENSE 2017-02-03 23:14:34 +01:00
70b5d175b2 Travis CI: brevify notifications 2017-02-03 23:12:52 +01:00
2357b67f23 Make prefix matching behave better
It seems to me that we _do_ want to ignore diacritics most of the time.

I've also fixed the fallback.
2016-10-23 00:33:30 +02:00
77918d8a8c Fix some character width counting 2016-10-22 23:38:00 +02:00
fc395d4068 Fix mouse clicks on full width characters 2016-10-22 23:29:29 +02:00
6155c9bf91 Try to make the view full 2016-10-22 23:10:58 +02:00
dcfc9bfd22 Disallow scrolling down too much
The ability to scroll past the end was rather unusual.

You can still achieve that by searching and resizing the window now.
2016-10-18 20:46:51 +02:00
e06d9c9f71 Tiny enhancements and cleanups 2016-10-18 20:46:38 +02:00
6f91f8131a Microoptimization
It hurts me to see wasted mallocs.
2016-10-18 19:06:51 +02:00
a63db9d978 Fix regression in GLib message handler 2016-10-12 22:21:15 +02:00
1f811d903e Don't increment the result from GUINT_TO_POINTER
Increment the argument instead.
2016-10-08 09:21:54 +02:00
a7068157f2 Parallelize dictionary loading
It gives me about 2.5 times speed-up on a 4-core CPU.

It could be even better and I mainly blame GLib.
2016-10-08 03:39:06 +02:00
26155227c7 Simplify the collation mess
Brings a bit worse performance on load since more memory is being
reordered but it seems to be worth it.
2016-10-08 01:20:09 +02:00
36236955e5 Simplify, optimize terminal output
Finally getting rid off app_add_utf8_string().

Just like in nncmpp, the dependency on ncurses is now a bit narrower.
2016-10-07 18:35:27 +02:00
0d779d718b Improve memory usage
By avoiding unnecessary fragmentation in indexes.

With a larger set of dictionaries, I've observed a ~20% improvement.
2016-10-07 17:30:57 +02:00
a1b7e84c6a Fix example configuration in README 2016-10-07 17:27:28 +02:00
930ce8a944 Fix regression in locale support 2016-10-07 17:26:56 +02:00
3c5eae978d Update more copyright years 2016-09-28 16:25:19 +02:00
5e3f62e457 Update translations 2016-09-28 16:20:18 +02:00