{"id":399,"date":"2026-04-21T09:12:00","date_gmt":"2026-04-21T16:12:00","guid":{"rendered":"https:\/\/dejal.com\/blog\/?p=399"},"modified":"2026-04-21T09:12:15","modified_gmt":"2026-04-21T16:12:15","slug":"timeout-3-0","status":"publish","type":"post","link":"https:\/\/dejal.com\/blog\/timeout-3-0\/","title":{"rendered":"Announcing Time Out 3.0 release"},"content":{"rendered":"<body><p><\/p>\n<p>I\u2019m pleased to announce the release of version 3.0 of <a href=\"https:\/\/dejal.com\/timeout\/\">Time Out<\/a>, my popular break reminder app for Mac. \ud83c\udf89<\/p>\n<p>This update includes several huge improvements:<\/p>\n<ul>\n<li>Time Out now <strong>requires a minimum of macOS Tahoe (26.0)<\/strong>, and has been updated to support Liquid Glass, modern icons, and other recent technologies.<\/li>\n<li>New theme editor, making it easier than ever to add custom themes.<\/li>\n<li>New <strong>YouTube<\/strong>, <strong>Images<\/strong>, and <strong>Text<\/strong> theme types, joining the existing <strong>Local HTML<\/strong> and remote <strong>Website<\/strong> types.<\/li>\n<li><strong>Exclusions<\/strong> are now <strong>Rules<\/strong>, and more powerful, including enhancements to app rules, new fullscreen rule, customizable script-based rules including detecting when in a meeting, and more.<\/li>\n<li>Added a <strong>Duplicate Break<\/strong> command.<\/li>\n<li>Enhanced the postpone\/skip control limits option to per break, hour, or day.<\/li>\n<li>Improved data format, to support syncing in a future update.<\/li>\n<\/ul>\n<p>Plus many other changes. Read on for full details.<\/p>\n<h2>macOS Tahoe support<\/h2>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" title=\"Liquid Glass buttons\" src=\"https:\/\/i0.wp.com\/dejal.com\/blog\/wp-content\/uploads\/2026\/03\/UntitledImage-4.png?resize=1009%2C129&#038;ssl=1\" alt=\"Liquid Glass buttons\" width=\"1009\" height=\"129\" border=\"0\" loading=\"lazy\"><\/p>\n<ul>\n<li>Time Out now <strong>requires a minimum of macOS Tahoe (26.0)<\/strong>.<\/li>\n<li>The buttons at the top of the window now use the modern Liquid Glass style.<\/li>\n<li>Replaced the sidebar and <b>Action<\/b> icons with modern SF Symbols.<\/li>\n<li>Added icons to menus for macOS 26.<\/li>\n<li>But also respects the <code>defaults write -g NSMenuEnableActionImages -bool NO<\/code> global setting; if used, icons are hidden from Time Out menus.<\/li>\n<li>Modernized the color pickers.<\/li>\n<li>Updated <b>Break Actions<\/b> like notifications and the speech synthesizer to the latest technology.<\/li>\n<\/ul>\n<h2>Added a theme editor<\/h2>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" title=\"Break Appearance\" src=\"https:\/\/i0.wp.com\/dejal.com\/blog\/wp-content\/uploads\/2026\/04\/UntitledImage.png?resize=603%2C289&#038;ssl=1\" alt=\"Break Appearance\" width=\"603\" height=\"289\" border=\"0\" loading=\"lazy\"><\/p>\n<ul>\n<li>Added an <b>Options<\/b> menu button before <b>Preview<\/b> on the <b>Break Appearance<\/b> page.<\/li>\n<li>This menu includes commands to add a new theme, duplicate the selected theme, edit it, reveal it in the Finder, or delete it.<\/li>\n<li>Built-in themes can\u2019t be edited or deleted; duplicate them first to make changes.<\/li>\n<li>The theme editor sheet includes fields for the theme name and comments, author information, credits information, and a pop-up menu to choose the type of theme (see below).<\/li>\n<li>At the bottom is some info text, and buttons to <b>Contribute<\/b>, <b>Preview<\/b>, <b>Cancel<\/b>, or <b>Save<\/b> the theme.<\/li>\n<li>The <b>Contribute<\/b> button will attach the theme to an email; you can review the email before sending it to Dejal for consideration to bundle with a future version of the app, and\/or list on the <a href=\"https:\/\/dejal.com\/timeout\/extras\/\">Time Out Extras<\/a> page.<\/li>\n<li>The editor sheet can be resized if desired.<\/li>\n<\/ul>\n<h2>Edit local themes<\/h2>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" title=\"Local theme editor\" src=\"https:\/\/i0.wp.com\/dejal.com\/blog\/wp-content\/uploads\/2026\/03\/UntitledImage-9.png?resize=765%2C623&#038;ssl=1\" alt=\"Local theme editor\" width=\"765\" height=\"623\" border=\"0\" loading=\"lazy\"><\/p>\n<ul>\n<li>In the new <b>Theme Editor<\/b>, choose <b>Local HTML<\/b> to add or edit a theme that uses HTML within the theme folder. This kind of theme works offline.<\/li>\n<li>It includes a field for the root document name (the main HTML file to display).<\/li>\n<li>It also includes buttons to open the HTML file in an editor of your choosing (which is remembered), or reveal it in the Finder.<\/li>\n<\/ul>\n<h2>Edit website themes<\/h2>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" title=\"Website theme editor\" src=\"https:\/\/i0.wp.com\/dejal.com\/blog\/wp-content\/uploads\/2026\/03\/UntitledImage-10.png?resize=768%2C628&#038;ssl=1\" alt=\"Website theme editor\" width=\"768\" height=\"628\" border=\"0\" loading=\"lazy\"><\/p>\n<ul>\n<li>In the new editor, choose <b>Website<\/b> to add or edit remote themes, that simply show a web page.<\/li>\n<li>It includes a field for the website URL.<\/li>\n<\/ul>\n<h2>Edit YouTube themes<\/h2>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" title=\"YouTube theme editor\" src=\"https:\/\/i0.wp.com\/dejal.com\/blog\/wp-content\/uploads\/2026\/03\/UntitledImage-7.png?resize=767%2C621&#038;ssl=1\" alt=\"YouTube theme editor\" width=\"767\" height=\"621\" border=\"0\" loading=\"lazy\"><\/p>\n<ul>\n<li>Themes that play YouTube videos can be added or edited via the <b>YouTube Video<\/b> option in the editor.<\/li>\n<li>It includes fields for the video ID and playlist ID.<\/li>\n<li>To add a YouTube video, simply copy the URL from your browser and paste it into the URL field, and it\u2019ll extract the video ID and playlist ID (if any).<\/li>\n<li>It also includes a field for the video title.<\/li>\n<li>A slider controls the playback volume; drag to zero to mute.<\/li>\n<li>A checkbox lets you start at a random point in the video or a random video in the playlist; if unchecked, there\u2019s a field for the start offset.<\/li>\n<\/ul>\n<h2>Edit image themes<\/h2>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" title=\"Theme editor\" src=\"https:\/\/i0.wp.com\/dejal.com\/blog\/wp-content\/uploads\/2026\/03\/UntitledImage-6.png?resize=765%2C625&#038;ssl=1\" alt=\"Theme editor\" width=\"765\" height=\"625\" border=\"0\" loading=\"lazy\"><\/p>\n<ul>\n<li>A new kind of theme is <b>Images<\/b>; you can add any number of images or photos to show during a break.<\/li>\n<li>You can choose to show the images in sequential order or randomly.<\/li>\n<li>Also choose the transition between images.<\/li>\n<li>Specify how many seconds to show each image; set to zero to have only one image per break.<\/li>\n<li>Scale options include <b>Fit<\/b> to display each full image, with space on sides as necessary, <b>Fill<\/b> to fill the screen, cutting off edges as needed, or <b>Percent<\/b> to use a specified percentage of the screen.<\/li>\n<li>Buttons enable adding images from files, or from your photo library (note that the photo library picker may take a long time to load if you have a lot of photos).<\/li>\n<li>The app won\u2019t see any photos other than the ones you choose to add.<\/li>\n<li>Thumbnails of the chosen images are listed; drag to change the order if showing sequentially.<\/li>\n<li>Trash buttons next to each image will remove them from the collection.<\/li>\n<\/ul>\n<h2>Edit text themes<\/h2>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" title=\"Text theme editor\" src=\"https:\/\/i0.wp.com\/dejal.com\/blog\/wp-content\/uploads\/2026\/03\/UntitledImage-8.png?resize=764%2C624&#038;ssl=1\" alt=\"Text theme editor\" width=\"764\" height=\"624\" border=\"0\" loading=\"lazy\"><\/p>\n<ul>\n<li>Another new kind of theme is <b>Text<\/b>; you can add any number of text items to show during a break.<\/li>\n<li>Like for <b>Images<\/b>, you can choose sequential or random order, and how many seconds to show each one (or enter zero to show one per break).<\/li>\n<li>Choose the text font and color.<\/li>\n<li>Scale the text to use a percentage of the screen (the text will resize to fit).<\/li>\n<li>A vertical offset slider lets you position the text to avoid the control panel.<\/li>\n<li>A button enables adding text.<\/li>\n<li>Enter the text to display; drag the rows to change the order, or remove via the trash button.<\/li>\n<\/ul>\n<h2>New and updated themes<\/h2>\n<ul>\n<li>The <b>Sinclair Trails<\/b>, <b>Dejus Chickens<\/b>, <b>Dejus Ducks &amp; Fish<\/b>, and <b>Tropical Rain<\/b> themes now use the new YouTube theme type.<\/li>\n<li>Added new <b>Coral World<\/b> and <b>Fireplace<\/b> YouTube themes.<\/li>\n<li>Added a new <b>Checklist<\/b> theme, that enables you to add things to remember and check them off.<\/li>\n<li>Added a new <b>Desk Exercises<\/b> theme, that uses the new <b>Text<\/b> theme kind, with some simple exercises that you can do while sitting or standing near your desk.<\/li>\n<\/ul>\n<h2>Exclusions are now Rules, and more powerful<\/h2>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" title=\"Rules view showing Add menu\" src=\"https:\/\/i0.wp.com\/dejal.com\/blog\/wp-content\/uploads\/2026\/04\/dark-options-rules-add.png?resize=1024%2C640&#038;ssl=1\" alt=\"Rules view showing Add menu\" width=\"1024\" height=\"640\" border=\"0\" loading=\"lazy\"><\/p>\n<ul>\n<li>The <b>Exclusions<\/b> page has been renamed <b>Rules<\/b>, since they are now much more flexible.<\/li>\n<li>The <b>Add<\/b> (+) button is now in the top-right corner, and shows a menu of the different kinds of rules that can be added.<\/li>\n<li>The <b>Add<\/b> menu also includes script management items like <b>More\u2026<\/b>, <b>Reveal Scripts<\/b>, and <b>Get More<\/b>, similar to <b>Break Actions<\/b>.<\/li>\n<li>Each rule now includes a checkbox to enable or disable it, so you can turn one off without removing it.<\/li>\n<li><b>Application<\/b> rules now show the path under the app name; if it isn\u2019t all visible, hover over the path to reveal the full location (or make the window wider).<\/li>\n<li>App rules also now support \u201cis\u201d \/ \u201cisn\u2019t\u201d, to reverse the \u201copen\u201d \/ \u201cfrontmost\u201d option, e.g. to skip a break if some app isn\u2019t being used.<\/li>\n<li><b>Calendar Events<\/b> rules now group your calendars by account, if you have multiple accounts. And yes, you can now have more than one calendar rule.<\/li>\n<li>A new built-in rule is <b>Fullscreen Active<\/b>, to detect when the frontmost app is fullscreen. Useful when watching videos.<\/li>\n<li><b>Script<\/b>-based rules are now supported too. Time Out can look in the <b>Rules<\/b> folder inside its <b>Application Scripts<\/b> folder, and any scripts there can be added as rules.<\/li>\n<li>Four script-based rules are included initially: <b>FaceTime Meeting<\/b>, <b>Teams Meeting<\/b>, and <b>Zoom Meeting<\/b> to detect when actively in a meeting via FaceTime, Teams, or Zoom, and <b>Valve Game<\/b> to detect when using a Valve \/ Steam game, since they don\u2019t always appear as normal apps. More scripts will be added over time, and you are welcome to add and\/or contribute your own.<\/li>\n<li>Script rules support \u201cis true\u201d \/ \u201cis false\u201d, so the script result can be used normally or reversed.<\/li>\n<li>All rules include a menu for what to do when the rule matches, including \u201cautomatically skip\u201d, \u201cpostpone\u201d by several amounts, and two new actions as follows.<\/li>\n<li>A new action is \u201cignore natural break\u201d. If selected, when a natural break is detected (the Mac is idle), and this rule matches, the natural break will not be taken. Useful when you\u2019re passively watching a video, to make sure you still get breaks.<\/li>\n<li>Another new action is \u201ctreat as natural break\u201d. If selected, when this rule matches, the app will act as though it is idle, even if you\u2019re actively using it. Useful when you\u2019re doing something that is equivalent to a break, like playing a relaxing game instead of working.<\/li>\n<li>The new <b>Fullscreen Active<\/b> and script-based rules, conditions, and natural break actions are all available as new rewards for recent supporters.<\/li>\n<li>The status messages in the sidebar are now clearer, e.g. showing reasons like \u201cskipped due to Teams Meeting\u201d or \u201cskipped due to fullscreen rule\u201d.<\/li>\n<\/ul>\n<h2>Added a Duplicate Break command<\/h2>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" title=\"Duplicate Break\" src=\"https:\/\/i0.wp.com\/dejal.com\/blog\/wp-content\/uploads\/2026\/03\/UntitledImage-2.png?resize=607%2C362&#038;ssl=1\" alt=\"Duplicate Break\" width=\"607\" height=\"362\" border=\"0\" loading=\"lazy\"><\/p>\n<ul>\n<li>The <b>File<\/b> menu now includes a <b>Duplicate Break<\/b> command, along with the existing <b>New Break<\/b> command.<\/li>\n<li>The <b>Duplicate Break<\/b> command is only available if a break is selected, and if adding breaks is allowed.<\/li>\n<li>The break <strong>Options<\/strong> menu also includes a <strong>Duplicate Break<\/strong> command, as pictured above.<\/li>\n<li>The + button in the window will now duplicate a selected break, or add a new one if none selected.<\/li>\n<\/ul>\n<h2>Enhanced the postpone\/skip control limits option to per break, hour, or day<\/h2>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" title=\"Control limits\" src=\"https:\/\/i0.wp.com\/dejal.com\/blog\/wp-content\/uploads\/2026\/03\/UntitledImage-3.png?resize=525%2C186&#038;ssl=1\" alt=\"Control limits\" width=\"525\" height=\"186\" border=\"0\" loading=\"lazy\"><\/p>\n<ul>\n<li>Added pop-up menus after the existing options to limit postponing or skipping a break (on the <b>Break Appearance<\/b> page).<\/li>\n<li>Options now include <b>per break<\/b> and <b>per hour<\/b>, in addition to the existing <b>per day<\/b>.<\/li>\n<li>So for example you can choose to limit yourself to postponing a break only twice before having to take it, to encourage yourself to have more breaks.<\/li>\n<li>Perhaps one of the most popular requests!<\/li>\n<\/ul>\n<h2>Adjusted Reset behavior when From Last Done<\/h2>\n<ul>\n<li>The original description for the <b>From: Last Done<\/b> scheduler option was \u201cLast Done will reset the break after it is completed, so the next break will occur the frequency interval after that. For example, a 10 minute break every 30 minutes will next occur 30 minutes after the break finishes, instead of 30 minutes after it starts (as with the <b>Last Due<\/b> option).\u201d<\/li>\n<li>But a reset has always set the due date to the break frequency minus the break duration, which didn\u2019t match that description.<\/li>\n<li>So now when <b>From<\/b> is <b>Last Done<\/b>, reset will only use the break frequency.<\/li>\n<li>The \u201cwork for\u201d label will also be hidden when <b>From<\/b> is <b>Last Done<\/b>, since the work interval will match the frequency.<\/li>\n<\/ul>\n<h2>Clarified the supporter trial to reduce confusion<\/h2>\n<ul>\n<li>When showing any settings page with supporter rewards being trialed, the info will automatically appear as a reminder.<\/li>\n<li>During a supporter trial, the <b>Support Time Out<\/b> page has a message clarifying the trial, and lists the supporter rewards being tried.<\/li>\n<li>You might (randomly) be offered a longer supporter trial period and\/or a different number of trials, as an experiment.<\/li>\n<li>After the trial ends, the <b>Support Time Out<\/b> page lists all of the supporter rewards that have been tried.<\/li>\n<li>Now only automatically shows the <b>Support Time Out<\/b> page once after a trial.<\/li>\n<li>Modernized the in-app purchase view in the direct edition.<\/li>\n<\/ul>\n<h2>But wait, there\u2019s more!<\/h2>\n<ul>\n<li>The app data has been modernized in preparation for syncing, coming in a future update.<\/li>\n<li>Fixed a shortcut becoming unavailable when deleting a break that used it.<\/li>\n<li>If the <b>Event Monitor<\/b> idle detector is not available, now automatically falls back to <b>Event Source<\/b>.<\/li>\n<li>Improved the reliability of resetting breaks when waking from sleep.<\/li>\n<li>Fixed some issues with the <b>Updates<\/b> page.<\/li>\n<li>Now shows a red badge next to the <b>Updates<\/b> item in the sidebar after the app has been updated.<\/li>\n<li>Fixed a rare crasher with the <b>Statistics<\/b> page.<\/li>\n<li>Numerous other minor improvements.<\/li>\n<\/ul>\n<h2>Want to try it?<\/h2>\n<p>Note that Time Out now <strong>requires a minimum of macOS Tahoe (26.0)<\/strong>. If you are still using an older OS version, you can continue to use version 2.9.7 until you\u2019re ready to upgrade your OS.<\/p>\n<p>If you are using the Mac App Store edition, you can update via the <b>App Store<\/b> app.<\/p>\n<p>Similarly, if you are using the <a href=\"https:\/\/go.setapp.com\/stp124\" target=\"_blank\" rel=\"noopener nofollow ugc\">Setapp edition<\/a>, it will handle that update for you.<\/p>\n<p>If you are using the direct edition, you can use the <b>Check for Updates<\/b> feature in the app to update.<\/p>\n<p>Otherwise, <a href=\"https:\/\/dejal.com\/download\/?prod=timeout&amp;op=show&amp;ref=blog\" target=\"_blank\" rel=\"noopener nofollow ugc\">download Time Out 3.0 now!<\/a><\/p>\n<h2>Become a Supporter!<\/h2>\n<p>Time Out is still free; you can use it for as long as you like without paying anything.  But people who contribute to ongoing development by becoming supporters get the advanced features as a reward.  You can become a supporter for 3, 6 or 12 months; these one-time payments do not auto-renew, but you can extend your support if you wish.  The features will remain available permanently.  You can become a supporter in the app, or via the <a href=\"\/store\/?prod=timeout&amp;ref=ug\">Dejal Store<\/a>.<\/p>\n<p>I hope you enjoy the many improvements in Time Out!<\/p>\n<p><i>\u2013 David Sinclair, author<\/i><\/p>\n<p><\/p>\n<\/body>","protected":false},"excerpt":{"rendered":"<p>I\u2019m pleased to announce the release of version 3.0 of Time Out, my popular break reminder app for Mac. \ud83c\udf89 This update includes several huge improvements: Time Out now requires a minimum of macOS Tahoe (26.0), and has been updated to support Liquid Glass, modern icons, and other recent technologies. New theme editor, making it [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[5,3],"tags":[],"class_list":["post-399","post","type-post","status-publish","format-standard","hentry","category-release","category-time-out"],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/dejal.com\/blog\/wp-json\/wp\/v2\/posts\/399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dejal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dejal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dejal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dejal.com\/blog\/wp-json\/wp\/v2\/comments?post=399"}],"version-history":[{"count":1,"href":"https:\/\/dejal.com\/blog\/wp-json\/wp\/v2\/posts\/399\/revisions"}],"predecessor-version":[{"id":400,"href":"https:\/\/dejal.com\/blog\/wp-json\/wp\/v2\/posts\/399\/revisions\/400"}],"wp:attachment":[{"href":"https:\/\/dejal.com\/blog\/wp-json\/wp\/v2\/media?parent=399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dejal.com\/blog\/wp-json\/wp\/v2\/categories?post=399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dejal.com\/blog\/wp-json\/wp\/v2\/tags?post=399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}