Skip to content

Instantly share code, notes, and snippets.

@GreyAsteroid
Last active April 2, 2024 11:53
Show Gist options
  • Star 16 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save GreyAsteroid/c73028e447d716b02063b0870c12c6be to your computer and use it in GitHub Desktop.
Save GreyAsteroid/c73028e447d716b02063b0870c12c6be to your computer and use it in GitHub Desktop.
Stage Manager Options

defaults write com.apple.WindowManager GloballyEnabled -bool [True/False] Adjusts whether Stage Manager is enabled or not.

defaults write com.apple.WindowManager AutoHide -bool [True/False] Adjusts auto hide behavior. This option controls the "Show Recent Apps" and "Hide Recent Apps" GUI option.

defaults write com.apple.WindowManager AutoHideOverlapThreshold -int [-2147483647...2147483647] Unsure what this option does. Should be noted that when AutoHide is set to False and this option is set to -17 or lower Stage Manager behaves as if AutoHide is set to True.

defaults write com.apple.WindowManager LeftStripMaximumRowCount -int [-2147483647...2147483647] Adjusts the maximum number of "Rows" of Stage Manager windows you can have.

defaults write com.apple.WindowManager LeftStripPileMaximumWindowCount -int [-2147483647...2147483647] Unsure what this option does. I would guess it works in the same vein as LeftStripMaximumRowCount and adjusts the maximum number of windows per row?

defaults write com.apple.WindowManager LeftStripEdgeHorizontalInset -int [-2147483647...2147483647] Adjusts how far from the edge of the screen the Stage Manager windows are.

defaults write com.apple.WindowManager LeftStripPileInterItemHorizontalSpacing -int [-2147483647...2147483647] Adjusts the horizontal spacing between Stage Manager "rows". Should be noted that this will also affect the size of Stage Manager windows.

defaults write com.apple.WindowManager LeftStripPileVerticalSpacing -int [-2147483647...2147483647] Adjusts the vertical spacing between Stage Manager "rows".

defaults write com.apple.WindowManager AppIconSize -int [-2147483647...2147483647] Adjusts the size of Stage Manager icons.

defaults write com.apple.WindowManager LeftStripAppIconBottomOffset -int [-2147483647...2147483647] Adjusts how far from the bottom of a Stage Manager window the icon sits.

defaults write com.apple.WindowManager LeftStripAppIconLeftOffset -int [-2147483647...2147483647] Adjusts how far the icon is from the edge of the screen.

defaults write com.apple.WindowManager ItemWidth -int [-2147483647...2147483647] defaults write com.apple.WindowManager HorizontalInset -int [-2147483647...2147483647] Both of these options seem to accomplish the same thing. When AutoHide is enabled you can bring up Stage Manager by moving your mouse to the edge of the screen. These adjust how far away from the edge your mouse can move before Stage Manager hides again. However they also seem to effect the width of newly opened windows.

defaults write com.apple.WindowManager VerticalInset -int [-2147483647...2147483647] Similar to HorizontalInset, this option effects the height of newly opened windows.

@zenangst
Copy link

zenangst commented Oct 26, 2022

@GreyAsteroid Fantastic list of things to customize, helped me to show more applications when using the Dock at the bottom 🤩

I'm curious how you came about getting the actual keys that you can customize.

@zenangst
Copy link

zenangst commented Dec 8, 2022

@akash-kd
Copy link

where did u get all the info from ??

@zenangst
Copy link

@akash-kd I managed to get the same kind of information by using the nm tool on the WindowManager binary.

@akash-kd
Copy link

could elaborate how to use it properly, please.

@zenangst
Copy link

If you run the following command:

nm /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager

You get the symbol table for WindowManager, which basically is Stage Manager.
So if you start searching the output for things like preferences or animationSpeed.

You'll see results like these:

image

You might have to use https://www.hopperapp.com or something similar to deduce which values correspond to the preference keys.

Hope this helps.

@akash-kd
Copy link

thanks a lot bro. 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment