id = "rofi" name = "rofi" homepage = "https://github.com/davatorium/rofi" description = "An X11 pop-up window switcher, run dialog, dmenu replacement, and more." # The project's own logo, from the images its documentation is built from. icon = "https://raw.githubusercontent.com/davatorium/rofi/next/mkdocs/docs/images/rofi-logo-full.png" executables = ["rofi"] platforms = ["linux"] [dotfiles] # source/rofi.c: with no -config given, the user configuration file is built as # # const char *cpath = g_get_user_config_dir(); # config_path = g_build_filename(cpath, "rofi", "config.rasi", NULL); # # and source/helper.c resolves a named theme against the same cpath, first # `g_build_filename(cpath, "rofi", "themes", filename, NULL)` and then # `g_build_filename(cpath, "rofi", filename, NULL)`. GLib's # g_get_user_config_dir() is $XDG_CONFIG_HOME with ~/.config as the fallback, # which is what [configHome] means, so one directory covers the config file and # the user's themes. # # The XDG_CONFIG_DIRS and SYSCONFDIR entries the man page describes ("It first # checks XDG_CONFIG_DIRS, and then SYSCONFDIR") are system files such as # /etc/rofi.rasi, not per-user ones. paths = ["[configHome]/rofi/"] # rofi's own state is elsewhere: the man page puts the entry history in the # cache directory, "in a file called rofi-entry-history.txt", and -cache-dir # moves it. Nothing under the config directory needs carving out. secret = [] # No machine_lines: a .rasi file is theme, layout and keybindings, which is # exactly what a user wants carried. Absolute paths would appear in a # -run-command or a custom modi, and those are command lines in the same file # rather than a distinguishable key, so nothing is claimed here.