{ "$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": [], // 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, // What vicinae should do when the "escape" key is pressed // Supports "navigate_back" or "close_window" "escape_key_behavior": "navigate_back", // 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", // EXPERIMENTAL! // Enable specific editing motions in the main search bar and during navigation. // This will probably be changed in future updates. // Supports: 'default' | 'emacs' "keybinding": "default", "font": { // 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) "size": 10.5 } }, // The general vicinae theme as well as the system icon theme (used for applications and file icons) can be customized // according to the system appearance. // When editing the current theme through the vicinae GUI, it will modify the value that maps to the current system appearance. "theme": { "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. "opacity": 0.95, // Blur the window background. // Only suported on Hyprland for now. // May require a server restart to disable properly. "blur": { "enabled": true }, // Dims everything behind the vicinae window. // Only supported on Hyprland for now. // May require a server restart to disable properly. "dim_around": true, // You can turn client side decorations off if you want 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, "rounding": 10, "border_width": 2 }, // 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: compact mode works best when vicinae is rendered as a layer surface (the default if available), as opposed to a regular floating window. // That's because the part that is not rendered in compact mode is still part of the full window size, allowing the window to be gracefully expanded without having to deal // with a compositor window resize which can generate a lot of visual noise. Server side borders and blur will look notably out of place. "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": "on_demand", // 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" } }, // How much memory (in MB) can be used to cache small image assets in memory directly // The higher this value is the more memory vicinae will use. In exchange for this, you get lower cpu usage. "pixmap_cache_mb": 50, // Keybinds are serialized using a custom format. // It is recommended to edit them through the settings GUI, which will write them to this file. "keybinds": { // common shortcuts "open-search-filter": "control+P", "open-settings": "control+,", "toggle-action-panel": "control+B", // 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": {} }