Commit Graph

184 Commits

Author SHA1 Message Date
Přemysl Eric Janouch 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
Přemysl Eric Janouch 85ca0c5857
sdtui: normalize whitespace in clipboard input 2021-07-03 11:36:46 +02:00
Přemysl Eric Janouch bb4e732a25
Bump termo 2020-10-29 15:57:14 +01:00
Přemysl Eric Janouch 911749475e
CMakeLists.txt: omit end{if,foreach} expressions
Their usefulness was almost negative.
2020-10-29 15:43:05 +01:00
Přemysl Eric Janouch f15fc0f00a
Cleanup 2020-10-26 17:57:24 +01:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch d7f502a731
Bump termo 2020-10-26 15:16:47 +01:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 504f1ce2f5
Bump termo 2020-09-14 18:07:12 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 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
Přemysl Eric Janouch 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
Přemysl Eric Janouch fda956093c
Update copyright years within the program 2020-09-07 19:05:16 +02:00
Přemysl Eric Janouch 74f2bcae34
Get rid of one CMake dev warning 2020-09-07 18:39:59 +02:00
Přemysl Eric Janouch 695f71d946
tools: clean up error message printing 2020-09-04 00:13:34 +02:00
Přemysl Eric Janouch 8d19acd91a
Add a tool to transform dictionaries 2020-09-04 00:13:34 +02:00
Přemysl Eric Janouch dd2bd04a07
Fix a typo 2020-09-03 23:15:59 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 37bf8ee648
Name change 2020-09-02 16:27:45 +02:00
Přemysl Eric Janouch 675139edb0
Disable GLib deprecation warnings
Not very useful.
2020-04-15 07:07:47 +02:00
Přemysl Eric Janouch 1289c98ca8
Bump to GLib 2.38 because of deprecation warnings 2020-04-15 07:00:36 +02:00
Přemysl Eric Janouch fcc0c3ef2d
Fix an unimportant memory leak 2018-09-23 11:45:23 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 86417d512b
Re-shuffle code, no functional changes 2018-09-23 06:38:03 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch b0d3b2dcb5
Strip whitespace from clipboard contents 2018-06-30 13:23:30 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch f09628dabd
Update README 2018-06-24 05:23:48 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 8dc0176c41
CMakeLists.txt: fix variable name 2018-06-24 05:22:51 +02:00
Přemysl Eric Janouch a6c319876e
Bump termo 2018-06-24 05:20:17 +02:00
Přemysl Eric Janouch 80306c5779
Skip combining marks in the editor
For slightly more correct Unicode handling.
2017-06-27 20:03:38 +02:00
Přemysl Eric Janouch b0e5055f42
Bump termo 2017-06-20 06:37:39 +02:00
Přemysl Eric Janouch 350fc94b70
Update README 2017-06-20 06:37:28 +02:00
Přemysl Eric Janouch 77968ea165
CMakeLists.txt: clarify comments 2017-06-20 06:32:06 +02:00
Přemysl Eric Janouch 3067e15929
Fix and update LICENSE 2017-02-03 23:14:34 +01:00
Přemysl Eric Janouch 70b5d175b2
Travis CI: brevify notifications 2017-02-03 23:12:52 +01:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 77918d8a8c
Fix some character width counting 2016-10-22 23:38:00 +02:00
Přemysl Eric Janouch fc395d4068
Fix mouse clicks on full width characters 2016-10-22 23:29:29 +02:00
Přemysl Eric Janouch 6155c9bf91
Try to make the view full 2016-10-22 23:10:58 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch e06d9c9f71
Tiny enhancements and cleanups 2016-10-18 20:46:38 +02:00
Přemysl Eric Janouch 6f91f8131a
Microoptimization
It hurts me to see wasted mallocs.
2016-10-18 19:06:51 +02:00
Přemysl Eric Janouch a63db9d978
Fix regression in GLib message handler 2016-10-12 22:21:15 +02:00
Přemysl Eric Janouch 1f811d903e
Don't increment the result from GUINT_TO_POINTER
Increment the argument instead.
2016-10-08 09:21:54 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 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
Přemysl Eric Janouch 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
Přemysl Eric Janouch 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