The Satty configuration file is located at XDG_CONFIG_DIR/.config/satty/config.toml. It uses TOML format and allows customizing almost all behaviors, including fullscreen mode, initial tools, output filenames, and keybindings.
Example configuration structure:
[general]
fullscreen = false
initial-tool = "brush"
output-filename = "/tmp/test-%Y-%m-%d_%H:%M:%S.png"
actions-on-enter = ["save-to-clipboard"]
actions-on-escape = ["exit"]
[keybinds]
pointer = "p"
brush = "b"
[font]
family = "Roboto"
style = "Regular"
[color-palette]
palette = ["#f0932bff", "#eb4d4bff"]
# Satty Configuration file
[general]
# Start Satty in fullscreen mode
fullscreen = false
# fullscreen = true
# since 0.20.1, this can be written like below. Current is just the current screen, all is all screens. This may depend on the compositor.
#fullscreen = "all"
#fullscreen = "current-screen"
# resize initially (0.20.1)
resize = { mode = "smart" }
# resize = { mode = "size", width = 2000, height = 800 }
# try to have the window float (0.20.1). This may depend on the compositor.
floating-hack = true
# Change to true to automatically copy to clipboard after every annotation change (0.21.0)
auto-copy = false
# Exit directly after copy/save action. 0.21.0: change to list of triggers
# Note that exit-early-save-as was removed with 0.21.0.
early-exit = ["all"]
# is equivalent to both
# early-exit = ["copy", "save", "save-as"]
# early-exit = true
# Draw corners of rectangles round if the value is greater than 0 (0 disables rounded corners)
corner-roundness = 12
# Select the tool on startup [possible values: pointer, crop, line, arrow, rectangle, text, marker, blur, brush]
initial-tool = "brush"
# Configure the command to be called on copy, for example `wl-copy`
copy-command = "wl-copy"
# Increase or decrease the size of the annotations
annotation-size-factor = 2
# Filename to use for saving action. Omit to disable saving to file. Might contain format specifiers: https://docs.rs/chrono/latest/chrono/format/strftime/index.html
# starting with 0.20.0, can contain leading tilde (~) for home directory
# starting with 0.21.0, save as uses this as initial filename/path when available
output-filename = "/tmp/test-%Y-%m-%d_%H:%M:%S.png"
# After copying the screenshot, save it to a file as well
save-after-copy = false
# Hide toolbars by default
default-hide-toolbars = false
# Experimental (since 0.20.0): whether window focus shows/hides toolbars. This does not affect initial state of toolbars, see default-hide-toolbars.
focus-toggles-toolbars = false
# Fill shapes by default (since 0.20.0)
default-fill-shapes = false
# The primary highlighter to use, the other is accessible by holding CTRL at the start of a highlight [possible values: block, freehand]
primary-highlighter = "block"
# Disable notifications
disable-notifications = false
# Actions to trigger on right click (order is important)
# [possible values: save-to-clipboard, save-to-file, save-to-file-as, copy-filepath-to-clipboard, exit]
actions-on-right-click = []
# Actions to trigger on Enter key (order is important)
# [possible values: save-to-clipboard, save-to-file, save-to-file-as, copy-filepath-to-clipboard, exit]
actions-on-enter = ["save-to-clipboard"]
# Actions to trigger on Escape key (order is important)
# [possible values: save-to-clipboard, save-to-file, save-to-file-as, copy-filepath-to-clipboard, exit]
actions-on-escape = ["exit"]
# Action to perform when the Enter key is pressed [possible values: save-to-clipboard, save-to-file]
# Deprecated: use actions-on-enter instead
action-on-enter = "save-to-clipboard"
# Right click to copy
# Deprecated: use right-click-copy instead
right-click-copy = false
# request no window decoration. Please note that the compositor has the final say in this. At this point. requires xdg-decoration-unstable-v1.
no-window-decoration = true
# experimental feature: adjust history size for brush input smoothing (0: disabled, default: 0, try e.g. 5 or 10)
brush-smooth-history-size = 10
# experimental feature (0.20.1): The pan step size to use when panning with arrow keys.
pan-step-size = 50.0
# experimental feature (0.20.1): The zoom factor to use for the image.
# 1.0 means no zooming.
zoom-factor = 1.1
# experimental feature (0.20.1): The length to move the text when using arrow keys. defaults to 50.0
text-move-length = 50.0
# experimental feature (0.20.1): Scale factor on the input image when it was taken (e.g. DPI scale on the monitor it was recorded from).
# This may be more useful to set via the command line.
# Note, before 0.21.0 this is ignored with explicit resize.
input-scale = 1.0
# experimental feature (0.21.0): set window title
title = "Satty"
# experimental feature (0.21.0): set app_id, note that this has to match D-Bus well-known name format, otherwise GTK does not accept it.
app-id = "org.satty.satty"
# Tool selection keyboard shortcuts (since 0.20.0)
[keybinds]
pointer = "p"
crop = "c"
brush = "b"
line = "i"
arrow = "z"
rectangle = "r"
ellipse = "e"
text = "t"
marker = "m"
blur = "u"
highlight = "g"
# Font to use for text annotations
[font]
family = "Roboto"
style = "Regular"
# specify fallback fonts (0.20.1)
# Please note that there is no default setting for these and the fonts listed below
# are not shipped with Satty but need to be available on the system.
# An installed color emoji font (e.g. Noto Color Emoji) is picked up automatically
# as the last fallback, so emoji render without extra configuration. (NEXTRELEASE)
fallback = [
"Noto Sans CJK SC",
# "Noto Sans CJK JP",
# "Noto Sans CJK TC",
# "Noto Sans CJK KR",
# "Noto Serif CJK JP",
# "Noto Serif JP",
# "IPAGothic",
# "IPAexGothic",
# "Source Han Sans",
# add or remove as needed may make satty slower
]
# Custom colours for the colour palette
[color-palette]
# These will be shown in the toolbar for quick selection
palette = [
# RRGGBBAA format, where AA is the alpha channel
# (00 is fully transparent, ff is fully opaque)
"#f0932bff",
"#eb4d4bff",
"#6ab04cff",
"#22a6b3ff",
"#130f40FF",
# add or remove as needed
]
# These will be available in the color picker as presets
# Leave empty to use GTK's default
custom = [
# "#a52a2a",
# "#ffd700",
# "#008000",
# add or remove as needed
]