Skip to content
NeonRostPublic

Latest commit

 

History

40 Commits

Folders and files

Repository files navigation

TOM – Tuco on Meth

TOM Icon

Keep your Mac awake — and looking busy.
A small macOS utility with a window and an optional menu bar icon.
Free, open source, no account, no tracking.

macOS 13 or later Apple Silicon Swift and SwiftUI Languages: English, German, Spanish License: GPLv3 Latest release

Download TOM Follow @NeonRostDEV on X

Features · Download · Permissions · Languages · Building · Support · Website · Manual (PDF)

TOM Screenshot

🌙 Keeps it awake

An IOKit power assertion stops the display and the system from sleeping. No permission needed.

⌨️ Press, hold, pause

Key, mouse movement or mouse click: pressed at an interval, held down, or held and released in a loop.

⏱️ On a timer

Every function runs continuously, for a set duration or until a time of day, then switches itself off.

🛡️ Safe by design

⌃⌥⌘K stops everything instantly. Optional battery protection. Mouse functions never restart by themselves.

Features

Four independent functions, each in its own section you can fold in and out. Every screenshot here is the real app.

The Keep Mac Awake section with a 1 hour 30 minute timer, running and showing when it ends
Keep Mac Awake with a 90-minute timer; the end time is shown while it runs.

Keep Mac Awake

One switch stops the display and the system from going to sleep, regardless of your energy settings. It uses a power assertion, so it needs no permission at all.

Give it a timer and it switches itself off, after a set time or at a time of day.
The Simulate Key Press section in Hold and Pause mode, key T, held for 2 seconds and paused for 5
Hold & Pause: the key is held for 2 seconds, released for 5, and so on.

Simulate Key Press

Sends a real key press via CGEvent. Pick any letter, number, arrow key, special key (Space, Return, Control …) or F13–F19; the labels follow your keyboard layout, QWERTZ and AZERTY included.

Press every 1–600 seconds, Hold until you switch it off, or Hold & Pause in a loop. Starts after a 5-second countdown so you can bring the target window to the front.
The Simulate Mouse Movement section with a 30 second interval and a timer that ends at 18:00
Mouse movement every 30 seconds, until 18:00.

Simulate Mouse Movement

Nudges the pointer one pixel and immediately back at the interval you choose. No click, no visible jump, just enough for the system to see activity.
The Simulate Mouse Click section with the left button, Press mode, a 30 second interval and a 30 minute timer
Left clicks every 30 seconds for the next 30 minutes.

Simulate Mouse Click

Clicks or holds the left or right button wherever the pointer is: press as often as every 0.1 seconds, hold, or hold and pause. Starts after a 5-second countdown and runs as long as you set. An optional 8-hour limit lives in Setup.
The Setup page: show TOM in the menu bar, hide it from the Dock, launch at login, stop mouse click after 8 hours, and battery protection set to 20 percent
The Setup page, opened from the bottom left of the window.

Setup

Show TOM in the menu bar (its icon gets a green dot while anything is on), hide it from the Dock, launch at login, and an optional 8-hour mouse click limit.

Battery protection: on battery power, TOM switches everything off once the charge drops to a level you choose. Everything is off by default; changes apply with Apply.

Safe by design

⌃⌥⌘K stops key press, mouse click and mouse movement immediately, from any app, and releases any key or button TOM is holding.

Mouse movement and mouse click are mutually exclusive, and their on/off states are deliberately not restored on launch: an app that starts clicking by itself after a restart would be dangerous. Quitting TOM releases anything it is holding down.

Settings and the folded state of each section are preserved across restarts.

Requirements

  • macOS 13 (Ventura) or newer
  • Apple Silicon (arm64)

Download

Grab the latest build from the Releases page — either the installer (.dmg: open it and drag TOM onto the Applications folder) or the .zip (unzip it and move TOM.app to your Applications folder).

The app is not notarized, so macOS will refuse to open it on first launch. Go to System Settings → Privacy & Security, scroll down to the message about TOM and click Open Anyway.

Languages

The interface is available in English, German and Spanish, selected automatically from the system language. Unsupported languages fall back to English.

To try a language without changing your system settings, launch the binary directly:

TOM.app/Contents/MacOS/TOM -AppleLanguages '(es)'

Permissions

  • Keep Mac Awake: none.
  • Key press, mouse movement and mouse click: require the Accessibility permission (System Settings → Privacy & Security → Accessibility). The app asks for it the first time you switch one of them on and links straight to the right pane. Note: after rebuilding with an ad-hoc signature, macOS treats the app as new, so the permission may have to be granted again (toggle the checkbox off and on).

The app is not sandboxed — required for CGEvent injection.

Building

Requires Xcode 15 or newer.

The Xcode project is generated from project.yml with XcodeGen, but the generated project is checked in as well:

open TOM.xcodeproj

Then build and run in Xcode (⌘R). After changing project.yml:

brew install xcodegen   # if not already installed
xcodegen generate

Support

TOM is free and always will be. If it saved you some hassle, you can buy me a coffee.

License

Copyright (C) 2026 NeonRost

This program is free software, released under the GNU General Public License, version 3 (or, at your option, any later version). See the LICENSE file for details.