id = "prusa-slicer" name = "PrusaSlicer" homepage = "https://www.prusa3d.com/slic3r-prusa-edition/" # The project's own repository description. description = "G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)" # The app icon PrusaSlicer ships in its own resources/icons. icon = "https://raw.githubusercontent.com/prusa3d/PrusaSlicer/master/resources/icons/PrusaSlicer_128px.png" executables = ["prusa-slicer", "PrusaSlicer", "prusa-slicer-console"] [dotfiles] # The data directory is `get_default_datadir()` in the project's own source, # src/slic3r-base/src/Slic3r/Directories.cpp: the application name joined onto # `get_platform_data_dir()`, which is compiled per platform in the same file # and its macOS companion DirectoriesMacUtils.mm: # # macOS URLForDirectory:NSApplicationSupportDirectory inDomain:NSUserDomainMask # → ~/Library/Application Support # Linux getenv("XDG_CONFIG_HOME"), else $HOME/.config # Windows SHGetFolderPathW(CSIDL_APPDATA) → %APPDATA% # # Those three are one location under three names, which is what [appData] # stands for, and PrusaSlicer reads $XDG_CONFIG_HOME itself so the named root # is right rather than a hard-coded ~/.config. The Homebrew cask's zap stanza # agrees on the macOS half: ~/Library/Application Support/PrusaSlicer # (https://formulae.brew.sh/api/cask/prusaslicer.json). # # The glob is the suffix the same function appends: `datadir_name` is the app # name plus "-dev" for an alpha or beta build (and, on the in-development 3.x # line, the major version), so a machine can have PrusaSlicer beside # PrusaSlicer-alpha. Inside are PrusaSlicer.ini and the user's own print, # filament, printer and physical_printer presets. paths = ["[appData]/PrusaSlicer*/"] # GUI_App.cpp unlocks its instance lock file under `data_dir() + "/cache/"`, so # that subdirectory is per-run bookkeeping inside the tree above. exclude = [ "[appData]/PrusaSlicer*/cache/", ] # Presets, printer profiles and window settings. Nothing in the data directory # is a credential: PrusaSlicer's own physical-printer entries for PrusaLink and # PrusaConnect are the one place an API key could appear, and they are per-host # settings the user enters, not a file that is a credential end to end. secret = [] # No machine_lines: the presets are the whole reason to carry this directory, # and PrusaSlicer.ini's machine-flavoured keys are window geometry and the last # used output directory, which live under section headers the format writes # without a stable key prefix — a rule on them would be a guess.