# Complete Magritte configuration example # # Copy this file to ~/.config/magritte/config.toml, then uncomment what you # want to change. Every entry is commented out, so adopting the file as-is # changes nothing: Magritte uses its default for every omitted setting. # Repository overrides use the same format at .git/magritte/config.toml. # Appearance # appearance = "auto" # auto, light, or dark # light_theme = "Selenized Light" # dark_theme = "Selenized Black" # font = "" # System UI Monospace by default # ui_font = "" # Same as `font` by default # font_size = 13 # System default size when omitted # app_icon = "son-of-man" # son-of-man, pipe, golconda, or magic # Files and commit messages # editor = "zed" # commit_in_editor = false # commit_editor = "nvim" # commit_title_ruler = true # commit_body_wrap = true # commit_vim_mode = false # General behavior # keymap_preset = "evil" # evil or vanilla # which_key_delay_ms = 1000 # auto_refresh = true # refresh_on_focus = true # show_tags_in_title_bar = false # check_for_updates = true # published_branches = ["origin/main", "origin/master"] # Warns when rewriting on these # Status sections appear in this order. Remove an id to hide that section # ("ignored" is the one hidden by default). # [status] # sections = [ # "untracked", # "unstaged", # "staged", # "stashes", # "unpulled", # "unpulled-pushremote", # "unpushed", # "unpushed-pushremote", # "recent", # "ignored", # ] # recent_count = 10 # Periodically fetch the current branch's configured remote. # [fetch] # auto = true # default false # interval_minutes = 30 # Keys map to command ids. Sequences use spaces between keys. # [keymap] # "K" = "branch-delete" # ". R" = "refresh" # "cmd-r" = "refresh" # ". S" = "user.sync" # "x" = "unbound" # Separate commit-editor Vim sequence steps with spaces. # [vim.keymap] # "Q" = "cancel" # "; w" = "commit" # "cmd-enter" = "commit" # "g z" = "help" # Custom commands run through sh -c in the repository root. # [[command]] # id = "user.sync" # title = "Sync {branch}" # run = "git pull --rebase && git push" # refresh = true # Refresh screen after running; defaults to true # confirm = false # Never ask; unset asks when the command looks destructive # [[command]] # id = "user.test" # title = "Run tests" # run = "cargo test" # refresh = false # confirm = true # Always ask before running # Available command placeholders: # {file}, {commit}, {branch}, {upstream}, {push-remote}, {default-branch}, # and {default-remote}. Magritte shell-quotes values before substitution. # Transient entries can add actions, add switches, move built-ins, or remove # built-ins. Entries apply in the order written. # [transient.branch] # "X" = "branch-delete" # Bare action # [transient.fetch] # "-d" = "--depth=1" # Bare switch # "-j" = { flag = "--jobs=4", description = "Use four parallel jobs", after = "-p" } # [transient.commit] # "Q" = { command = "user.test", before = "c" } # Placed action # "W" = { command = "user.sync", group = "Create" } # Grouped action # "f" = { after = "c" } # Move Fixup after Commit # "F" = { group = "Edit" } # Move Instant fixup into Edit # "-n" = "unbound" # Remove the built-in --no-verify switch