Throughout the day, my typical work flow revolves around these major areas:
- Work communication and task management (webmail and calendar)
- Personal communication and task management (webmail and calendar)
- Web browsing (work and personal)
- Terminal (console applications and remote access)
- Virtual communication (text and video)
- Note taking
- Coding, documentation, and blogging
My daily driver computer is a MacBook Pro. This setup allows me to move between offices, meetings, and remote work locations without having to switch between devices. The downside of a laptop is the single 15" screen. Desktop space is at a premium. It is not uncommon for me to have 20+ applications open at one time. Organizing the desktop and switching between tasks becomes unwieldy as the application count increases.
This is where virtual desktops come into play. Think of virtual desktops like a pile of monitors attached to your computer, but sitting on the floor. In order to use a monitor you must first remove the active display on the desk and swap it with one of the monitors on the floor. Each monitor corresponds to a set of applications. Everything is neatly organized and easy to find. The problem is switching between displays. Virtual desktops eliminate the complicated swapping process. Moving between displays is handled with the press of a button or the swipe of a trackpad.
To create a new desktop on macOS, three-finger swipe up on the trackpad or press the mission control button. This brings up the desktop menu bar. Click the
Here is how I have virtual desktops organized on the laptop:
I prefer to press CTRL +
<number> to switch between desktops. This feature is not enabled by default in macOS. To enable:
System Preferences -> Keyboards -> Shortcuts -> Mission Control:
Here is an example where I cycle between all 9 desktops by pressing CTRL + 1, 2, 3, 4, 5, 6, 7, 8, 9:
Virtual desktops have been around since the 1980’s when Amiga first introduced them. It became more main stream when Unix display managers had virtual desktops as part of the standard build. I can’t imagine working on an operating system that does not incorporate the ability to organize and quickly move between displays. Virtual desktops are a critical part of my daily workflow.