Back to Home

Settings

Complete configuration reference for pm7-Terminal.

Configuration Files

pm7-Terminal stores settings in JSON format for easy editing and theme support.

Main Settings

~/.pm7-Terminal/settings.json

Ghostty Config (auto-synced)

~/.pm7-Terminal/config

Theme Files

~/.pm7-Terminal/settings-<theme-name>.json

Session State

~/.pm7-Terminal/session.json

General Settings

workingDirectoryString?

Default working directory for new terminal windows.

Default: nil (uses home directory)

startupModeString

How to start the terminal - restore previous session or start fresh.

Default: "restore"

Options: "restore", "fresh"

closeButtonActionString

What happens when clicking the red close button.

Default: "askMenu"

Options: "askMenu", "closeTab", "closeWindow"

shellCommandString?

Shell command to use for new terminals.

Default: "/bin/zsh"

Font Settings

fontFamilyString?

The font family to use for terminal text.

Default: "SF Mono"

fontSizeDouble

Font size in points.

Default: 22.0

fontWeightString

Font weight/style for terminal text.

Default: "Light"

Options: "Light", "Regular", "Medium", "Semibold", "Bold"

letterSpacingInt

Letter spacing adjustment in pixels (positive = wider, negative = tighter).

Default: 0

lineSpacingInt

Line spacing adjustment in pixels (positive = taller, negative = shorter).

Default: 0

Color Settings

backgroundColorString?

Terminal background color as hex string.

Default: "#FEFFFF"

foregroundColorString?

Terminal text color as hex string.

Default: "#000000"

cursorColorString?

Cursor color as hex string.

Default: "#000000"

selectionBackgroundString?

Selection background color as hex string.

Default: "#4977D8"

selectionForegroundString?

Selection text color (nil = auto contrast).

Default: nil

backgroundOpacityDouble

Background opacity (0.0 to 1.0).

Default: 1.0

backgroundBlurBool

Enable background blur effect.

Default: false

backgroundBlurRadiusInt

Blur radius when blur is enabled.

Default: 20

Terminal Padding

Padding settings have two modes: Normal (Command Center visible) and Minimized (Command Center hidden).

paddingTop / paddingTopMinimizedInt

Top padding in pixels.

Default: 10

paddingBottom / paddingBottomMinimizedInt

Bottom padding in pixels.

Default: 10

paddingLeft / paddingLeftMinimizedInt

Left padding in pixels.

Default: 10

paddingRight / paddingRightMinimizedInt

Right padding in pixels.

Default: 10

paddingBackgroundColorString?

Background color for the padding area.

Default: "#FEFFFF"

paddingCornerRadius / paddingCornerRadiusMinimizedInt

Corner radius for the terminal content area.

Default: 0

innerPadding / innerPaddingMinimizedInt

Inner padding between terminal edge and text.

Default: 0

terminalBorderColorFocusedString?

Border color when terminal is focused.

Default: nil (no border)

terminalBorderColorUnfocusedString?

Border color when terminal is not focused.

Default: nil (no border)

Titlebar Settings

titlebarColor / titlebarColorMinimizedString?

Titlebar background color.

Default: "#F8F8F8"

titlebarDividerColor / titlebarDividerColorMinimizedString?

Divider line color below titlebar.

Default: "#E5E5E5"

Command Center Settings

commandCenterEnabledBool

Whether Command Center is visible.

Default: true

commandCenterHeightDouble

Height of Command Center in pixels (80-400).

Default: 160

commandCenterFontSizeDouble

Font size for Command Center input (10-24).

Default: 13

commandCenterFontWeightString

Font weight for Command Center input.

Default: "Regular"

commandCenterFontFamilyString?

Font family for Command Center (nil = system default).

Default: nil

commandCenterBackgroundColorString?

Background color for the input field.

Default: "#FEFFFF"

commandCenterBorderColorFocusedString?

Border color when input is focused.

Default: nil

commandCenterBorderColorUnfocusedString?

Border color when input is not focused.

Default: nil

commandCenterFontColorFocusedString?

Text color when input is focused.

Default: nil (system)

commandCenterFontColorUnfocusedString?

Text color when input is not focused.

Default: nil (system)

commandCenterAreaBackgroundColorNormalString?

Background for entire Command Center area (normal mode).

Default: "#F8F8F8"

commandCenterAreaBackgroundColorMinimizedString?

Background for entire Command Center area (minimized mode).

Default: "#F8F8F8"

commandCenterDividerColorNormalString?

Divider between Command Center and terminal (normal mode).

Default: "#E4E4E4"

commandCenterDividerColorMinimizedString?

Divider between Command Center and terminal (minimized mode).

Default: "#E4E4E4"

commandCenterTopPaddingInt

Top padding for Command Center in pixels.

Default: 7

commandCenterBottomPaddingInt

Bottom padding for Command Center in pixels.

Default: 2

commandCenterShowAIActionsButtonBool

Show AI Actions button in toolbar.

Default: true

commandCenterShowExecuteButtonBool

Show Execute button in toolbar.

Default: true

commandCenterShowHistoryButtonBool

Show History button in toolbar.

Default: true

commandCenterRestoreHeightOnExecuteBool

Restore height to normal after executing (when maximized).

Default: true

commandCenterSendModeString

How to send commands to terminal.

Default: "execute"

Options: "execute" (send + Enter), "paste" (send only)

commandCenterEmptyExecutesEnterBool

Whether empty input sends Enter to terminal.

Default: true

AI Settings

globalAISettingsObject

Global AI provider settings including API keys for various providers (Anthropic, OpenAI, etc.).

aiActionsArray

Configured AI actions that appear in the Command Center toolbar.

Window Mode Settings

isWindowPinnedBool

Lock window position and size.

Default: false

keepOnTopBool

Keep window floating above other windows.

Default: false

isMaximizedBool

Whether window is currently maximized.

Default: false

normalWindowSettingsPerConfigObject

Normal mode window size/position per monitor configuration.

maximizeWindowSettingsPerConfigObject

Maximize mode window size/position per monitor configuration.

Theme Settings

currentThemeString

Name of the active theme (matches filename: settings-<name>.json).

Default: "default"

Themes are stored as separate JSON files. Create a theme by saving your current settings or create ~/.pm7-Terminal/settings-mytheme.json manually.