Timex 1.6.0 shipped on October 5 without a release post. It was the bigger of the two releases, and it should have had one. Timex 1.7.0 shipped yesterday and adds one thing: Timex now updates itself. This post covers both, starting with the one step you need to take.

Install this one by hand

Copies older than 1.7.0 have no updater, so they can't find this release on their own. Install 1.7.0 once: download it, or run brew upgrade --cask muvon/tap/timex. Name the cask. A plain brew upgrade skips casks that update themselves, and the Timex cask has been marked that way since it was added. Your data stays where it is, in the same local SQLite file.

From 1.7.0 on, Timex checks gettimex.app once a day and downloads a new version in the background. It installs when you quit Timex. A menu bar app rarely quits, so it also installs once you've been away from the Mac for 10 minutes, or for your idle timeout if that's longer. It won't install while a break or its warning is on screen, during a focus session, or while tracking is paused. Then Timex relaunches. Quitting writes the open record to the database first, so the relaunch loses nothing.

Settings → General → Updates has two switches, "Check for updates daily" and "Download and install updates automatically", and a "Check for Updates…" button. The same item is in the menu bar icon's right-click menu and in the app menu. If you turn automatic install off, an update found in the background waits in the popover as "Update to Timex …" instead of an alert behind the app you're working in.

The check downloads a feed from gettimex.app. It sends nothing about you or your activity; the request carries the Timex version. Sparkle, the updater Timex uses, verifies each update's signature before installing it.

Your license sets one limit. A license key covers Timex up to a major version, and Timex won't install an update past it. The daily check skips such a version quietly; a check you start yourself says it's a paid upgrade. A trial copy takes any update. Even when your license covers a new major version, Timex asks before installing it.

If your copy came from the Mac App Store, none of this applies. That build has no updater at all; the App Store updates it.

Breaks that wait for a better moment

Before 1.6, the break overlay landed on schedule, mid-call or mid-sentence. Now a due break waits for a better moment. This is Smart timing, in Settings → Breaks, and it's on by default. During a call the break waits until the call ends, plus a minute. While a fullscreen app or slideshow is in front, it waits up to 10 minutes. While you're typing, it waits for a three-second pause, for up to a minute. During a call there's no warning banner either, so it can't appear on a screen share. Reminders also pause outside your tracking schedule.

The warning banner now takes clicks. "+5 min" moves the break five minutes later, "Start now" starts it, and the close button hides the banner while the break still arrives on time. The overlay has "Postpone 5 min" too, but only before you've answered anything, and a postponed break doesn't count as taken. You get two snoozes per break. Unlimited snoozing turns a reminder into something you learn to dismiss.

A new menu next to the break status in the popover has the rest: snooze the next break, skip it, pause reminders for an hour or until tomorrow, and resume them. Long breaks are new and optional: one in every two to six breaks, 5 to 30 minutes long, 15 by default, with four activities instead of three. They stay off until you choose a cadence.

Focus sessions

The same popover menu starts a focus session of 25, 50 or 90 minutes. The menu bar shows the countdown instead of the current app, and the popover has "+5 min" and "End".

Breaks wait until the session is over. If it runs to the end and break reminders are on, a break follows. Ending early keeps the time and forces no break. During a session, Timex sends a notification after two minutes in a category you weighted as distracting, even with alerts off, and no more than once every 30 minutes.

Tracking pauses can be timed now as well. Right-click the menu bar icon, choose Pause tracking, and pick 15 minutes, an hour, until tomorrow, or until you resume. A timed pause ends by itself, so a forgotten pause doesn't cost you the rest of the day. MCP clients get matching tools: start_focus_session, end_focus_session, snooze_break, pause_break_reminders and get_break_status, and pause_tracking accepts a number of minutes.

Projects

Categories describe what kind of work an hour was. Projects describe what it was for: a client, an organization, a product. The two are separate, so the same hour can be Development and Client A.

A project rule matches text in the window title or URL, ignoring case. It can cover one app or every app, or claim a whole app. Right-click a window title in Today and choose "Add to project…", or right-click an app and choose "Add app to project…". You can create the project in the same sheet. Settings → Projects holds the list. When several projects match, the one higher in the list wins; drag to reorder. Rules apply to past time too, so a rule you write today also sorts last week. Manual entries can take a project.

Once you have a project, Today shows a Projects breakdown, with Unassigned last. Click a project to filter: the header total and the app list narrow to it, and the timeline dims everything else. Click it again to clear the filter.

Projects aren't in the CSV or JSON export yet, and MCP doesn't see them. If you bill by project, Today shows the totals, but you can't export them per project yet.

Energy adapts to you

The 1.5.0 post ended with a plan to calibrate Energy from your own ratings. 1.6 ships that, and it changes enough of the model that parts of the 1.5.0 post are now out of date. Energy is still an estimate of a budget, not a health measurement.

The capacity slider is gone; if you had moved it, that setting no longer applies. Capacity starts at four hours of demanding work and slowly follows your recent workload, within 10% either way. It looks at the past 14 days and counts only days with demanding work. Today shows your capacity once it moves off four hours.

Feedback is optional. The "Today's demanding-work allowance is used" notification now has two buttons, "Still have energy" and "Out of energy". "Out of energy" lowers capacity by 2% for each day you answer that way in the past two weeks, by 20% at most. "Still have energy" only counts after a substantial day, and feedback can raise capacity to five hours at most. Today also has an Energy check-in with two questions: how mentally tired you feel now, and how demanding your last work block was. Timex suggests one at most twice a day, 90 minutes apart, and "Later" dismisses the suggestion.

The demand rating teaches Timex about your categories. Each rating goes to the category that dominated the previous hour and moves its load toward your ratings, with full weight after eight. A rating changes the model from then on. It doesn't rewrite earlier days.

Input now counts in three modes. A key press in the last 10 seconds counts in full. Mouse or trackpad without typing counts at three quarters. No input for more than 10 seconds counts at half, down from 30 seconds in 1.5.0. After eight rated work blocks, Timex can learn your own mouse and quiet rates and a time-of-day factor. It adopts them only if they predict your latest ratings at least 10% better than the defaults.

Calls are narrower. In 1.5.0, any app using the microphone made time count as High. Now a call means the microphone in use by Zoom, Microsoft Teams, FaceTime, Slack or Discord, or by a browser on a Google Meet, Teams or Zoom meeting page. Dictation and voice notes no longer count as High.

Rest works differently. In 1.5.0, a break could only clear the current stretch. Now time away also eases the day's strain, slowly, with a four-hour half-life: an hour away clears about 16% of it. Away means a locked screen, sleep, silence past your idle timeout, a Timex break, or recovery you logged. Paused tracking, excluded apps and time outside your schedule are not rest. The 90-minute stretch still recovers with a 10-minute half-life, and check-ins before and after a break can adjust that for each type of recovery. A Nap no longer resets the stretch at once; it recovers over its length like other rest. A Workout no longer adds capacity.

Carry-over is smaller. Yesterday's overrun is now measured on the strain you still carried when you stopped working, not on raw minutes. A quarter of it applies, capped at 10% of your capacity, and check-ins can adjust both. A stretch that crosses midnight stays one stretch: midnight splits the reports, not the work. The multi-day chart now uses the same calculation as the Today card, so the two agree.

Goals, nudges and a weekly look back

Alerts are still off until you turn them on. Settings → Alerts → Goals & nudges adds a daily focus goal of one to six hours in categories you weighted as focused. You get one notification when you reach it. A distraction nudge, if you set one, comes after 10 to 60 minutes of unbroken time in distracting categories, at most once every 30 minutes: "Still what you meant to do? No judgment, just a check-in."

The weekly review arrives on the first day of your week at 9:00. It shows last week's tracked time, Focus Score and focused hours, compared with the week before. It's on as soon as alerts are on. The daily digest now adds goal progress, breaks taken and skipped, and focus sessions.

Keep less, export more

Settings → General has a new "Keep window titles & URLs" option. The default is Forever. Choose 7, 30, 90 or 365 days and Timex clears older titles and URLs automatically. Apps, websites, categories and totals stay, and rows a keyword rule matched keep their category and project. Backups hold their copies for up to seven more days.

Export adds a JSON version of the detailed log. CSV export now neutralizes cells that look like spreadsheet formulas, because a window title such as =HYPERLINK(...) would otherwise run as a formula when you open the file.

Timex also does less work in the background. The Today window refreshes only while you can see it, and the popover stops updating once it closes. Tracked time is written every 30 seconds instead of every five, and again when you quit. An app that hangs no longer freezes Timex for seconds at a time.

Fixes

When silence passes your idle timeout, the record now ends at your last input. Before, it ran until the timeout fired, so with the default two minutes, every walk-away added about two minutes you weren't there for. Your totals may be slightly lower.

Stay awake now also holds the system-sleep assertion, the same one caffeinate -s takes, so a Mac on power keeps running with the lid closed, as the lid-down post describes. Before 1.6 it didn't hold that assertion, and an idle-sleep assertion alone doesn't cover a closed lid. On battery, macOS still sleeps when you close the lid.

The popover opens and works over another app's full-screen Space. A crash on macOS 26, when the popover changed height while open, is fixed. Spinners and status glyphs that terminal tools put in window titles no longer split one session into many rows. The break overlay covers displays connected or removed mid-break. Shortening the break interval no longer starts a break on the spot.

In 1.7.0, a license check that can't reach the server no longer deactivates your license. Only an explicit rejection from the license server does.

What it still can't tell

Timex still can't tell reading from waiting. Call detection covers the apps and meeting pages listed above; any other call counts at its category's load. Energy now learns from your ratings, but they're coarse self-reports. Timex makes only small changes from a few ratings and checks larger ones against later ratings first. That filters some noise. It doesn't account for sleep, illness or every difference between two tasks. When the score disagrees with how you feel, the score is still the thing that's wrong.

That's 1.6 and 1.7. Still one local SQLite file. Still no account and no telemetry; the daily check sends nothing about you. Timex requires macOS 15 or later and Apple Silicon. If that's your Mac, download the latest version. It's the last one you'll need to download.

— DK