No description
Find a file
2023-08-17 11:42:19 +02:00
.github ⬆️ bump record GitHub Action to macOS 13 and node 16 2023-08-17 11:42:19 +02:00
.vscode Add support for spaces (and other specials) in keys 2021-04-06 20:53:41 +02:00
build ⬆️ Upgrade vuepress to v1.9.10 2023-08-17 11:42:19 +02:00
images Update recordings to macOS Ventura v13.2 2023-08-17 11:42:19 +02:00
record Update recordings to macOS Ventura v13.2 2023-08-17 11:42:19 +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 Update recordings to macOS Ventura v13.2 2023-08-17 11:42:19 +02:00
defaults.schema.json 🚨 Strengthen JSON schema 2021-04-05 20:10:03 +02:00
defaults.yml Update recordings to macOS Ventura v13.2 2023-08-17 11:42:19 +02:00
diff.sh 🐛 Make script executable 2023-07-24 21:13:18 +02:00
license 🎉 Initial commit 2020-09-13 22:53:07 +02:00
readme.md 🔥 Keep the production build folder only 2022-08-18 11:08:08 +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.

macOS-defaults builder 🤖

This project used to help compare Static Site Generators (SSG). We now removed this part but you can still find an old comparison between a few of them (Docsify, Docusaurus, VuePress and GitHub markdown) in the project history.

Show your support

Give a if this project helped you!


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