-
-
Notifications
You must be signed in to change notification settings - Fork 268
Expand file tree
/
Copy pathconfig.jsonc
More file actions
252 lines (215 loc) · 10.4 KB
/
Copy pathconfig.jsonc
File metadata and controls
252 lines (215 loc) · 10.4 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
{
"$schema": "https://vicinae.com/schemas/config.json",
// A list of paths pointed to separate configuration files to source during loading.
// Note that values defined in the main configuration file always take precedence over imported
// files.
// Relative paths are accepted, and are relative to the configuration directory in which the importing configuration file is located.
"imports": [
// "./keybinds.json"
// "./providers.json"
],
// Choose what telemetry to sent to the vicinae central server
// We never send personally identifiable information
// More details available at https://docs.vicinae.com/telemetry
"telemetry": {
// Sends system information such as desktop environment, vicinae version, etc...
// Only sent once at startup every 24 hours
"system_info": true
},
// Input monitoring/injection binary required to handle "paste to active window" actions and snippet expansion.
// If disabled, Vicinae will automatically fallback on copy instead of paste, and keyword expansion for snippets will no longer work.
// Note that conceptually, the input server is not uniquely related to snippets, so disabling snippets will not shutdown the input server process:
// only this key can.
"input_server": {
"enabled": true
},
// Whether root search should also search files directly.
// File search is performed asynchrounously: files may take an instant to appear after a query is entered.
// Turning this on results in an increase in CPU usage when searching.
// Note that vicinae has a built-in file search command that can be used to perform file search in isolation, accompanied with
// rich content preview. This should be more than enough for most users.
"search_files_in_root": false,
// activate list and grid items with only one click
"activate_on_single_click": false,
// What vicinae should do when the "escape" key is pressed
// Supports "navigate_back" or "close_window"
"escape_key_behavior": "navigate_back",
// navigate back when backspace is pressed on an empty search input
"pop_on_backspace": true,
// If the layer shell protocol is used to position the window and the keyboard interactivity is
// set to "exclusive" (the default) then this setting will have no effect. Either switch to "on_demand" interactivity
// or disable layer shell.
"close_on_focus_loss": false,
// Whether IME preedit strings should be searched in real time.
"consider_preedit": false,
// Reset the navigation state every time the window is closed
"pop_to_root_on_close": false,
// What favicon service to use when loading favicons is needed.
// Available values are: 'twenty' | 'google' | 'none'
// If this is set to 'none', favicon loading is disabled and a placeholder icon will be used when a favicon is expected.
"favicon_service": "twenty",
// Navigation scheme. Supports: 'default' | 'vim' | 'emacs'
"keybinding": "default",
"font": {
// Text rendering backend used by Qt Quick text.
// "native": uses the platform rasterizer (CoreText/DirectWrite/fontconfig), matching how other apps on the system render text
// "qt": uses Qt distance-field rendering (typically better performance for heavy scaling/animation)
// NOTE: if unspecified, Vicinae picks the best backend for the current platform:
// "native" on macOS and Windows, "qt" on Linux (native rendering degrades under fractional scaling).
// "rendering": "qt",
// The font family to use for the general vicinae UI.
// "auto" (recommended): uses the bundled Inter font
// "system": uses the system/platform default font
// Or specify any font family name (e.g. "Fira Sans")
"normal": {
"family": "auto"
// The point size of the font (unlike pixel size, the point size scales with resolution)
// NOTE: if unspecified, Vicinae will pick the best point size for the current platform (there is no one size fits all)
// Therefore, it is recommended to leave this unset unless you really want a custom font size.
// "size": 10.5
}
},
// Light and dark themes are stored separately. "appearance" chooses which slot is active:
// "system" follows the OS color scheme, while "light" / "dark" pin that slot.
"theme": {
"appearance": "system",
"light": {
"name": "vicinae-light",
"icon_theme": "auto"
},
"dark": {
"name": "vicinae-dark",
"icon_theme": "auto"
}
},
"launcher_window": {
// Control the opacity of the main window.
// Opacity for other surfaces are controlled by the active theme.
// [0;1]
// "opacity": 0.6,
// @Deprecated: use "material". "enabled": false maps to material "none".
"blur": {
"enabled": true
},
// "none", "blur", "liquid_glass", or "auto" (liquid_glass when available, else blur).
// Needs window opacity < 1 to be visible.
"material": "auto",
// Corner radius of the launcher window, in pixels.
// "rounding": 10,
// customize the format used for the clock, displayed in the
// root search status bar when there is nothing better to show.
"clock": {
"enabled": true,
// defaults to localized "hh:mm" if not specified
// the format follows https://doc.qt.io/qt-6/qdate.html#fromString
// "format": "hh:mm:ss",
// how often the clock needs to be updated, in seconds.
"interval": 60
},
// Client-side decorations are Linux-only: vicinae draws its own border and shadow instead of
// letting the compositor decorate the window. You can turn them off to let your compositor draw
// the rounded borders and such. This usually gives better results, but is more complicated to
// setup, if at all possible.
"client_side_decorations": {
"enabled": true,
// @Deprecated: prefer the top-level launcher_window.rounding.
// "rounding": 10,
"border_width": 1,
// Draws drop shadows on the client side, ONLY if we are a layer surface.
// We assume that non layer surfaces may already have drop shadows drawn by the compositor.
// In order to play well with blur, we do NOT allow drop shadows if the compositor doesn't support
// the ext-background-effect protocol (which allows defining a specific region to blur).
"shadow_size": 12
},
// In compact mode, vicinae only shows a search bar in the root search if no query is entered, only expanding to its full size when searching.
// WARNING: on Linux, compact mode works best when vicinae is rendered as a layer surface (the default if available), as opposed to a regular floating window.
"compact_mode": {
"enabled": false
},
// The vicinae UI is designed to work best at the default size. If you change this it is highly recommended
// that you preserve a similar aspect ratio.
"size": {
"width": 770,
"height": 480
},
// EXPERIMENTAL - X11 ONLY!
// The name of the screen (as provided by a tool like xrandr) on which the vicinae window
// needs to be shown.
// e.g "eDP1", "DP-1"
"screen": "auto",
// Only for wayland compositors that support the 'wlr-layer-shell' protocol (https://wayland.app/protocols/wlr-layer-shell-unstable-v1)
// NOTE: layer shell support for the cosmic compositor is explicitly disabled as it is currently broken
"layer_shell": {
"enabled": true,
// 'exclusive' | 'on_demand'
// WARNING: 'exclusive' is known to break mouse stuff on popups (such as the action panel) on Hyprland
"keyboard_interactivity": "exclusive",
// either 'overlay' or 'top'.
// Other layers are not supported as they are unsuitable for a launcher.
// 'top' is recommended as using 'overlay' will make the vicinae window appear on top of IME popovers in some scenarios.
"layer": "top"
}
},
// Shortcuts that work system-wide, even when the vicinae window is closed.
"global_shortcuts": {
// The shortcut used to toggle the launcher window.
// Defaults to "alt+space" on macOS and Windows, "super+control+space" elsewhere.
// "toggle": "alt+space",
// While one of these applications is focused, all global shortcuts are released so that
// the keystrokes reach the application itself. Useful for virtual machines or remote
// desktops that need to receive every key.
// Values are application IDs:
// - macOS: the bundle identifier, e.g "com.vmware.fusion"
// - Linux: the desktop file ID, e.g "org.gnome.Boxes.desktop"
"inhibit_apps": []
},
// Keybinds are serialized using a custom format.
// It is recommended to edit them through the settings GUI, which will write them to this file.
// NOTE: here, "control" remaps to the "command" (⌘) key on macOS.
// The default values are shown below, uncomment to override.
"keybinds": {
// common shortcuts
// "open-search-filter": "control+P",
// "open-settings": "control+,",
// "toggle-action-panel": "control+B", (control+K on macOS)
// used to assign shortcuts to generic actions
// if an extension provides a specific kind of action, it is encouraged to use shortcuts as defined here.
// "action.copy": "control+shift+C",
// "action.copy-name": "control+shift+.",
// "action.copy-path": "control+shift+,",
// "action.dangerous-remove": "control+shift+X",
// "action.duplicate": "control+D",
// "action.edit": "control+E",
// "action.edit-secondary": "control+shift+E",
// "action.move-down": "control+shift+ARROWDOWN",
// "action.move-up": "control+shift+ARROWUP",
// "action.new": "control+N",
// "action.open": "control+O",
// "action.pin": "control+shift+P",
// "action.refresh": "control+R",
// "action.remove": "control+X",
// "action.save": "control+S"
},
// List of entrypoints that are tagged as "favorite".
// They show up on the very top of the root search when no search query is active.
// Each value is a serialized entrypoint ID.
"favorites": [
"clipboard:history"
],
// List of entrypoints to suggest as a fallback when no result matches the
// provided search query.
// Each value is a serialized entrypoint ID.
"fallbacks": [
"files:search"
],
// Every item that can be activated from the vicinae root search is referred as an entrypoint, or sometimes, in the case of extensions, as a "command".
// Entrypoints are always grouped under a provider.
// e,g applications entrypoints are all grouped under the "applications" provider
//
// The best way to interact with providers and entrypoints is through the graphical interface provided by the
// settings window ("extensions" tab). Every time a change is made through this GUI, the relevant values will be
// written to the "providers" object below (password preferences excluded).
//
// The exact list of available providers depends on what extensions have been installed.
"providers": {}
}