No description
Find a file
2022-08-18 11:08:08 +02:00
.github ⬆️ Update record GitHub action to newest macOS versions 2022-08-18 11:08:08 +02:00
.vscode Add support for spaces (and other specials) in keys 2021-04-06 20:53:41 +02:00
build ⬆️ Upgrade markdown-it to v13 2022-08-17 14:26:39 +02:00
images Add finder showWindowTitlebarIcons screenshots and record script 2022-08-18 11:08:08 +02:00
record ⬆️ Upgrade glob-promise to v5 2022-08-18 11:08:08 +02:00
.gitignore 🔨 Add diff.sh bash script to discover defaults command 2022-08-16 15:56:21 +02:00
.prettierignore 🔧 Add lint command using Prettier 2020-11-27 14:39:16 +01:00
.prettierrc 🔧 Add lint command using Prettier 2020-11-27 14:39:16 +01:00
CODE_OF_CONDUCT.md 📝 Add a code of conduct 2020-10-05 19:46:54 +02:00
defaults-fr.yml ⬆️ Add Monterey compatibility info 2021-12-20 18:55:06 +01:00
defaults.schema.json 🚨 Strengthen JSON schema 2021-04-05 20:10:03 +02:00
defaults.yml Add finder showWindowTitlebarIcons screenshots and record script 2022-08-18 11:08:08 +02:00
diff.sh 🔨 Add diff.sh bash script to discover defaults command 2022-08-16 15:56:21 +02:00
license 🎉 Initial commit 2020-09-13 22:53:07 +02:00
readme.md 📝 Update project status to stable, add @macos_defaults Twitter, remove blockquotes 2022-08-17 11:28:21 +02:00

Welcome to macOS-defaults 👋

macos-defaults.com status Documentation License: MIT Twitter: macos_defaults Twitter: _YannBertrand

Stability: 2 - Stable

https://macos-defaults.com

defaults commands allow you to programmatically set System Settings of your Mac. 🤖⚙️🔧

An up-to-date list of macOS defaults commands with demos.

Add a command

All the listed defaults commands are stored in localized defaults*.yml files. Here is how a command's info is designed:

      - key: the-command-name-separated-with-dashes # The command's key
        domain: com.some-domain.app-name # The command's domain
        title: My command
        description: Explaining what my command does.
        param:
          type: bool # Other types can be used
        examples: # A list of examples
          - value: false # This example sets the value to `false`
            default: true # `false` is the default value of the command
            image: # Optional: an auto recorded screenshot
              filename: "false.png"
              width: 800
              height: 600
            text: Explaining what happens when the command is set to `false`
          - value: true # This one sets the value to `true`
            image:
              filename: "true.png" # The name of the image
              width: 800 # The width of the image
              height: 600 # And its height
            text: Explaining what happens when the command is set to `true`
        versions: [Big Sur, Catalina] # It's been tested on Big Sur and Catalina

You can validate these files locally using the provided JSON schema using the VSCode YAML Language support extension or on the CLI with:

npx pajv validate -s defaults.schema.json -d defaults.yml

Images and videos are built programmatically. Take a look at the record folder to find out how to record some. I will always prefer images and videos examples as they help maintenance a lot! Please consider it if you want to open a PR.

How to discover a defaults command

Using this bash script (bash ./diff.sh), you'll be able to find out which key changed when you change a system or app settings.

After you find the key with your options, simply run defaults find ${keyname} to find the domain it is saved in.

macOS-defaults recorder 📷

Programmatically record a Mac screen with a predefined list of actions 📹.

The project also contains scripts that run desktop actions, take screenshots or record videos. The goal is to avoid having to manually recheck the status of commands with each new major version of macOS.

How does it work?

Take a look at the record folder if you want to go deeper.

Show your support

Give a if this project helped you!


This README was generated with ❤️ by readme-md-generator