f147b54393
sdgui: load dictionaries from sdtui configuration
2021-10-16 06:46:44 +02:00
10c05a2422
sdgui: clean-up
...
It doesn't seem like we'll want to remember the position.
2021-10-16 03:45:38 +02:00
8fb2ce29cf
sdgui: clean up scrolling code
2021-10-15 23:59:45 +02:00
ce92a23551
sdgui: scroll by three rows
...
Don't use an arbitrary amount of pixels, base it off the font.
2021-10-15 23:09:26 +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
3d53b2c131
Fix g_option_context_get_help() usage
2021-10-12 02:39:16 +02:00
627c296057
query-tool: support more field types
...
Add options to format the output for the terminal, or IRC messages.
Changed the output format to separate dictionary name with a tab,
so it's now rather similar to tabfiles.
2021-10-12 02:38:40 +02:00
e2790b42f3
sdtui: fix introductory message centring
2021-10-11 21:15:11 +02:00
9b220b74cc
sdtui: minor rendering clean-up
2021-10-11 21:15:11 +02:00
6f569e076e
sdtui: further improve the XML mangler
...
Comments should be more or less reliably handled by GMarkup now.
2021-10-11 06:32:00 +02:00
e57751fe0e
sdtui: skip keywords in XDXF
2021-10-11 02:43:34 +02:00
4d6cd247cb
sdtui: implement elementary XDXF display
...
We're lacking word wrapping, but it's more or less usable.
2021-10-11 02:43:30 +02:00
16d6eaf012
sdtui: support <b>/<i>/<u> in Pango entries
2021-10-10 06:13:49 +02:00
bc939712cb
sdtui: lay the groundwork for formatted entries
2021-10-10 06:13:49 +02:00
6f7fbbb438
sdtui: keep the per-ViewEntry GPtrArrays
2021-10-10 06:13:48 +02:00
39ff4069c0
tabfile: fix file format version downgrade
2021-10-10 01:57:51 +02:00
fbfd8c7d02
tabfile: add support for writing Pango markup
...
Enabling this option will ensure the field would parse.
2021-10-10 01:52:15 +02:00
20fcf2a0c7
tabfile: make it possible to set metadata
...
And some related clean-up.
2021-10-07 16:28:44 +02:00
3881725904
tabfile: remember to check UTF-8, glibize
2021-10-06 22:11:21 +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
690402f2e1
Unbreak stardict_dict_get_synonyms()
...
Untested, but certainly broken six ways to Sunday before.
2021-10-06 20:14:49 +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
3c87b95c31
Make Tab put the current definition into search
...
Moving some X11-only code out.
2021-10-06 13:44:54 +02:00
2b5eb86a9f
sdtui: enable styling of defocused selected rows
...
The defaults are unaffected, the row is always reverse, like it used to.
Having the deselected row just be underlined seems sensible.
It isn't currently possible to change /just/ the foreground or
the background colour of the selection, due to how ncurses works
with colours.
Bumped termo to enable requesting the appropriate events.
2021-07-03 11:44:01 +02:00
85ca0c5857
sdtui: normalize whitespace in clipboard input
2021-07-03 11:36:46 +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
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
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
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
d93b241a65
Silence a warning
...
We don't care if we read a byte from the pipe.
2015-02-14 06:16:17 +01:00
61ad99b611
Make more use of xstrtoul()
2015-02-07 22:11:53 +01:00
99116d0f70
Update information texts and copyrights
2015-02-07 21:38:27 +01:00
e1643289c5
Cancel selection confirmation when following the selection
2015-02-07 21:13:34 +01:00
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
627248bd1f
React to mouse wheel scrolling
2015-02-07 20:36:45 +01:00
4730cc47e1
Hide the help in app_search_for_entry()
2015-02-07 20:35:09 +01:00
6e42b07d20
Or let's rather do it like this
2015-02-01 22:44:16 +01:00
08ed996fe1
Tell termo to convert DEL to Backspace
...
Now backspace works in tmux.
2015-02-01 22:32:49 +01:00