* 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.
* 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.
* [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
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
* 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
- 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