Commit Graph

109 Commits

Author SHA1 Message Date
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
80306c5779 Skip combining marks in the editor
For slightly more correct Unicode handling.
2017-06-27 20:03:38 +02:00
3067e15929 Fix and update LICENSE 2017-02-03 23:14:34 +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
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
ee37895206 Update documentation 2016-09-28 16:11:56 +02:00
38b463c883 Move the -w switch to the configuration file
Update README accordingly.

Woo, I get to remove code.
2016-09-28 06:01:13 +02:00
b3458d84a0 Handle mouse clicks on dictionary names 2016-09-28 05:27:53 +02:00
1f60d096ea Fix mouse in the search bar 2016-09-28 05:27:22 +02:00
30345ec8d4 Show all dictionaries in the header
Make the style of the active dictionary's name configurable.
2016-09-28 05:05:24 +02:00
4f0a47d5f7 Allow loading multiple dictionaries
They can also be specified in the configuration.

They can be switched between using Alt+<number>.
2016-09-28 04:30:15 +02:00
a063328ac8 Fix performance regression
Avoid stepping through the entire dictionary

When looking for the first match with an empty common prefix.
2016-09-28 04:17:08 +02:00
f453b9dd43 Extract get_xdg_config_dirs() 2016-09-28 04:16:00 +02:00
021fdcc97c Use GLib booleans 2016-09-28 03:05:39 +02:00
ff0ec60931 Validate encoding in .ifo files 2016-09-28 03:03:42 +02:00
474bcb518a Make app_load_config() return any error 2016-09-28 00:14:11 +02:00
db0579b7a0 Improve partial matches 2016-09-27 03:47:36 +02:00
da6c46cba9 Fix common prefix search with no collator 2016-09-27 03:35:14 +02:00
08fdad56eb Fix Travis build 2016-09-26 21:14:13 +02:00
5ee562faf4 Make it possible to disable prefix highlighting 2016-09-26 21:06:51 +02:00
81d702ed66 Add a configuration file
Now you can have pretty colors w/o having to hardcode them.
The selection is rather limited for now, though.

Search "centering" can now be disabled by default as well.
2016-09-26 21:06:51 +02:00
4755033781 Fix bottom right corner 2016-09-26 20:50:38 +02:00
a591041912 Highlight the longest matching prefix of entries 2016-09-26 15:59:26 +02:00
a87aca9c76 Refactor app_add_utf8_string() 2016-09-26 14:14:01 +02:00
f1624095f8 Update copyright years 2016-09-25 22:24:35 +02:00
61f8b134a9 Fix transcoding on OpenBSD 2016-01-14 22:52:46 +01:00
e740854dd2 Center the view on search
A lot of the time a better match is actually before the point
where we expect the entry to be.

Can be turned off with Alt-C.
2015-07-25 17:01:42 +02:00
1b15b52087 Formatting: leftovers 2015-02-28 21:21:21 +01:00
25366d369b Refactoring 2015-02-27 23:50:32 +01:00
6fb83a4043 Don't let GLib/GTK+ draw messages over curses 2015-02-27 23:42:24 +01:00
7db828f62b Handle SIGINT/SIGTERM properly 2015-02-27 23:36:56 +01:00
10240c716a Formatting 2015-02-26 23:29:45 +01:00
2f0852ec05 Handle search field overflow a bit better
Make sure the cursor doesn't overflow where it doesn't belong.
2015-02-24 23:52:36 +01:00
f4b29a980c Add a near-useless bar on top with bookname 2015-02-24 23:42:15 +01:00
9f8af6c27b Fix build with ICU versions < 50
I'll try to describe my feelings with this excerpt from
David Firth's video "Take This Pill":

  PAIN.

  *oooowww...*

  Hurts, doesn't it?

  *...wwwwwww*
2015-02-24 21:39:45 +01:00
ccfa92ba2a Fix reporting of unknown .ifo keys 2015-02-24 09:27:38 +01:00
2abbe7017f Add a custom collation mechanism
A lot better than that StarDict shitfuckery.
2015-02-24 09:27:38 +01:00