macOS tools and tips

This page lists various tips and tools for macOS.

macOS tips

Here are some useful tips if you are new to macOS. Even if you are not new, these keyboard shortcuts may come in handy.

If you are switching from Windows to macOS, these tips may be useful.

Taking screenshots and videos

On a macOS, there are a few screen shot key shortcuts that can be very helpful:

  • command + shift + 3 - takes a screen shot of your entire screen(s - it will create an image for each screen you have)
  • command + shift + 4 - allows you to select an area on the screen to take a screen shot (it will create one image of your selected area)
  • command + shift + 5 - brings up a tool that allows you to do all of these things as well as create a video (with audio) of all or part of your screen.

In the case of command + shift + 3 and command + shift + 4, if you also hold your control key (so, command + shift + control + 3), your screen shot will be in your clipboard. Alternatively you can quickly select the screenshot preview in the bottom right corner and press command + c.

You can paste the screenshot from your clipboard into a lot of applications with command + v. GitLab supports pasting the screenshot into issue descriptions, comments and the Web IDE.

If you have a screen shot in your clipboard, you can open the Preview and then create an image from the clipboard using the File -> New from clipboard.

For screen recordings, you can use Quicktime Player to capture an area or the full screen. Open the application and, under the File menu, select New Screen Recording, or press command + control + n.

Screenshot productivity tips

To automatically compress your screenshots and move them to a designated directory, so your Desktop directory won’t get cluttered with screenshot files, check this GitLab Unfiltered blog post: One simple trick to make your screenshots 80% smaller.

Disabling macOS notification center

During a presentation or screen share, you might want to disable your notifications on macOS to prevent distractions or possible embarrassment.

The Notification Center can be quickly disabled by Option-Clicking the menu bar icon in the top right of your screen. This disables notifications until the next day. Option-Click again to re-enable immediately. Alternatively, click on the Notification Center icon, then scroll up to reveal the “Do Not Disturb” toggle.

If your laptop is a MacBook with a Touch Bar, note that you can assign a handy “Do Not Disturb” button on your Control Strip. In System Preferences, navigate to Keyboard settings and click “Customize Control Strip…” to add this.

Locking your screen

On your macOS menu bar

  1. Click on the Apple logo  menu
  2. Click “Lock Screen”

Alternatively, you can use the keyboard shortcut ⌃+⌘+Q (ctrl+cmd+Q).

On your macOS Touch Bar

  1. Open System Preferences > Keyboard
  2. Click Customize Control Strip…
  3. Drag the Screen Lock icon to the Touch Bar
  4. Done!

With Alfred

With enabling Alfred and e.g. replacing Spotlight’s Cmd + Space shortcut, you can do speedy locking with your keyboard:

  1. Press Cmd + Space.
  2. Type in lock. After repeating this for a while, you can just type l.
  3. Enter to lock the screen.

With Raycast

With enabling Raycast and e.g. replacing Spotlight’s Cmd + Space shortcut, you can do speedy locking with your keyboard:

  1. Press Cmd + Space.
  2. Type in lock. After repeating this for a while, you can just type l.
  3. Enter to lock the screen.

Keeping your Mac awake

There are some great app-based solutions that will keep your Mac awake listed in the macOS utilities table below, but there’s also a really simple built-in way to do this:

1
> caffeinate -dis

The options being used here are -d to prevent the display from sleeping, -i to prevent the system from idle sleeping, and -s to prevent the system from sleeping when running on AC power. Running the caffeinate command like this will just start a never ending process in your Terminal that you can later ctrl+c (⌃+c) to exit, allowing the system and displays to sleep once again. You can also set a timeout (in seconds) with the -t option to automatically exit the caffeinate command at some later time. For example, to prevent the system or displays from sleeping for 1 hour, you can run:

1
> caffeinate -dist 3600

Docker Desktop

With the licensing changes for Docker Desktop commercial use, we are obligated to purchase a software subscription for use with Docker Desktop. This software cannot be expensed as it requires a subscription.

Please consider using the following alternatives:

  1. Rancher Desktop
  2. Docker engine with multipass
  3. Lima + nerdctl
  4. Colima

Be advised that some of these alternatives could require more resources, more setup time, or might be more complex to setup depending on your skillset.

If none of the alternatives are suitable for your workflow (e.g. there is a limitation of what the software can do), or the setup is too complex, it is possible to get access to a group with access to a license for Docker Desktop.

To request access, please follow these steps:

  1. Create an account on hub.docker.com using your @gitlab.com email. It is not possible to gain access with a non-company email.
  2. Log an Access Request with the Access_Change_Request template, detailing why alternatives are not an option (as noted above).
  3. Once your manager approves the request, assign to the System Provisioner listed in the Tech Stack for this system.

Once your access has been provisioned, you will receive an email notification that you have been added to a specific dockerdesktop team. Following that, you can install Docker desktop, and login with the registered account.

The number of licenses is limited, so provisioning might take time, or might not be temporarily possible to gain access to the team.

If at some point in the future you do not want to use the product anymore, please file an Access Change request, assign to provisioner listed in the Tech Stack so that we can assign the license to someone else.

Usage of Java

Some applications used on MacOS may require Java. The last open-source version of Oracle Java that was released was in January of 2019. All new versions since then require a paid/licensed scubscription. Therefore GitLab no longer supports Oracle Java, and requires all team-members to use an open-source alternative like OpenJDK. Oracle periodicaly audits all downloads of Oracle Java and actively pursues companies that are out of compliance. The IT department therefore enforces a policy that will remove all instances of Oracle Java that are found on team-members machines

To ensure you are using the correct version, use the java -version command.

If OpenJDK is installed, the response will look similar to this:

1
2
3
4
$  java -version
openjdk version "18.0.1" 2022-04-19
OpenJDK Runtime Environment Zulu18.30+11-CA (build 18.0.1+10)
OpenJDK 64-Bit Server VM Zulu18.30+11-CA (build 18.0.1+10, mixed mode, sharing)

If Oracle Java is installed, the response will look similar to this:

1
2
3
4
$ java -version
java version "16.0.1" 2021-04-20
Java(TM) SE Runtime Environment (build 16.0.1+9-24)
Java Hotspot(TM) 64-Bit Server VM (build 16.0.1+9-24, mixed mode, sharing)

Most systems will be running either the OpenJDK version or Java will not be installed. If Java is not installed and you wish to install OpenJDK, open the Self Service app located in your Applications folder and double-click on the app called Java 18 - Open Source.

Self Service entry for Java 18

If you are running the Oracle Java version, you will be automatically notified by the IT Deptartment with a pop-up that looks like this

Jamf Warning about out of data Java

and it will be removed from your machine.

macOS utilities

The following macOS utilities are favourites among GitLab team members. Make sure to join the #macOS Slack channel for Questions and tips about using macOS.

Category Utility Description
Cursor Yoink ~$8 USD, free trial creates a holding pen for drag-and-drop activities to allow cross-monitor or allow rearranging windows during the drag process
Date/Time Clocker Helps you keep track of the time of your team members in different time zones.
Date/Time There Helps you keep track of the time of your team members in different time zones.
Date/Time Itsycal Itsycal is a tiny menu bar calendar. If you want, it will display your events as a companion to the macOS Calendar app.
Date/Time Mini Calendar Mini Calendar is a lightweight application, which helps to access monthly calendar quickly and easily.
Date/Time Dato ~$3 USD System menu bar date and time replacement with current time in various time zones and calendar events
Date/Time Status Clock Status Clock places a second clock on the menu bar for showing the UTC time. Perfect for anyone doing sysadmin work or tasks that require referencing UTC (or any secondary timezone).
Desktop background Downlink Every 20 minutes (or every hour, you pick), Downlink updates your desktop background with the freshest images of Earth.
Media BeardedSpice BeardedSpice is a menubar application for macOS that allows you to control web based media players and some native apps with the media keys found on macOS keyboards.
Menubar Bartender Lets you organize your menu bar icons, by hiding them, rearranging them, show hidden items with a click or keyboard shortcut and have icons show when they update.
Monitoring iStat Menus An advanced macOS system monitor for your menubar
Notes Tyke A little bit of scratch paper that lives on your macOS menu bar.
Productivity HazeOver This app automatically highlights the front window by fading out all the background windows.
Productivity Maccy Clipboard manager - keeps a history of your clipboard.
Productivity Skitch A simple tool to snap a part of your screen and point out details with annotations, shapes, and highlights. IMPORTANT: Do not save screenshots to Evernote as it violates the Acceptable Use Policy.
System control Lungo Lungo prevents macOS from falling asleep and your screen from dimming.
System control Amphetamine Amphetamine can keep your macOS, and optionally its display(s), awake through a super simple on/off switch, or automatically through easy-to-configure Triggers
System control Keeping You Awake (Free & Open Source) Prevents your macOS from entering sleep mode for a predefined duration or as long as it is activated
System control Macs Fan Control Control fans on macOS computers
System control ToothFairy If clicking on 2 things to connect your AirPods is too much, this makes it a single click
System control Muzzle A simple macOS app to silence embarrassing notifications while screensharing
System control Choosy Granular browser selection. Use Chrome for Google apps, Firefox for YouTube, or Zoom links without a browser redirect
Window manager Rectangle Move and resize windows in macOS using keyboard shortcuts or snap areas (based on the no longer supported Spectacle
Window manager Divvy Allows you to quickly and efficiently “divvy up” your screen into exact portions and save arrangements to shortcuts and keybinds
Window manager Magnet macOS doesn’t tile windows aside from full-screen split, for more options, use Magnet
Window manager Moom Moom makes window management as easy as clicking a mouse button—or using a keyboard shortcut, if you’re one of those types of people.
Last modified October 31, 2023: Update links for all migrated sections (5f71f5a9)