id = "libreoffice" name = "LibreOffice" homepage = "https://www.libreoffice.org" description = "LibreOffice is an open source office suite created by you, for you." icon = "SimpleIcons:libreoffice" # soffice is the command every platform ships and the one the Homebrew cask # wraps ("command_wrapper": ["soffice", …]); libreoffice is the launcher name # the Linux packages install; unopkg is the extension manager that comes with # both (https://formulae.brew.sh/api/cask/libreoffice.json). executables = ["soffice", "libreoffice", "unopkg"] [dotfiles] # https://wiki.documentfoundation.org/UserProfile lists the user profile per # platform: # # %APPDATA%\libreoffice\4\user (LibreOffice 4 and above) # /home//.config/libreoffice/4/user (LibreOffice 4 and above) # ~/Library/Application Support/LibreOffice/4/user (LibreOffice 4 and above) # # Windows and Linux spell the folder libreoffice and land in the config home — # $XDG_CONFIG_HOME and %APPDATA%, which is [configHome] — while macOS spells it # LibreOffice under Application Support. Two spellings of one location that # differ in case, so they are written separately rather than merged; the # filesystem is case-insensitive on both Windows and macOS, so nothing is # missed. The 3 profile is the LibreOffice 3 layout and is not listed: it has # been dead since 2012. paths = [ "[configHome]/libreoffice/4/user/", "~/Library/Application Support/LibreOffice/4/user/", ] # The same wiki page walks the profile folder by folder. These six are state, # caches and installed packages rather than the user's settings, and each one # is carved out of both spellings — a missing counterpart would mean the macOS # tree syncs what the Linux tree drops: # # backup "the file backups you get when enabling the option Always create # backup copy" # temp "may contain an embeddedfonts subfolder … or temporary files … it # may be deleted without ill effect" # store "may either be empty or contain a file named .templdir.cache" # psprint "a pspfontcache file (in which printer fonts are cached) … may be # deleted without ill effect" # extensions / uno_packages # "registered extensions" and "the extensions installed by the # user" — unpacked third-party packages, the office-suite version of # a plugin checkout, and rebuilt by installing the extension again. exclude = [ "[configHome]/libreoffice/4/user/backup/", "~/Library/Application Support/LibreOffice/4/user/backup/", "[configHome]/libreoffice/4/user/temp/", "~/Library/Application Support/LibreOffice/4/user/temp/", "[configHome]/libreoffice/4/user/store/", "~/Library/Application Support/LibreOffice/4/user/store/", "[configHome]/libreoffice/4/user/psprint/", "~/Library/Application Support/LibreOffice/4/user/psprint/", "[configHome]/libreoffice/4/user/extensions/", "~/Library/Application Support/LibreOffice/4/user/extensions/", "[configHome]/libreoffice/4/user/uno_packages/", "~/Library/Application Support/LibreOffice/4/user/uno_packages/", ] # No whole-file credential in the profile: what is left after the carve-outs is # registrymodifications.xcu plus autocorr, autotext, basic, config, database, # gallery, template and wordbook — the user's own settings and content. secret = [] # The stored web/WebDAV passwords, which live inside registrymodifications.xcu. # # svl/source/passwordcontainer/passwordcontainer.cxx binds the container to the # configuration node "Office.Common/Passwords" (`m_xStorageFile.emplace(this, # "Office.Common/Passwords")`) and writes each account under # "Store/Passwordstorage['']/Password" and "/InitializationVector", # alongside the "HasMaster" / "Master" / "MasterInitializationVector" entries # for the master password itself. # # configmgr/source/writemodfile.cxx serialises one node per line: it writes # `