-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathconfig.yml
More file actions
278 lines (254 loc) · 9.64 KB
/
Copy pathconfig.yml
File metadata and controls
278 lines (254 loc) · 9.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
## Default configuration for gravel
##
## Indentation is important! Check https://yaml.org/ if you're unfamiliar.
##
## Put this configuration in ~/.config/gravel/config.yml.
## Ommitted keys are set to sensible defaults, so you only
## need to keep what you want to change.
##
## Additionally, you can add ~/.config/gravel/platform/linux.yml (or windows)
## to overwrite your normal config with platform-specific changes. Again, you
## only need to specify what you want to change relative to your main config.
##
## Finally, you can add ~/.config/gravel/host/yourhostname.yml
## for host-specific changes. This works like the others, but trumps them.
## Configures the key for single-instance functionality.
## Set to null to disable.
single_instance: gravel
## Governs if external plugin libraries are loaded.
## Libraries are discovered in ~/.local/share/gravel/plugins/*.{so,dll}
## as well as in $XDG_DATA_DIRS with the same structure.
##
## Valid values are `disabled`, `all` and `whitelist` (see below)
external_plugins: disabled
## Filters libraries by their filename, sans extension. Absolute paths *do not*
## work, the library must still be placed in one of the supported folders.
# external_plugins:
# whitelist:
# - libgravel_provider_calculator
# - my_fancy_plugin
## Binds global hotkeys to actions.
## The hotkey is configured as an emacs-like binding, though note that some
## features, such as chords, are not supported.
##
## Binding examples:
## `A-<Space>` => Alt + Space
## `C-M-s` => Control + Super/Windows + S
## `a` => A
##
## A complete list of supported modifiers and keys can be found here:
## https://github.com/thorio/gravel/blob/master/gravel-core/src/hotkeys/structs.rs
hotkeys:
## Shows or hides the frontend. These actions are also available seperately,
## as `show` and `hide`
- binding: A-<Space>
action: show_hide
## Shows the frontend and pre-populates with the given query.
# - binding: M-r
# action:
# show_with: example
## Frontend, or UI, to use. This is responsible for the elements you
## interact with.
frontend:
## The default FLTK-based frontend.
plugin: fltk
## https://github.com/thorio/gravel/tree/master/gravel-frontend-fltk
# config:
# ## Layout and sizing configuration.
# layout:
#
# ## Scales all sizes by this factor. Useful for high DPI monitors.
# scale: 1.0
#
# ## Then maximum number of hits shown on screen. Any less and the window
# ## will shrink, any more and you will be able to scroll down the list.
# max_hits: 6
#
# ## Total window width. All other widths are calculated relative to this.
# window_width: 800
#
# ## Whether to draw a thin, black border around the window.
# window_border: false
#
# ## Whether to draw window decorations (title bar, close button, etc.).
# window_decorations: false
#
# ## These are some more specific values you usually don't need to change.
# hit_title_height: 30
# hit_title_font_size: 20
# hit_subtitle_height: 20
# hit_subtitle_font_size: 12
# query_font_size: 25
# scrollbar_width: 10
# scrollbar_padding: 3
# padding: 8
#
# ## Color configuration. Use the hex color: `0xRRGGBB`.
# ## Google has a color picker if you search for, well, "color picker".
# colors:
# background: 0x202020
# query_text: 0xffffff
# query_cursor: 0xbf6c0d
# query_highlight: 0xbf6c0d
# query_background: 0x202020
# hit_title: 0xffffff
# hit_subtitle: 0xffffff
# hit_highlight: 0xbf6c0d
# scrollbar: 0xbf6c0d
#
# behaviour:
#
# ## Whether or not to show the window when starting gravel
# start_hidden: false
#
# ## Automatically hides the window when it loses focus.
# auto_hide: false
#
# ## Exits the application instead of hiding the window.
# ## Requires external solution to start gravel when desired.
# exit_on_hide: false
#
# ## Time in milliseconds after hiding in which show requests
# ## should be ignored. This is a workaround for weird behaviour
# ## in X11 where hotkeys steal focus.
# window_hide_debounce: 200
#
# ## Automatically centers the window on the screen each time it is shown.
# auto_center_window: true
#
# ## Shows the internal score assigned to each hit,
# ## useful for debugging purposes.
# show_scores: false
## Providers to use. These are responsible for the results you get.
## Providers each yield different sets of results, so if you need more or
## less functionality, you can configure this here.
## Each provider is referenced by the name of their plugin, and can be added
## to your configuration multiple times.
providers:
## Default calculator. If it detects a mathematical expression, such as
## `1 + 2` or `5 * sin(3)`, it will display its result at the very top of
## the list and allow you to copy the value to your clipboard.
##
## A complete list of supported expressions and constants can be found here:
## https://docs.rs/mexprp/latest/mexprp/struct.Context.html#builtin
- plugin: calculator
## https://github.com/thorio/gravel/tree/master/gravel-provider-calculator
# config:
# ## Changes the subtitle of the hit. Visual difference only.
# subtitle: Copy to Clipboard
## Default application finder. It will search the applications installed on
## your system and allow you to launch them.
##
## On Linux this will search your desktop entries,
## on Windows it will search the Start menu.
- plugin: program
## https://github.com/thorio/gravel/tree/master/gravel-provider-program
# config:
# ## On linux, paths can be configured by changing the
# ## XDG_DATA_DIRS environment variable.
#
# ## Where to look for symlinks on Windows.
# ## Paths should be specified as globs.
# windows:
# shortcut_paths:
# - "$ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\**\\*.lnk"
# - "$APPDATA\\Microsoft\\Windows\\Start Menu\\Programs\\**\\*.lnk"
## Default web searcher. It will always insert a result at the very bottom of
## the list that, when selected, will search the web for your query.
- plugin: websearch
## https://github.com/thorio/gravel/tree/master/gravel-provider-websearch
# config:
# ## Determines which URL is opened. The default is Google Search.
# ## The placeholder `{}` is replaced with the URL-encoded query.
# ##
# ## For example, you could use:
# ## - `https://duckduckgo.com/?q={}`
# ## - `https://www.ecosia.org/search?q={}`
# ## - `https://www.bing.com/search?q={}`
# ## - `https://search.yahoo.com/search?p={}`
# ##
# url_pattern: "https://www.google.com/search?q={}"
#
# ## Changes the subtitle of the hit. Visual difference only.
# subtitle: Web Search
## This is a second instance of the previous web search provider.
## It's set up to open the query in Google Translate and is
## only used when you prefix your query with "tr".
- plugin: websearch
keyword: tr
config:
url_pattern: "https://translate.google.com/?text={}"
subtitle: Translate
## System provider.
## Provides system commands such as shutdown, log out or exiting gravel.
- plugin: system
## https://github.com/thorio/gravel/tree/master/gravel-provider-system
# config:
# ## Below are configurable titles and subtitles for each command.
# ## Linux systems can additionally configure a bash commmand to be run.
# ## On Windows systems, the native API is used instead.
#
# exit:
# title: exit
# subtitle: Exit gravel
#
# reload:
# title: reload
# subtitle: Reload gravel
#
# clear_caches:
# title: clear caches
# subtitle: Clear frontend and provider caches
#
# lock:
# title: lock
# subtitle: Lock the System
#
# ## Specifies the to bash command to run on linux systems.
# command_linux: loginctl lock-session
#
# logout:
# title: log out
# subtitle: Close the current session
# command_linux: loginctl terminate-session $(loginctl session-status | awk 'NR==1{print $1}')
#
# restart:
# title: restart
# subtitle: Restart the System
# command_linux: shutdown -r now
#
# shutdown:
# title: shutdown
# subtitle: Shut the System down
# command_linux: shutdown now
#
# sleep:
# title: sleep
# subtitle: Put the System to sleep
# command_linux: systemctl suspend
## Process killer.
## Lists running processes on your system and allows you to kill them.
## There is currently no further configuration for this plugin.
- plugin: kill
## This option disables the provider for any query that is not prefixed
## with this keyword, then shows only this providers results for any
## query that is. You can use it with any provider.
keyword: kill
## Command runner.
## Runs the given command with either sh on Linux,
## or ShellExecute on Windows.
- plugin: exec
keyword: ">"
## https://github.com/thorio/gravel/tree/master/gravel-provider-exec
# config:
# ## Changes the subtitle of the hit. Visual difference only.
# subtitle: Run Command
## Tool for creating your own hits.
# - plugin: custom
# config:
# ## The configuration of this provider is a bit more in-depth,
# ## so please refer to the documentation:
# ## https://thorio.github.io/gravel/docs/gravel_provider_custom
# hits:
# - title: say hello
# action: "echo hello from bash"