Commit graph

97 commits

Author SHA1 Message Date
Tom Hinton
0a953a03b4 Make fuzzy matching fast and unicode-happy 2015-10-01 13:45:23 +01:00
Tom Hinton
af6a4b83eb Make normal filtering of plain ASCII lines faster
This patch adds a field lines_not_ascii to the MenuState structure. The
nth entry is 0 unless the nth member of MenuState.lines has a non-ascii
codepoint in it.

All comparison functions (menu_match_cb type) take an additional
argument to tell them if the thing they are matching is not_ascii. They
can use this to determine whether to collate and case-fold the
input (for non-ascii strings), or whether to use strstr/strcasestr (for
ascii strings).

The change is not currently implemented for flex matching, due to my
laziness. However, it should be a simple enough matter to add.

For my large input of 400,000 lines, this reduces typical filtering time
to about ten microseconds from about 2 seconds.
2015-10-01 12:16:41 +01:00
Tom Hinton
574bf2da82 Make dmenu reading very marginally faster
A slight reduction in use of realloc and avoidance of 3 or 4 strlens for
a string we know the length of
2015-10-01 11:41:44 +01:00
QC
023bb23bcf Support \0 2015-09-20 20:05:04 +02:00
QC
b18d68eff2 Adjust new editor width 2015-09-19 12:57:48 +02:00
QC
442e235c24 Some cleanups, tweak uncrustify. 2015-09-19 12:21:30 +02:00
QC
89dcb5be1e Remove unused function 2015-08-29 11:57:04 +02:00
Dave Davenport
353e82b27d Allow 0 line margin 2015-08-27 07:35:34 +02:00
QC
2277501566 Cleanup drawing a bit. 2015-08-26 21:49:53 +02:00
Dave Davenport
1ca7141621 Add quick solution for #202, expose line-margin setting. 2015-08-04 09:42:14 +02:00
QC
5777ee57e5 Remove use of g_close, not available on travis 2015-08-02 15:56:52 +02:00
Dave Davenport
dffc27e5aa Try to make things more robust, e.g. try to recover before giving up. 2015-07-31 12:23:41 +02:00
Dave Davenport
69c75971f3 Print error to stderr when fclose fails. 2015-07-31 10:21:32 +02:00
Dave Davenport
8d6a78939c Small cleanup + fail more gracefull here and there 2015-07-30 08:57:09 +02:00
Dave Davenport
93c01ccbd5 Add new event handling 2015-07-28 22:22:18 +02:00
QC
d60f6701de Add patches from BSD (hopefully ok?) 2015-07-04 15:36:11 +02:00
Dave Davenport
98b8e583cb Make fuzzy matching available everywhere: #133 (-fuzzy) 2015-07-01 09:12:22 +02:00
Dave Davenport
30743d1789 Move fuzzy_token_match to where it can be reused. 2015-06-28 13:53:37 +02:00
QC
354ccdd94d Fix Issue #164 2015-05-16 13:58:09 +02:00
QC
a38ddb3b06 Fix space. 2015-04-14 22:12:21 +02:00
QC
9ff5a615e9 Add combi viewer.
Use by adding combi to the list of enabled modi.
2015-03-30 20:12:22 +02:00
QC
b21368c005 OO-ify the Switchers. 2015-03-27 20:28:53 +01:00
Dave Davenport
42b86015c3 Make pointers static. 2015-03-12 08:39:50 +01:00
Dave Davenport
4fad02225e Cleanup argc/argv lugging around. 2015-03-11 18:32:37 +01:00
Dave Davenport
444d09b905 Update spell. 2015-03-05 20:26:52 +01:00
Dave Davenport
2474575a90 Small move. 2015-02-19 13:44:59 +01:00
Qball Cow
3b18c28792 Remove unused function. 2015-02-17 14:27:12 +01:00
Dave Davenport
a534a0f244 Rewrite of the configuration parsing, no longer duplicating options between Xrm and CMD.
* NEEDS TESTING.
2015-02-17 10:31:59 +01:00
Dave Davenport
bda97e0849 Throw a warning when using old commandline arguments.
* Give error on -now, -rnow, -snow, -key, -skey, -rkey
        * Update manpage.
2015-02-16 09:07:05 +01:00
QC
dee0bfb821 Fix #128: Better handling of keybindings and remove deprecated launching.
See manpage.
2015-02-15 21:15:16 +01:00
Dave Davenport
8347963ed8 Fix some warnings from clang-check. 2015-02-13 15:37:55 +01:00
QC
877c8051c6 Update copyright license. 2015-02-12 22:34:06 +01:00
Dave Davenport
a50219e903 Remove hmode. (Rather no implementation then a bad one.) 2015-02-10 07:42:40 +01:00
Dave Davenport
d9aef65ea7 Cleanups. 2015-02-04 09:37:34 +01:00
Dave Davenport
63fd534ba2 Move data around, constness, etc. 2015-02-03 08:21:59 +01:00
Dave Davenport
f86cf8988b Move stuff around. Try to reduce size rofi.c. 2015-02-03 08:00:33 +01:00
QC
b74e6b791a Fix not grabbing keyboard, and add pid file to ensure one instance. 2015-01-31 18:23:17 +01:00
Dave Davenport
a00cfbb5b0 Small cleanup and reducing of scopes. 2015-01-15 17:59:59 +01:00
QC
e166fa3d8e Move indicator to end of entry box. 2015-01-13 11:48:38 +01:00
Edwin Pujols
d1ba4bd8dc Fix #102 - Add case sensitivity. 2015-01-12 09:25:20 -04:00
Dave Davenport
a28b6df307 Add support custom command. 2015-01-05 21:53:50 +01:00
Dave Davenport
781ca03f02 Small moving to helper. 2014-12-02 09:09:20 +01:00
Dave Davenport
2c9f33a1bd More commenting.
Code    Comment  Comment %      Blank      Total  File
------  ---------  ---------  ---------  ---------  -----------------
    36         69      65.7%          2        107  config.c
    66         31      32.0%         14        111  dmenu-dialog.c
   185         52      21.9%         19        256  helper.c
   179         66      26.9%         27        272  history.c
  1896        325      14.6%        345       2566  rofi.c
   197         45      18.6%         42        284  run-dialog.c
   144         31      17.7%         24        199  script-dialog.c
   171         42      19.7%         31        244  ssh-dialog.c
   350         69      16.5%         84        503  textbox.c
   151         37      19.7%         27        215  xrmoptions.c
    26          0       0.0%          5         31  helper-test.c
    65          6       8.5%         35        106  history-test.c
   109          5       4.4%         22        136  textbox-test.c
    34         33      49.3%         24         91  config.h
     5         10      66.7%          4         19  dmenu-dialog.h
    11         70      86.4%         10         91  helper.h
     9         46      83.6%          8         63  history.h
    83        128      60.7%         17        228  rofi.h
     4          8      66.7%          2         14  run-dialog.h
    11         26      70.3%          5         42  script-dialog.h
     4          8      66.7%          2         14  ssh-dialog.h
    64        142      68.9%         31        237  textbox.h
     6         13      68.4%          4         23  xrmoptions.h
2014-11-25 12:57:34 +01:00
QC
66349a00dc Small updates. 2014-11-15 16:26:55 +01:00
QC
f728e3f03e Add separator option. 2014-10-19 19:42:02 +02:00
QC
15bee1f543 Add source files and man page.
* Add bugtracker to manpage.
        * Print msg to stderr, when error dialog not available.
2014-09-06 14:57:30 +02:00
Dave Davenport
0462811800 Add flexible configuration for launching
* You can now specify links: {terminal} -e bash -e "{ssh-client} {host}"
    * Add test for this code.
2014-09-03 13:07:26 +02:00