No description
Find a file
2022-08-16 16:59:37 +02:00
.github 🚚 Rename master branch with main 2022-08-16 11:38:01 +02:00
.vscode Add support for spaces (and other specials) in keys 2021-04-06 20:53:41 +02:00
build 🚚 Rename master branch with main 2022-08-16 11:38:01 +02:00
images Update recordings to MacOS Monterey v12.2-beta 2021-12-20 18:55:06 +01:00
record 🔨 Rename lint script to format 2021-12-21 12:19:30 +01: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 desktop ShowHardDrivesOnDesktop command 2022-08-16 16:59:37 +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 🔨 Add diff.sh bash script to discover defaults command 2022-08-16 15:56:21 +02:00

Welcome to macOS-defaults 👋

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

Stability: 1 - Experimental

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 builder 🤖

Compare Static Site Generators by automatically building websites from this yaml file content 🏗.

It currently builds to:

GitHub Flavored Markdown VuePress Docusaurus docsify
latest 1.6.0 1.14.6 latest

Features

/ GitHub VuePress Docusaurus docsify
Stars N/A
No JS needed
Code highlight
docs

docs
(Prism.js)

docs
(Highlight.js)

docs
(plugin Prism.js)
Search
(plugin)
Video support
Official themes 1 1 1 4
Netlify build time N/A 57s 1m 1s 38s
Click to copy code
(plugin)
Category page
Default port N/A 8080 3000 3000

How does it work?

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