Commit graph

166 commits

Author SHA1 Message Date
Dave Davenport
7929818be2 Change how DRUN history is implemented to fix: #579
- This solution will correctly obey all priority rules as set in desktop
files.
- history only affects the application being sorted at top, not affects
what desktop files refers to this.

Possible issue is speed of this solution, it adds a sorting. (hopefully
limited, as only history items need to be moved).
and several lookups through the whole list of applications.
This needs some profiling to see if it becomes an issue, several
solutions can be applied to make this faster again.
O(history_length*num_netries)+complexity(qsort)

Fixes: #579
2017-10-03 17:35:48 +02:00
Dave Davenport
ebffe5503d Implement support for specifying negated match
- Prepending - inverts the matching result.
- Fix logic window/drun browser.
- Breaks API as argument token_match callback changed.
- Update tests.

Fixes: #665
2017-09-29 08:40:25 +02:00
Dave Davenport
c7e8776c78 Add try exec test (#620)
* Add try exec test

* [DRun] Free after g_find_program_in_path
2017-07-04 13:38:26 +02:00
Dave Davenport
3590b95046 Do not do an expand path on Exec field of desktop file.
Fixes: #617
2017-07-02 11:33:02 +02:00
Dave Davenport
03d6ac4de3 Run indenter. 2017-06-25 20:25:17 +02:00
Dave Davenport
ea4328b921 [DRun] Add a small thread-pool for fetching icons. 2017-06-25 20:24:26 +02:00
Quentin Glidic
b9097dc488
drun: Preload icon themes
This will allow multi-thread icon loading.

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-06-25 20:12:35 +02:00
Dave Davenport
26d9da7263 Position the overlay in the top right corner of the listview. 2017-06-12 08:17:28 +02:00
Quentin Glidic
19a2d37df3
gitmodules: Update libnkutils
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-06-11 18:39:26 +02:00
Dave Davenport
ad91f9a124 [TextBox] Calculate yalign based on actual side, not estimated size. 2017-06-08 08:46:16 +02:00
Quentin Glidic
726d940eca
drun: Use the requested icon size for lookup
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-06-07 12:49:20 +02:00
Quentin Glidic
9b3a60928f
drun: Re-remove the context limitations for icon lookup
Some applications use Devices, Status or even Actions icons.

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-06-07 12:42:54 +02:00
Quentin Glidic
3067f67fd1
drun: Use Adwaita and gnome as fallback themes
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-06-07 12:41:09 +02:00
Dave Davenport
9a62bfd172 Run indenter. 2017-06-03 20:35:50 +02:00
Dave Davenport
539172187f Don't depend on latest of glib. 2017-06-03 15:45:16 +02:00
Dave Davenport
78c6993750 Merge remote-tracking branch 'origin/master' into barview 2017-06-03 01:23:31 +02:00
Dave Davenport
9b0d1faacf Replace g_log by g_debug 2017-06-02 22:39:20 +02:00
Quentin Glidic
b0fe6d3c6a
drun: Actually use the icon theme setting
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-06-02 21:35:26 +02:00
Dave Davenport
c5f5477788 Check surface status when loading icon. 2017-06-02 21:34:07 +02:00
Dave Davenport
e49eb4d531 [Drun] Async don't rely on icon_name or free it 2017-06-02 19:11:18 +02:00
Dave Davenport
4cd2d87ed2 Merge remote-tracking branch 'origin/master' into barview 2017-06-02 18:52:28 +02:00
Dave Davenport
1be9438711 Fix icon_size and allow setting icon theme (for testing). 2017-06-02 18:37:03 +02:00
Dave Davenport
a43e4e5b12 Add small debug for unfound icons 2017-06-02 18:20:31 +02:00
Dave Davenport
1e0fb75189 Filter scanning same directory twice for same desktop files. 2017-06-02 18:13:11 +02:00
Dave Davenport
b3b01b1973 (re-implement) Do lazy loading for icons.
- Fetch only when requested
 - Fetch the right size, instead of estimation.
2017-06-02 17:36:06 +02:00
Dave Davenport
2578817db7 Don´t always fetch icon size 32, but estimated based on character height 2017-06-02 17:03:45 +02:00
Quentin Glidic
0644f99b64
drun: Add startup notification support
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-06-02 14:56:59 +02:00
Quentin Glidic
22fbaa0b50
drun: Keep the app_id around
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-06-02 14:55:36 +02:00
Quentin Glidic
51d34b662e
helper: Add API to support startup notification
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-06-02 14:54:21 +02:00
Quentin Glidic
6fefbbf8ab
drun: Keep the icon name around
We don’t need to use it as the “we’ve search already” value since we
know just look icons up in a single pass.

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-06-02 14:28:24 +02:00
Quentin Glidic
dc1417ba72
drun: Fix thread function signature
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-06-02 14:27:47 +02:00
Quentin Glidic
46dee2671d
x11-helper: Rename xcb.c
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-06-01 00:12:58 +02:00
Quentin Glidic
ac8868f3b1
Indent icon code rework
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-31 20:21:58 +02:00
Dave Davenport
4d8784cf85 Port fixes from icon-cleanup branch.
- Thread for fetching icons for drun.
- Fixed placing of icons instead of adding place-holder token that can
  mis-render.
- Give textbox TB_ICON flag.
2017-05-31 11:05:45 +02:00
Quentin Glidic
8a6bdd827d
config: Add a setting to disable icons loading
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-30 19:08:33 +02:00
Quentin Glidic
03eb4a3abb
drun: Implement icon support
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-30 19:01:01 +02:00
Dave Davenport
ce4b1b23b4 Re-Indent code 2017-04-27 22:59:14 +02:00
Quentin Glidic
9a68b22009
Fix licenses headers
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-04-15 12:32:05 +02:00
Quentin Glidic
cfbe4027bc
Consolidate logging
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-04-15 12:07:29 +02:00
Dave Davenport
ba9e1fb92a Switch to g_{debug,warning} instead of g_log 2017-04-15 11:37:50 +02:00
Dave Davenport
61e537a05f ISSUE 576: Clutching at straws.
* Don't use atexit anymore. (what happens with g_spawn and atexit?
should be fine, but a test).
 * Even though not needed, force wait on running thread (of which there
should be none) when destroy thread pool.
2017-03-25 14:23:31 +01:00
Dave Davenport
70e3b189df Remove entry from history once deleted. #579 2017-03-21 17:19:05 +01:00
Dave Davenport
12cbb0368d #579 Fix delete cached entry. 2017-03-20 12:37:52 +01:00
Dave Davenport
50477a0b99 [Keys] Cleanup view a bit. 2017-03-17 14:07:11 +01:00
Dave Davenport
dfeb5940d4 Reduce scope and unneeded check. 2017-03-17 13:33:47 +01:00
Dave Davenport
000c113925 [DRUN] Get categories on initial parsing from keyfile, not on matching (is slow-ish) 2017-03-14 17:34:41 +01:00
Dave Davenport
cee753bd3c Zeltakmadness (#572)
* Allow modi to set extra pango attributes on displayed rows

* Fix some documentation, only highlight the mode name with color.

* Small rename.
2017-03-10 23:39:29 +01:00
Dave Davenport
dc7e4aa96e Install some headers for use in plugins 2017-02-17 14:06:31 +01:00
Dave Davenport
f7b4bebb9b Rename token_match to helper_token_match. 2017-02-17 09:58:47 +01:00
Dave Davenport
8ef7b4b794 Don't recreate every string everytime. 2017-02-03 20:49:16 +01:00
Dave Davenport
601a20aba5 Speedup drun by 10% by reducing number of reallocs. 2017-02-02 08:36:55 +01:00
Dave Davenport
0ebd6a260b Add auto-detect option to DPI setting. 2017-01-21 12:58:52 +01:00
Dave Davenport
253724c85c Ignore empty path.
Not in spec. but lets ignore it.

Fix: #539
2017-01-17 20:00:00 +01:00
Dave Davenport
baab2047ad Indent magic, rework makefile so lexer and yacc file are not passed. 2017-01-08 21:36:06 +01:00
Dave Davenport
22e2d7587d Update copyright to 2017. 2017-01-03 17:59:28 +01:00
Dave Davenport
5a638b1fa0 Search categories when searching Desktop Files.
Issue: #499
2016-12-26 15:18:52 +01:00
Dave Davenport
4c5df96fcd Pull config option access from out of separator widget. 2016-11-01 08:04:39 +01:00
Dave Davenport
69c19afcfc [DRun] Fix free 2016-10-31 17:02:10 +01:00
Dave Davenport
3f577f917a Small re-indent 2016-10-31 15:51:47 +01:00
Dave Davenport
01e32c9c61 Cleanup some drun code, use hash table for seen check instead of two arrays 2016-10-31 08:44:04 +01:00
Dave Davenport
e3ab39ea6f add more details to timing log 2016-10-31 08:07:02 +01:00
Dave Davenport
7b3b68462e Fix memory leak in box and listview widget, add coverage make target. (ggcov and lcov) 2016-10-18 13:49:24 +02:00
Dave Davenport
703426716a [DRun] Fix parsing subdirectories because of wrong suffix check 2016-10-16 14:49:32 +02:00
Dave Davenport
cdb1b96414 Fix issue #482: Set work directory 2016-10-15 20:00:26 +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
4a4769f0b4 Add debug and indent 2016-08-31 10:06:42 +02:00
Dave Davenport
56cc94195c DRUN: Make name key required even when hidden. (#453) 2016-08-31 09:39:00 +02:00
Dave Davenport
21b35b3e3e More debug, fix one off. 2016-08-30 21:56:51 +02:00
Dave Davenport
08319d6439 Keep a list of disabled Desktop files. 2016-08-30 21:49:46 +02:00
Dave Davenport
c099aaeabf Add debug output. 2016-08-30 21:24:04 +02:00
Dave Davenport
0d9d4d6c55 DRun Check if filename ends in .desktop. 2016-08-30 17:41:30 +02:00
Dave Davenport
ef509865fb Add extra debug to DRun Desktop File parsing. 2016-08-30 08:52:02 +02:00
Dave Davenport
e79361e890 Fix configure script a bit. 2016-08-29 21:38:29 +02:00
Dave Davenport
5cfe9a89b3 Improve DRun handling a bit.
- Remove entries that are deprecated or unsupported.
 - Handle field codes %c and %k

TODO:
 - Detect multiple identical field code entries and throw error.
2016-08-29 21:14:03 +02:00
Dave Davenport
1f641135e2 Extra checks when parsing file. 2016-08-29 08:55:28 +02:00
Dave Davenport
58eaa81520 Name field in desktop file is required. 2016-08-29 08:23:55 +02:00
Dave Davenport
e4cab560f4 First hack at fixing Desktop file parser. 2016-08-28 22:43:42 +02:00
Dave Davenport
0b84d63959 Merge remote-tracking branch 'origin/master' into highlight_match 2016-06-07 09:02:03 +02:00
Dave Davenport
3f31620a3e Wip/drun subdirs (#416)
* drun: Walk subdirectories too

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>

* Remove goto, make it work for Filesystems that do not support reporting file type.

* Fix using filename before creating it.

* Run indenter over drun file.

* Fix stupid typo
2016-06-05 19:01:38 +02:00
Dave Davenport
72d6c20876 Merge remote-tracking branch 'origin/master' into highlight_match 2016-06-01 19:04:52 +02:00
Dave Davenport
01ce909c97 Update some headers. 2016-06-01 07:34:41 +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
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
73a0eb3e39 Remove X11/* include headers. 2016-02-28 12:22:10 +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
6217edf622 #343 Add history support to drun mode. 2016-02-16 10:40:21 +01:00
Dave Davenport
5a86ae5c99 Cleanups 2016-02-08 09:03:11 +01:00
Dave Davenport
121278e6d1 [DRUN] Expand path we get from Desktop file
* This is more 'free'  then spec. but does not break anything.

Fixes: #317
2016-01-14 17:42:07 +01:00
Dave Davenport
cc682f107b Update display value for modi (testing) 2016-01-12 22:18:10 +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
8b82787df6 Fix possible issue with uninitialized data 2015-12-21 23:14:56 +01:00
Dave Davenport
04eebf964a Indent 2015-12-14 20:28:25 +01:00
Dave Davenport
541c653913 Improve matching for DesktopFile run mode 2015-12-14 20:25:36 +01:00