Commit graph

240 commits

Author SHA1 Message Date
Dave Davenport
e54e012500 Issue: #381: Try to handle X11 input and UTF-8 better.
In window_get_text_prop do conversion when input is of type STRING. (latin1) to utf8.
Dmenu: don't skip invalid lines, but try to display as much as possible.
Window mode: Double check all input from X.
2016-04-10 12:05:34 +02:00
Dave Davenport
d36ae81408 Fix positioning window on top of window. 2016-03-20 10:16:55 +01:00
Dave Davenport
a2869ef39d Make clang static code analyzer happy (300+ -> 5) 2016-03-19 13:29:04 +01:00
Quentin Glidic
f5231ca24d rofi: Allow fullscreen on specified monitor
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-03-18 09:21:36 +01:00
Dave Davenport
d99111c73b Remove deprecated theme system. 2016-03-05 18:28:39 +01:00
Dave Davenport
f0b1998703 Cleanups (cppcheck) 2016-03-02 18:07:59 +01:00
Dave Davenport
f05f0de583 Fix #348, give a warning when font failed to parse 2016-03-01 19:48:18 +01:00
Dave Davenport
7d046a1f5b Pack magic externs into a xcb_stuff. 2016-03-01 18:11:55 +01:00
Dave Davenport
131b8eaaea Remove dead code 2016-02-28 18:33:01 +01:00
Dave Davenport
a4fd907fe8 Run indenter 2016-02-28 15:32:53 +01:00
Dave Davenport
4c661c3932 Move most of window modi to xcb 2016-02-27 22:55:47 +01:00
Dave Davenport
a02cb83a98 Move more to xcb. 2016-02-27 20:45:47 +01:00
Dave Davenport
758d155a20 Fixing. 2016-02-19 20:08:14 +01:00
Dave Davenport
6e3bb506de Full mainloop madness 2016-02-19 19:50:48 +01:00
Dave Davenport
5a86ae5c99 Cleanups 2016-02-08 09:03:11 +01:00
Gareth Poole
5bb2414a2b Fix spelling error 2016-01-30 17:04:14 -05:00
Dave Davenport
51b5511017 More doxygen sugar. 2016-01-07 16:01:56 +01:00
Dave Davenport
d661a515f0 Make levenshtein sort utf8 aware and obey case sensitive setting.
- Add tests.
        - Use Glibs unichar for comparison.
2016-01-04 17:18:49 +01:00
Dave Davenport
5a3c202423 Update copyright 2016-01-01 00:27:00 +01:00
Dave Davenport
eaa553bfd5 Indent. 2015-12-03 22:48:30 +01:00
Dave Davenport
91e0f6b555 Fix small char s/u issue 2015-12-02 17:46:17 +01:00
Dave Davenport
4b77a1728d Remove custom code, replace by glib, fix fuzzy matching for unicode.
- Also fixes char endianess issues.
2015-12-01 22:09:34 +01:00
Dave Davenport
ca6b1a8178 Fixing path. 2015-11-28 12:59:10 +01:00
Dave Davenport
2da1207b7d Fix issue #271 expand path. 2015-11-27 13:01:25 +01:00
Dave Davenport
611c2c4302 Don't create collate, use normalized form to match. 2015-11-22 23:49:41 +01:00
Dave Davenport
8c9b72f34e Start at fixing Issue 273, this might break some things.
* Only use get_display_data for displaying. (Except the select complete (ctrl-space), this needs fixing).
 * Fix possible race condition in parallelization.
 * Fix small bug in case-sensitive handling. (beware for collision in keybinding)
 * Keep less lists around.
2015-11-21 23:59:59 +01:00
Dave Davenport
38d2bc717a handle failed regex better. 2015-11-17 16:25:42 +01:00
Dave Davenport
00c8439b57 Small fix 2015-11-17 16:21:30 +01:00
Dave Davenport
aeaceb154a Add experimental regex support 2015-11-17 16:10:14 +01:00
Dave Davenport
80e873c8a3 Add threadpool support, add optional timings compile flag 2015-11-14 13:47:45 +01:00
Dave Davenport
45c8de9387 If threads is set to 0, try to autodetect number of threads. 2015-11-12 17:20:51 +01:00
Qball Cow
c7dcb4821a Use getdelim instead of custom fgets function. 2015-11-12 14:15:33 +01:00
Qball Cow
aedd26aef4 Fix #258: Set fallback alternative color before trying to allocate it. 2015-11-04 12:03:59 +01:00
QC
683632c36c Some cleanups 2015-10-18 19:02:19 +02:00
QC
73fd87f820 Add mesg about fullscreen and monitor setup 2015-10-18 13:45:15 +02:00
QC
93b6b83fb9 Try todo some validation of monitor size/padding in config sanity check. 2015-10-18 13:40:39 +02:00
Dave Davenport
4975704a05 Fix #244 Do not catch sigchld, let glib handle this internally
- TODO fix man page viewing.
2015-10-12 08:12:25 +02:00
Tom Hinton
a53061b890 Merge remote-tracking branch 'upstream/master' into fast-ascii-filtering
Conflicts:
	source/dialogs/dmenu.c
	source/helper.c
	source/rofi.c
2015-10-05 10:44:11 +01:00
QC
9a39ebb3e9 Fix typo 2015-10-04 17:02:54 +02:00
Dave Davenport
6b039ac524 Add tokenize option and append * to glob. 2015-10-04 16:37:07 +02:00
QC
5de38cd755 Add glob version for testing. 2015-10-02 20:39:57 +02:00
Tom Hinton
c2d8cb1f45 Move ascii testing gizmos to macros at the top.
Still not sure about best way to do this.
2015-10-02 09:58:56 +01:00
Tom Hinton
d1a5b0d362 whoops, rogue print statement 2015-10-01 13:46:50 +01:00
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