id = "grsync" name = "Grsync" homepage = "https://www.opbyte.it/grsync/" description = "Grsync is used to synchronize folders, files and make backups." # The Grsync icon, from the project's own page. icon = "https://www.opbyte.it/grsync/grsync-icon.png" executables = ["grsync"] platforms = ["linux"] [dotfiles] # From the official source tarball (http://www.opbyte.it/release/grsync-1.3.1.tar.gz), # src/callbacks.c, on_main_create(): # # grsync_dir = g_strconcat(g_get_user_config_dir(), "/grsync", NULL); # if (!g_file_test(grsync_dir, …IS_DIR)) { # grsync_dir = g_strconcat(g_get_home_dir(), "/.grsync", NULL); # if (!g_file_test(grsync_dir, …IS_DIR)) # grsync_dir = g_strconcat(g_get_user_config_dir(), "/grsync", NULL); # } # # So the XDG config directory is the modern home and ~/.grsync is used only # when that older directory already exists. [configHome] rather than a literal # ~/.config because g_get_user_config_dir() is $XDG_CONFIG_HOME. # # The settings file inside is grsync.ini — callbacks.c reads and writes it as a # GLib key file, one [section] per saved session plus a [__CONFIG] section, and # the shipped src/grsync-batch helper reads ~/.grsync/grsync.ini directly. # There is no GConf, GSettings or dconf anywhere in the source. paths = [ "[configHome]/grsync/grsync.ini", "~/.grsync/grsync.ini", ] # Sessions exported one at a time are written as .grsync wherever the # user picks in the file chooser, so there is no fixed second location and # nothing inside the paths above to carve out. exclude = [] # Grsync stores no credential: remote transfers are handed to rsync and ssh, # which authenticate through ~/.ssh. secret = [] # No machine_lines. Every saved session names an absolute source and # destination, which is machine-shaped — but it is also the entire content of a # session, and a saved backup job stripped of the two directories it copies # between is not worth carrying. The rest of the file is rsync flags, which # travel fine.