Commit graph

149 commits

Author SHA1 Message Date
Dave Davenport
011908e1ff
issue 1187: If error on launching application, show error message and return to list` (#1193)
* Show error message, then possibly pop back to main window.

Fix drun/run dialog to use this for command execution.

Issue #1187

* [Combi] When no line selected, handle using the first entry.

* [Window] Add execute on invalid input to window dialog.

* Update view.h doxygen docu

* Update manpage with running application changes.
2020-09-13 21:56:25 +02:00
Dave Davenport
bff8948116 [DRun] Fix broken cache after URL type was added. 2020-09-09 22:46:18 +02:00
nick87720z
96cd34d24f
Fix and optimize 20200908 (#1184)
* combi: Reuse own get_num_entries in self-init

* combi_mode_parse_switchers: Remove duplicated mode pointer

* combi_mode_parse_switchers: Regroup mode search lines

* combi_mode_result: Simplify switcher search quit

* mode_result: Check for mode switch actions before hook

These are over-mode actions, which should not be handled
in mode hooks at all.
2020-09-08 17:30:03 +02:00
Dave Davenport
30735791b4 Run indenter. 2020-08-28 16:41:59 +02:00
Mike Dalessio
5bec191d2e
Follow Type=Link standard desktop entries with drun (#1168)
* [DRun] Introduce data structure changes for Link desktop entries

From the [freedesktop spec][1]:

> This specification defines 3 types of desktop entries:
> Application (type 1), Link (type 2) and Directory (type 3). To allow
> the addition of new types in the future, implementations should
> ignore desktop entries with an unknown type.

This commit adds an enum to capture these types, and adds `type` to
DRunModeEntry.

  [1]: https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html

part of #1166

* [DRun] Sanity check Link entries and capture the URL

Note that we're introducing some logic that will differ depending on
the Desktop entry type (Application or Link). The logic is:

- if entry is Application type,
  - then Exec is required
  - and the value is saved in .exec
  - and drun_mode_result calls exec_cmd_entry
- if entry is Link type,
  - then URL is required (but is not saved in the DRunModeEntry)
  - and drun_mode_result calls new function launch_link_entry

part of #1166

* [DRun] Launch desktop links via xdg-open

Note that this introduces a new dependency on xdg-open, which may not
be installed. In that case, rofi will display an error dialog
with something like:

  "Failed to execute child process xdg-open (No such file or directory)"

which hopefully is explanatory enough for folks.

part of #1166

* Make drun options comments consistent and add a bit of whitespace

* [DRun] new config option drun-url-launcher for opening links

In previous commit, this was a hard-coded string.

part of #1166
2020-08-26 21:10:04 +02:00
Dave Davenport
1104d1d53a [DRun] cleanup debug message. 2020-04-15 19:08:01 +02:00
Dave Davenport
0214d5a6e4 [DRun] Adding %% as escape character. 2020-04-15 19:06:39 +02:00
Dave Davenport
b169289996 Indent all the code. 2020-02-02 13:56:37 +01:00
Dave Davenport
a35a898816 [DRun] Add desktop cache
Add a desktop cache file. Usable for system with slow filesystems.

* -drun-use-desktop-cache
* -drun-reload-desktop-cache

Fixes: #1040
2020-01-26 12:47:04 +01:00
Dave Davenport
b03edc5cf3 Update copyright dates. 2020-01-01 12:23:12 +01:00
Dave Davenport
8d9e403659 Update copyright. 2019-09-27 11:58:32 +02:00
Dave Davenport
aa35ecc40a [DRun] Add keywords to match and printing. 2019-08-20 22:51:07 +02:00
Dave Davenport
204008d389 [DRun] Do not run custom command in drun mode.
Fixes: #966
2019-08-09 20:08:41 +02:00
Dave Davenport
f896146217 [DRUN] Add option to only show desktop files in certain categories
closes: #817
2019-08-09 19:33:23 +02:00
Dave Davenport
335adc30b3 [DRun] Fix sorting of drun.
Thanks to ChrisJAllan
2019-02-17 20:42:14 +01:00
Dave Davenport
fbd34c9635 [DRun] Sort the (non history) entries by name. Escape for pango. 2019-02-10 14:15:35 +01:00
Dave Davenport
964af7ad35 [DRUN] Fix small memory leak loading desktop files. 2019-01-29 09:29:47 +01:00
Dave Davenport
76ceac1f20 [DRUN] Add drun-display-format. 2018-10-17 23:02:50 +02:00
Dave Davenport
11afb8e678 [Icon] Fix loading icons that are already in cache.
fixes: #860
2018-10-05 11:01:48 +02:00
Dave Davenport
859a9c79d6 Indent the code. 2018-08-08 15:55:13 +02:00
Dave Davenport
4538303be6 [DRUN] Add option to show actions in drun.
Fixes: #836
2018-07-28 11:12:11 +02:00
Dave Davenport
b837c3fdff Change log domain from Utils.IconFetcher to Helpers.IconFetcher
Matches doxygen.
2018-06-12 11:47:03 +02:00
Dave Davenport
441c511296
Add an generic icon fetcher that can be used by any widget and re-uses the main threadpool.
Add an generic icon fetcher that can be used by any widget and re-uses the main threadpool.

* Make threadpool more generic usable.
* Add generic icon fetcher, that caches icons.
* Make DRUN use this fetcher.
* Add icon widget.

#809
2018-06-09 19:13:57 +02:00
Dave Davenport
6abc8c920c DRun: Allow to select based on comment field.
Fixes: #733
2017-12-09 19:55:39 +01:00
Quentin Glidic
53e0f957d0
drun: Early return if already initialized
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-12-09 10:34:11 +01:00
Quentin Glidic
955cdf5ba5
drun: Standardize debug messages
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-11-17 14:20:03 +01:00
Dave Davenport
9cd1e3fac2 Indent 2017-11-07 20:04:07 +01:00
Dave Davenport
e689f2d98b Check result g_key_file_load_from_file to make coverity happy. 2017-11-05 21:32:43 +01:00
Dave Davenport
f7d7fd4573
[DRun] Obey OnlyShowIn NotShowIn (#715)
* [DRun] Obey OnlyShowIn NotShowIn

* Replace g_strv_contains.
2017-11-02 21:05:07 +01:00
Askrenteam
0dc71fcc00 Added option -name-only to match only desktop entry name with drun (#690)
* Added option -name-only to match only desktop entry name with drun

* fixed indent and xrdump test

* fixed test

* option -drun-match-fields

* option -window-match-fields

* matching fields as static in window/drun + enums for field indexes

* prevent window_mode_parse_fields() from executing twice
2017-10-21 11:18:52 +02:00
Quentin Glidic
af81a54adf
drun: Load absolute path icons properly
This was lost in the rework commit
4d8784cf85 and never added back.

Fixes #701

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-10-20 22:53:17 +02:00
Dave Davenport
9ae62960c1 Indent files. 2017-10-05 17:45:50 +02:00
Dave Davenport
6ba31683c6 [DRun] Desktop id is not equal to application id. 2017-10-04 08:59:09 +02:00
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