Commit graph

193 commits

Author SHA1 Message Date
Dave Davenport
84508bdc1b Lower priority of loading data from dmenu, so drawing is not delayed 2016-12-17 17:56:54 +01:00
Dave Davenport
7cc90abceb [DMenu] Dump when there is an empty filter. 2016-11-13 23:15:13 +01:00
Dave Davenport
27cef3c9ae Fix #497: Create cache dir if not exists. 2016-11-12 11:28:40 +01:00
Dave Davenport
90c314f397 Re-add column, but not for dmenu when prompt is set 2016-11-07 08:51:23 +01:00
Dave Davenport
0554db65ea Fix dmenu with -selected-row 2016-11-05 20:00:22 +01:00
Dave Davenport
163934fa8c Simplify some code, more comments. (90% docu) 2016-10-25 22:45:11 +02:00
Dave Davenport
b622a98d9c Fix some coverty found issues. 2016-10-17 20:54:41 +02:00
Dave Davenport
3c64507f02 Qtk widgets (#478)
* Initial support for using boxes for packing widgets.

* Make CapiTalIzation more consistent

* Move widgets to subdirectory

* Removed nolonger needed resize function.

* Small cleanup

* When switching mode, reuse view, don't rebuild it. Reduces artifacts.

* Needs cleaning up.

* Remove separate prompt argument, use display_name

* Simplify run-switcher code.

* Add notion of parents, and trigger parent update on resize.

* Use widget_get_height wrapper, avoid crash

* Size separator width based on height. (indent)

 * TODO add margin to box.

* First draft version of listview.

* Add scrollbar to listview widget

* Add padding option to box

* Move access to global config out of widget. (1/2 done)

*  Remove printf

* Make listview not access global config

* Add click support, implement on mode buttons.

* Re-introduce mouse handling on list-view.

* TODO draggin on scrollbar.

* Fix multi-select

* Fix warnings

* Fix include
2016-10-08 18:57:59 +02:00
Dave Davenport
050fd66c02 Force dmenu in sync mode to stop breaking old features that rely on this. 2016-09-17 19:41:24 +02:00
Dave Davenport
5ee5bb1e23 First rough version of async loading for dmenu. 2016-09-17 18:57:44 +02:00
Dave Davenport
6495d8e8df Add -input to -h output 2016-08-05 07:45:39 +02:00
Dave Davenport
22c8760e32 First try at fixing #430. Needs testin. 2016-07-22 09:44:12 +02:00
Dave Davenport
602eb63557 Add `-multi-select flag to dmenu.
* Changes default behaviour.
2016-07-18 23:58:08 +02:00
Dave Davenport
59635919ea Add selection indicator to dmenu mode. 2016-07-18 23:49:26 +02:00
Dave Davenport
7c9f5e01fd Fix tests and crash. 2016-06-28 23:34:07 +02:00
Dave Davenport
6e2d0b6319 Add selection counter in dmenu mode 2016-06-26 15:48:12 +02:00
Dave Davenport
c87e91b6d9 Make select behave more Rasi-ish 2016-06-26 11:00:23 +02:00
Dave Davenport
40f95ae81f Make bit functions static 2016-06-25 17:40:24 +02:00
Dave Davenport
ce645d78b3 Multi-select with unselect 2016-06-25 17:36:35 +02:00
Dave Davenport
77a0800ccf Copy memory instead of mixing malloc and g_malloc'ed memories (and freeing them all with g_free) 2016-06-21 22:40:42 +02:00
Dave Davenport
0e86050db8 Fix combi mode 'bang' behaviour, improve levenshtein with combi 2016-05-26 08:39:33 +02:00
Dave Davenport
498fadc735 Remove the is_ascii mess. 2016-05-22 17:47:34 +02:00
Dave Davenport
3918625804 Move teardown to the logic place again (possible with deamon mode removed) 2016-04-20 08:04:23 +02:00
Dave Davenport
a69754abff Remove left-over printf. 2016-04-10 12:08:36 +02:00
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
541f5b1fc9 Fixes issue #370: Move dmenu option into dmenu. 2016-04-02 10:39:02 +02:00
Dave Davenport
2127682573 Cleanup unused type specifier (dialogs). 2016-03-24 22:15:10 +01:00
Quentin Glidic
20c9abf0a2 keybindings: Merge accept-custom and accept-entry-continue
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-03-20 10:39:34 +01: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
Dave Davenport
4cd76a6d8e Merge remote-tracking branch 'github/master' into wip/xcb/full 2016-02-28 11:04:09 +01:00
Dave Davenport
319524c7c5 Test for single mainloop 2016-02-23 21:04:24 +01:00
Quentin Glidic
990914d20f rofi: Drop daemon mode
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-23 12:15:03 +01:00
Dave Davenport
9121732e36 Cleanups. 2016-02-19 21:16:35 +01:00
Dave Davenport
038346b640 Cleanup + fix 2016-02-19 21:08:46 +01:00
Dave Davenport
6e3bb506de Full mainloop madness 2016-02-19 19:50:48 +01:00
Dave Davenport
4eb3fd1da3 Test for single mainloop 2016-02-19 19:29:06 +01:00
Dave Davenport
99515f986e Fix issue #281
if one entry as input and autoselect enabled return immediately
2016-02-17 08:46:22 +01:00
Dave Davenport
fdb4c99456 Remove normal window global. 2016-02-10 19:40:19 +01:00
Dave Davenport
2cd8888d2c Merge remote-tracking branch 'origin/master' into glib-loop 2016-02-09 22:35:03 +01:00
Dave Davenport
289795b22a Fix finding active desktop! 2016-02-09 21:25:29 +01:00
Dave Davenport
f7e2632624 Merge remote-tracking branch 'origin/master' into glib-loop 2016-02-09 19:55:31 +01:00
Dave Davenport
5185f1181c Validate if input is utf-8 for dmenu, if not ignore that line
This should avoid crashing on invalid encoding.
2016-02-09 19:54:43 +01:00
Dave Davenport
c3f15a4e2a Merge remote-tracking branch 'origin/master' into glib-loop 2016-02-09 07:56:45 +01:00
Dave Davenport
e7b18d3a88 Issue: #334: Only allow markup-rows to be set on cmdline
This should avoid people setting this in XResrouces and breaking random dmenu scripts.
2016-02-09 07:37:48 +01:00
Dave Davenport
5a86ae5c99 Cleanups 2016-02-08 09:03:11 +01:00
Dave Davenport
c217307b43 Update! 2016-02-06 14:41:08 +01:00
Dave Davenport
adfc83f07d Restructuring, my biggest joy. 2016-02-06 14:27:36 +01:00
Dave Davenport
312ca274fc Split of files. 2016-02-06 13:06:58 +01:00
Dave Davenport
531f3f884a Merge remote-tracking branch 'origin/master' into glib-loop 2016-02-04 16:25:04 +01:00
Dave Davenport
69b88caac5 Allow user to open an disabled modi. 2016-02-04 09:20:10 +01:00
Dave Davenport
b557c4df6e Issue: #333, Check if row is selected, don't assume selected_line is valid. 2016-02-03 09:01:13 +01:00
Dave Davenport
91780b71db Small fix. 2016-01-27 23:39:52 +01:00
Dave Davenport
afc056ecc5 Play with dmenu black screen 2016-01-27 23:28:14 +01:00
Dave Davenport
eab4e1438f Make dmenu use glib mainloop. 2016-01-26 08:38:07 +01:00
Dave Davenport
eadf455c8c Let DMenu mode reuse open dialog and not restart it. handy for multi-select. 2016-01-20 18:50:33 +01:00
Dave Davenport
d0716efe12 Refactor menu function into three parts, setup, itterrate and finalize. 2016-01-20 18:24:31 +01:00
Dave Davenport
cc682f107b Update display value for modi (testing) 2016-01-12 22:18:10 +01:00
Dave Davenport
13810d5911 Add experimental 'password' mode. (#315) 2016-01-10 13:10:44 +01:00
Dave Davenport
d7dab65e5b Making widget class, moving stuff around 2016-01-09 16:22:09 +01:00
Dave Davenport
dc8fb4f202 Start making SardemFF happy. Use g_return_if_fail 2016-01-08 09:16:59 +01:00
Dave Davenport
fa51aeb484 More splitting and abstracting. 2016-01-07 21:27:20 +01:00
Dave Davenport
e8daff0f6a First cleanup steps. 2016-01-07 19:47:37 +01:00
Dave Davenport
51b5511017 More doxygen sugar. 2016-01-07 16:01:56 +01:00
Dave Davenport
5a3c202423 Update copyright 2016-01-01 00:27:00 +01:00
Dave Davenport
696d0a2fa0 Fix 1 off memory leak 2015-12-23 17:03:00 +01:00
Dave Davenport
270ec0c14b Fix out of memory bound on array 2015-12-22 20:57:57 +01:00
Dave Davenport
08d6d6b685 Fix return code multi-select 2015-12-12 20:54:59 +01:00
Dave Davenport
eaa553bfd5 Indent. 2015-12-03 22:48:30 +01:00
Dave Davenport
697abdfdfc [DMenu] Add option to read from file instead of stdin. 2015-12-03 18:22:13 +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
Qball Cow
ff52140697 Check for nil before updating. 2015-12-01 13:17:59 +01:00
Dave Davenport
544229d975 Issue #287 mark selected rows. 2015-11-30 14:05:39 +01:00
Dave Davenport
bf60d9c01c Fix return code 2015-11-28 11:59:11 +01:00
Dave Davenport
864a00b9fd Add option to dump filtered list to stdout.
uses format option and filter `-dump`.
2015-11-27 13:14:46 +01:00
Dave Davenport
3c411433b4 Big rename from Switcher to Mode internal, to match with user terminology 2015-11-25 09:26:38 +01:00
Dave Davenport
627643281d Fix ; in macro. 2015-11-24 22:53:40 +01:00
Dave Davenport
00a555b685 Create more consistent ordering of arguments 2015-11-24 14:22:35 +01:00
Dave Davenport
fa2bcd778c Fix for complete issue #273.
- Add complete handler.
2015-11-24 13:59:35 +01:00
Dave Davenport
cbba58914f Some cleanups and re-ordering of parameters to be consistent. 2015-11-23 22:15:27 +01:00
Dave Davenport
ad778b7dc1 Const making. 2015-11-23 22:15:27 +01:00
Dave Davenport
5bdcd47dde consts and small ensurance (though should be correct to begin with) 2015-11-22 00:33:26 +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
238a34162a Try to fix crasher on mixing glib free and free. 2015-11-15 13:12:43 +01:00
Dave Davenport
2eaffceada Fix printing. 2015-11-14 19:59:56 +01:00
Dave Davenport
56e85d0f5a Cleanup. 2015-11-14 19:42:43 +01:00
Dave Davenport
80e873c8a3 Add threadpool support, add optional timings compile flag 2015-11-14 13:47:45 +01:00
Qball Cow
311cedf87f Fix silly little bug. 2015-11-12 14:53:02 +01:00
Qball Cow
c7dcb4821a Use getdelim instead of custom fgets function. 2015-11-12 14:15:33 +01:00
Dave Davenport
bc2b532a51 Add dmenu options to -h 2015-10-21 18:58:01 +02:00
Dave Davenport
64cb4c781c Fix some compiler warnings 2015-10-19 09:23:06 +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
QC
56e023dcee Remove unneeded check. 2015-10-11 14:13:08 +02: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
31fe5759b8 More line fixing. 2015-09-19 21:00:06 +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
Dave Davenport
d2aad68bce Keep the line matched (if possible) when filtering. 2015-09-08 22:23:03 +02:00
Dave Davenport
13203c9de7 Refactor to make dmenu use Switcher, and make menu func use this. 2015-09-08 21:41:54 +02:00