Skip to main content
Adding instructions for yabai
Source Link
fiedl
  • 693
  • 5
  • 10

Option 1: Mission-Control Setting "Displays have separate Spaces"

I'm not entirely sure if this is what you're looking for:

If you go to "System Preferences" ➝ "Mission Control", then uncheck "Displays have separate Spaces":

System Preferences

This will couple the spaces of all screens. So if you swipe or switch to another space on one screen, the other screens will also switch to the corresponding space.

Option 2: Use a window manager

If you would like to configure the behaviour and the keyboard shortcuts exactly the way you want and you are willing to spend some time to configure it, consider using a window manager. A nice window manager for macOS is yabai.

yabai is a window management utility that is designed to work as an extension to the built-in window manager of macOS. yabai allows you to control your windows, spaces and displays freely using an intuitive command line interface and optionally set user-defined keyboard shortcuts using skhd and other third-party software.

  1. Install the homebrew package manager

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. Install yabai

    brew install yabai
    
  3. For switching spaces to work, you might also need to disable the system-integrity protection: https://github.com/koekeishiya/yabai/wiki/Disabling-System-Integrity-Protection -- Maybe have a look at the wikipedia article to decide whether you are ok with that.

  4. Make sure to install and load yabai's scripting addition

    sudo yabai --install-sa
    sudo yabai --load-sa
    
  5. Depending on whether you would like to use window tiling, window-focus features etc., configure yabai in the ~/.yabairc file.

  6. In order to bind window-manager commands to keyboard shortcuts, install skhd:

    brew install koekeishiya/formulae/skhd
    brew services start skhd
    
  7. Configure shortcuts in ~/.skhdrc. For example, to bind Command+Ctrl+1 to switch to spaces 1 (on screen 1) and 6 (on screen 2), and to bind Ctrl+1 to switch to space 1 (on screen 1) only, use this configuration:

    # ~/.skhdrc
    ctrl - 1 : yabai -m space --focus 1
    cmd + ctrl - 1 : yabai -m space --focus 1 && yabai -m space --focus 6
    

I'm not entirely sure if this is what you're looking for:

If you go to "System Preferences" ➝ "Mission Control", then uncheck "Displays have separate Spaces":

System Preferences

This will couple the spaces of all screens. So if you swipe or switch to another space on one screen, the other screens will also switch to the corresponding space.

Option 1: Mission-Control Setting "Displays have separate Spaces"

I'm not entirely sure if this is what you're looking for:

If you go to "System Preferences" ➝ "Mission Control", then uncheck "Displays have separate Spaces":

System Preferences

This will couple the spaces of all screens. So if you swipe or switch to another space on one screen, the other screens will also switch to the corresponding space.

Option 2: Use a window manager

If you would like to configure the behaviour and the keyboard shortcuts exactly the way you want and you are willing to spend some time to configure it, consider using a window manager. A nice window manager for macOS is yabai.

yabai is a window management utility that is designed to work as an extension to the built-in window manager of macOS. yabai allows you to control your windows, spaces and displays freely using an intuitive command line interface and optionally set user-defined keyboard shortcuts using skhd and other third-party software.

  1. Install the homebrew package manager

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. Install yabai

    brew install yabai
    
  3. For switching spaces to work, you might also need to disable the system-integrity protection: https://github.com/koekeishiya/yabai/wiki/Disabling-System-Integrity-Protection -- Maybe have a look at the wikipedia article to decide whether you are ok with that.

  4. Make sure to install and load yabai's scripting addition

    sudo yabai --install-sa
    sudo yabai --load-sa
    
  5. Depending on whether you would like to use window tiling, window-focus features etc., configure yabai in the ~/.yabairc file.

  6. In order to bind window-manager commands to keyboard shortcuts, install skhd:

    brew install koekeishiya/formulae/skhd
    brew services start skhd
    
  7. Configure shortcuts in ~/.skhdrc. For example, to bind Command+Ctrl+1 to switch to spaces 1 (on screen 1) and 6 (on screen 2), and to bind Ctrl+1 to switch to space 1 (on screen 1) only, use this configuration:

    # ~/.skhdrc
    ctrl - 1 : yabai -m space --focus 1
    cmd + ctrl - 1 : yabai -m space --focus 1 && yabai -m space --focus 6
    
Source Link
fiedl
  • 693
  • 5
  • 10

I'm not entirely sure if this is what you're looking for:

If you go to "System Preferences" ➝ "Mission Control", then uncheck "Displays have separate Spaces":

System Preferences

This will couple the spaces of all screens. So if you swipe or switch to another space on one screen, the other screens will also switch to the corresponding space.