Repository files navigation

UTCMenuClock

UTCMenuClock is a lightweight macOS menubar app that keeps Coordinated Universal Time (UTC) visible at all times. It is handy for operations teams, distributed work, aviation, astronomy, or anyone who needs a reliable UTC reference next to the system clock.

Features

  • UTC clock in the menu bar using monospaced digits for stable alignment.
  • Toggle 24-hour/12-hour display, seconds, date, Julian day, and timezone suffix.
  • ISO-8601 override for the menubar text plus “Copy as ISO-8601.”
  • Copy the current UTC timestamp (using your selected format) to the clipboard.
  • “Open at Login” toggle built into the menu.

Download prebuilt binary

  • Grab the unsigned universal binary: downloads/UTCMenuClock_v1.5_universal.zip.
  • Because the app is unsigned, macOS will warn on first launch. Use Right Click > Open to allow it, or permit it under System Settings → Privacy & Security.

Build from source

  • Requirements: macOS 15+, Xcode 16 (project is updated for ARC).
  • Open UTCMenuClock.xcodeproj, select the UTCMenuClock scheme, then build & run.
  • Code signing uses ad-hoc identity (CODE_SIGN_IDENTITY = "-") so the project builds without an Apple Developer certificate. Debug builds disable hardened runtime so XCTest can load; Release builds keep hardened runtime enabled. To ship signed/notarized builds, set CODE_SIGN_IDENTITY to your Developer ID, restore DEVELOPMENT_TEAM, and archive from Xcode.
  • App version is controlled by MARKETING_VERSION and CURRENT_PROJECT_VERSION in the Xcode target build settings.
  • The built app will appear in Xcode’s derived data when using a Release build.

Create installer or zip

The legacy PackageMaker project has been replaced with Apple’s modern pkgbuild / productbuild tooling under packaging/.

./packaging/build-release.sh

This script:

  1. Builds a Release universal UTCMenuClock.app
  2. Writes packaging/output/UTCMenuClock_<version>_installer.pkg
  3. Writes packaging/output/UTCMenuClock_v<version>_universal.zip

The .pkg installs the app into /Applications (system or user home, depending on where the installer is run). Sign and notarize the package before wide distribution if you use a Developer ID certificate.

Using the app

  • Launching the app adds the UTC clock to the menu bar; click it to open the menu.
  • Menu items:
    • Copy copies the current UTC string using your chosen format.
    • Copy as ISO-8601 copies an ISO-8601 UTC timestamp.
    • Toggles: 24 HR Time, Show Date, Show Seconds, Show Julian Date, Show Time Zone, Show ISO8601 Instead.
    • Open at Login toggles a login item; Quit exits the app.
  • When Show ISO8601 Instead is enabled, the other format toggles are disabled and the menubar displays a full ISO-8601 string.

Troubleshooting

  • Unsigned app: allow it via Right Click > Open or Security settings after the first block.
  • If the clock stops updating after sleep, toggle a preference or restart the app to rebuild the timer (the app also listens for wake events).

Credits

  • Built and maintained by John Adams (jna@retina.net).
  • LaunchAtLoginController by Ben Clark-Robinson (ben.clarkrobinson@gmail.com).
  • Licensed under the Apache License 2.0. See LICENSE for details.

About

Simple Objective-C based Menu Clock for Mac OS X. Displays the UTC time in the menubar and nothing more.

Resources

Stars

253 stars

Watchers

14 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

UTCMenuClock

UTCMenuClock is a lightweight macOS menubar app that keeps Coordinated Universal Time (UTC) visible at all times. It is handy for operations teams, distributed work, aviation, astronomy, or anyone who needs a reliable UTC reference next to the system clock.

Features

  • UTC clock in the menu bar using monospaced digits for stable alignment.
  • Toggle 24-hour/12-hour display, seconds, date, Julian day, and timezone suffix.
  • ISO-8601 override for the menubar text plus “Copy as ISO-8601.”
  • Copy the current UTC timestamp (using your selected format) to the clipboard.
  • “Open at Login” toggle built into the menu.

Download prebuilt binary

  • Grab the unsigned universal binary: downloads/UTCMenuClock_v1.5_universal.zip.
  • Because the app is unsigned, macOS will warn on first launch. Use Right Click > Open to allow it, or permit it under System Settings → Privacy & Security.

Build from source

  • Requirements: macOS 15+, Xcode 16 (project is updated for ARC).
  • Open UTCMenuClock.xcodeproj, select the UTCMenuClock scheme, then build & run.
  • Code signing uses ad-hoc identity (CODE_SIGN_IDENTITY = "-") so the project builds without an Apple Developer certificate. Debug builds disable hardened runtime so XCTest can load; Release builds keep hardened runtime enabled. To ship signed/notarized builds, set CODE_SIGN_IDENTITY to your Developer ID, restore DEVELOPMENT_TEAM, and archive from Xcode.
  • App version is controlled by MARKETING_VERSION and CURRENT_PROJECT_VERSION in the Xcode target build settings.
  • The built app will appear in Xcode’s derived data when using a Release build.

Create installer or zip

The legacy PackageMaker project has been replaced with Apple’s modern pkgbuild / productbuild tooling under packaging/.

./packaging/build-release.sh

This script:

  1. Builds a Release universal UTCMenuClock.app
  2. Writes packaging/output/UTCMenuClock_<version>_installer.pkg
  3. Writes packaging/output/UTCMenuClock_v<version>_universal.zip

The .pkg installs the app into /Applications (system or user home, depending on where the installer is run). Sign and notarize the package before wide distribution if you use a Developer ID certificate.

Using the app

  • Launching the app adds the UTC clock to the menu bar; click it to open the menu.
  • Menu items:
    • Copy copies the current UTC string using your chosen format.
    • Copy as ISO-8601 copies an ISO-8601 UTC timestamp.
    • Toggles: 24 HR Time, Show Date, Show Seconds, Show Julian Date, Show Time Zone, Show ISO8601 Instead.
    • Open at Login toggles a login item; Quit exits the app.
  • When Show ISO8601 Instead is enabled, the other format toggles are disabled and the menubar displays a full ISO-8601 string.

Troubleshooting

  • Unsigned app: allow it via Right Click > Open or Security settings after the first block.
  • If the clock stops updating after sleep, toggle a preference or restart the app to rebuild the timer (the app also listens for wake events).

Credits

  • Built and maintained by John Adams (jna@retina.net).
  • LaunchAtLoginController by Ben Clark-Robinson (ben.clarkrobinson@gmail.com).
  • Licensed under the Apache License 2.0. See LICENSE for details.

About

Simple Objective-C based Menu Clock for Mac OS X. Displays the UTC time in the menubar and nothing more.

Resources

Stars

253 stars

Watchers

14 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

UTCMenuClock

UTCMenuClock is a lightweight macOS menubar app that keeps Coordinated Universal Time (UTC) visible at all times. It is handy for operations teams, distributed work, aviation, astronomy, or anyone who needs a reliable UTC reference next to the system clock.

Features

  • UTC clock in the menu bar using monospaced digits for stable alignment.
  • Toggle 24-hour/12-hour display, seconds, date, Julian day, and timezone suffix.
  • ISO-8601 override for the menubar text plus “Copy as ISO-8601.”
  • Copy the current UTC timestamp (using your selected format) to the clipboard.
  • “Open at Login” toggle built into the menu.

Download prebuilt binary

  • Grab the unsigned universal binary: downloads/UTCMenuClock_v1.5_universal.zip.
  • Because the app is unsigned, macOS will warn on first launch. Use Right Click > Open to allow it, or permit it under System Settings → Privacy & Security.

Build from source

  • Requirements: macOS 15+, Xcode 16 (project is updated for ARC).
  • Open UTCMenuClock.xcodeproj, select the UTCMenuClock scheme, then build & run.
  • Code signing uses ad-hoc identity (CODE_SIGN_IDENTITY = "-") so the project builds without an Apple Developer certificate. Debug builds disable hardened runtime so XCTest can load; Release builds keep hardened runtime enabled. To ship signed/notarized builds, set CODE_SIGN_IDENTITY to your Developer ID, restore DEVELOPMENT_TEAM, and archive from Xcode.
  • App version is controlled by MARKETING_VERSION and CURRENT_PROJECT_VERSION in the Xcode target build settings.
  • The built app will appear in Xcode’s derived data when using a Release build.

Create installer or zip

The legacy PackageMaker project has been replaced with Apple’s modern pkgbuild / productbuild tooling under packaging/.

./packaging/build-release.sh

This script:

  1. Builds a Release universal UTCMenuClock.app
  2. Writes packaging/output/UTCMenuClock_<version>_installer.pkg
  3. Writes packaging/output/UTCMenuClock_v<version>_universal.zip

The .pkg installs the app into /Applications (system or user home, depending on where the installer is run). Sign and notarize the package before wide distribution if you use a Developer ID certificate.

Using the app

  • Launching the app adds the UTC clock to the menu bar; click it to open the menu.
  • Menu items:
    • Copy copies the current UTC string using your chosen format.
    • Copy as ISO-8601 copies an ISO-8601 UTC timestamp.
    • Toggles: 24 HR Time, Show Date, Show Seconds, Show Julian Date, Show Time Zone, Show ISO8601 Instead.
    • Open at Login toggles a login item; Quit exits the app.
  • When Show ISO8601 Instead is enabled, the other format toggles are disabled and the menubar displays a full ISO-8601 string.

Troubleshooting

  • Unsigned app: allow it via Right Click > Open or Security settings after the first block.
  • If the clock stops updating after sleep, toggle a preference or restart the app to rebuild the timer (the app also listens for wake events).

Credits

  • Built and maintained by John Adams (jna@retina.net).
  • LaunchAtLoginController by Ben Clark-Robinson (ben.clarkrobinson@gmail.com).
  • Licensed under the Apache License 2.0. See LICENSE for details.

About

Simple Objective-C based Menu Clock for Mac OS X. Displays the UTC time in the menubar and nothing more.

Resources

Stars

253 stars

Watchers

14 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

UTCMenuClock

UTCMenuClock is a lightweight macOS menubar app that keeps Coordinated Universal Time (UTC) visible at all times. It is handy for operations teams, distributed work, aviation, astronomy, or anyone who needs a reliable UTC reference next to the system clock.

Features

  • UTC clock in the menu bar using monospaced digits for stable alignment.
  • Toggle 24-hour/12-hour display, seconds, date, Julian day, and timezone suffix.
  • ISO-8601 override for the menubar text plus “Copy as ISO-8601.”
  • Copy the current UTC timestamp (using your selected format) to the clipboard.
  • “Open at Login” toggle built into the menu.

Download prebuilt binary

  • Grab the unsigned universal binary: downloads/UTCMenuClock_v1.5_universal.zip.
  • Because the app is unsigned, macOS will warn on first launch. Use Right Click > Open to allow it, or permit it under System Settings → Privacy & Security.

Build from source

  • Requirements: macOS 15+, Xcode 16 (project is updated for ARC).
  • Open UTCMenuClock.xcodeproj, select the UTCMenuClock scheme, then build & run.
  • Code signing uses ad-hoc identity (CODE_SIGN_IDENTITY = "-") so the project builds without an Apple Developer certificate. Debug builds disable hardened runtime so XCTest can load; Release builds keep hardened runtime enabled. To ship signed/notarized builds, set CODE_SIGN_IDENTITY to your Developer ID, restore DEVELOPMENT_TEAM, and archive from Xcode.
  • App version is controlled by MARKETING_VERSION and CURRENT_PROJECT_VERSION in the Xcode target build settings.
  • The built app will appear in Xcode’s derived data when using a Release build.

Create installer or zip

The legacy PackageMaker project has been replaced with Apple’s modern pkgbuild / productbuild tooling under packaging/.

./packaging/build-release.sh

This script:

  1. Builds a Release universal UTCMenuClock.app
  2. Writes packaging/output/UTCMenuClock_<version>_installer.pkg
  3. Writes packaging/output/UTCMenuClock_v<version>_universal.zip

The .pkg installs the app into /Applications (system or user home, depending on where the installer is run). Sign and notarize the package before wide distribution if you use a Developer ID certificate.

Using the app

  • Launching the app adds the UTC clock to the menu bar; click it to open the menu.
  • Menu items:
    • Copy copies the current UTC string using your chosen format.
    • Copy as ISO-8601 copies an ISO-8601 UTC timestamp.
    • Toggles: 24 HR Time, Show Date, Show Seconds, Show Julian Date, Show Time Zone, Show ISO8601 Instead.
    • Open at Login toggles a login item; Quit exits the app.
  • When Show ISO8601 Instead is enabled, the other format toggles are disabled and the menubar displays a full ISO-8601 string.

Troubleshooting

  • Unsigned app: allow it via Right Click > Open or Security settings after the first block.
  • If the clock stops updating after sleep, toggle a preference or restart the app to rebuild the timer (the app also listens for wake events).

Credits

  • Built and maintained by John Adams (jna@retina.net).
  • LaunchAtLoginController by Ben Clark-Robinson (ben.clarkrobinson@gmail.com).
  • Licensed under the Apache License 2.0. See LICENSE for details.

About

Simple Objective-C based Menu Clock for Mac OS X. Displays the UTC time in the menubar and nothing more.

Resources

Stars

253 stars

Watchers

14 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

UTCMenuClock

UTCMenuClock is a lightweight macOS menubar app that keeps Coordinated Universal Time (UTC) visible at all times. It is handy for operations teams, distributed work, aviation, astronomy, or anyone who needs a reliable UTC reference next to the system clock.

Features

  • UTC clock in the menu bar using monospaced digits for stable alignment.
  • Toggle 24-hour/12-hour display, seconds, date, Julian day, and timezone suffix.
  • ISO-8601 override for the menubar text plus “Copy as ISO-8601.”
  • Copy the current UTC timestamp (using your selected format) to the clipboard.
  • “Open at Login” toggle built into the menu.

Download prebuilt binary

  • Grab the unsigned universal binary: downloads/UTCMenuClock_v1.5_universal.zip.
  • Because the app is unsigned, macOS will warn on first launch. Use Right Click > Open to allow it, or permit it under System Settings → Privacy & Security.

Build from source

  • Requirements: macOS 15+, Xcode 16 (project is updated for ARC).
  • Open UTCMenuClock.xcodeproj, select the UTCMenuClock scheme, then build & run.
  • Code signing uses ad-hoc identity (CODE_SIGN_IDENTITY = "-") so the project builds without an Apple Developer certificate. Debug builds disable hardened runtime so XCTest can load; Release builds keep hardened runtime enabled. To ship signed/notarized builds, set CODE_SIGN_IDENTITY to your Developer ID, restore DEVELOPMENT_TEAM, and archive from Xcode.
  • App version is controlled by MARKETING_VERSION and CURRENT_PROJECT_VERSION in the Xcode target build settings.
  • The built app will appear in Xcode’s derived data when using a Release build.

Create installer or zip

The legacy PackageMaker project has been replaced with Apple’s modern pkgbuild / productbuild tooling under packaging/.

./packaging/build-release.sh

This script:

  1. Builds a Release universal UTCMenuClock.app
  2. Writes packaging/output/UTCMenuClock_<version>_installer.pkg
  3. Writes packaging/output/UTCMenuClock_v<version>_universal.zip

The .pkg installs the app into /Applications (system or user home, depending on where the installer is run). Sign and notarize the package before wide distribution if you use a Developer ID certificate.

Using the app

  • Launching the app adds the UTC clock to the menu bar; click it to open the menu.
  • Menu items:
    • Copy copies the current UTC string using your chosen format.
    • Copy as ISO-8601 copies an ISO-8601 UTC timestamp.
    • Toggles: 24 HR Time, Show Date, Show Seconds, Show Julian Date, Show Time Zone, Show ISO8601 Instead.
    • Open at Login toggles a login item; Quit exits the app.
  • When Show ISO8601 Instead is enabled, the other format toggles are disabled and the menubar displays a full ISO-8601 string.

Troubleshooting

  • Unsigned app: allow it via Right Click > Open or Security settings after the first block.
  • If the clock stops updating after sleep, toggle a preference or restart the app to rebuild the timer (the app also listens for wake events).

Credits

  • Built and maintained by John Adams (jna@retina.net).
  • LaunchAtLoginController by Ben Clark-Robinson (ben.clarkrobinson@gmail.com).
  • Licensed under the Apache License 2.0. See LICENSE for details.

About

Simple Objective-C based Menu Clock for Mac OS X. Displays the UTC time in the menubar and nothing more.

Resources

Stars

253 stars

Watchers

14 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

UTCMenuClock

UTCMenuClock is a lightweight macOS menubar app that keeps Coordinated Universal Time (UTC) visible at all times. It is handy for operations teams, distributed work, aviation, astronomy, or anyone who needs a reliable UTC reference next to the system clock.

Features

  • UTC clock in the menu bar using monospaced digits for stable alignment.
  • Toggle 24-hour/12-hour display, seconds, date, Julian day, and timezone suffix.
  • ISO-8601 override for the menubar text plus “Copy as ISO-8601.”
  • Copy the current UTC timestamp (using your selected format) to the clipboard.
  • “Open at Login” toggle built into the menu.

Download prebuilt binary

  • Grab the unsigned universal binary: downloads/UTCMenuClock_v1.5_universal.zip.
  • Because the app is unsigned, macOS will warn on first launch. Use Right Click > Open to allow it, or permit it under System Settings → Privacy & Security.

Build from source

  • Requirements: macOS 15+, Xcode 16 (project is updated for ARC).
  • Open UTCMenuClock.xcodeproj, select the UTCMenuClock scheme, then build & run.
  • Code signing uses ad-hoc identity (CODE_SIGN_IDENTITY = "-") so the project builds without an Apple Developer certificate. Debug builds disable hardened runtime so XCTest can load; Release builds keep hardened runtime enabled. To ship signed/notarized builds, set CODE_SIGN_IDENTITY to your Developer ID, restore DEVELOPMENT_TEAM, and archive from Xcode.
  • App version is controlled by MARKETING_VERSION and CURRENT_PROJECT_VERSION in the Xcode target build settings.
  • The built app will appear in Xcode’s derived data when using a Release build.

Create installer or zip

The legacy PackageMaker project has been replaced with Apple’s modern pkgbuild / productbuild tooling under packaging/.

./packaging/build-release.sh

This script:

  1. Builds a Release universal UTCMenuClock.app
  2. Writes packaging/output/UTCMenuClock_<version>_installer.pkg
  3. Writes packaging/output/UTCMenuClock_v<version>_universal.zip

The .pkg installs the app into /Applications (system or user home, depending on where the installer is run). Sign and notarize the package before wide distribution if you use a Developer ID certificate.

Using the app

  • Launching the app adds the UTC clock to the menu bar; click it to open the menu.
  • Menu items:
    • Copy copies the current UTC string using your chosen format.
    • Copy as ISO-8601 copies an ISO-8601 UTC timestamp.
    • Toggles: 24 HR Time, Show Date, Show Seconds, Show Julian Date, Show Time Zone, Show ISO8601 Instead.
    • Open at Login toggles a login item; Quit exits the app.
  • When Show ISO8601 Instead is enabled, the other format toggles are disabled and the menubar displays a full ISO-8601 string.

Troubleshooting

  • Unsigned app: allow it via Right Click > Open or Security settings after the first block.
  • If the clock stops updating after sleep, toggle a preference or restart the app to rebuild the timer (the app also listens for wake events).

Credits

  • Built and maintained by John Adams (jna@retina.net).
  • LaunchAtLoginController by Ben Clark-Robinson (ben.clarkrobinson@gmail.com).
  • Licensed under the Apache License 2.0. See LICENSE for details.

About

Simple Objective-C based Menu Clock for Mac OS X. Displays the UTC time in the menubar and nothing more.

Resources

Stars

253 stars

Watchers

14 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

UTCMenuClock

UTCMenuClock is a lightweight macOS menubar app that keeps Coordinated Universal Time (UTC) visible at all times. It is handy for operations teams, distributed work, aviation, astronomy, or anyone who needs a reliable UTC reference next to the system clock.

Features

  • UTC clock in the menu bar using monospaced digits for stable alignment.
  • Toggle 24-hour/12-hour display, seconds, date, Julian day, and timezone suffix.
  • ISO-8601 override for the menubar text plus “Copy as ISO-8601.”
  • Copy the current UTC timestamp (using your selected format) to the clipboard.
  • “Open at Login” toggle built into the menu.

Download prebuilt binary

  • Grab the unsigned universal binary: downloads/UTCMenuClock_v1.5_universal.zip.
  • Because the app is unsigned, macOS will warn on first launch. Use Right Click > Open to allow it, or permit it under System Settings → Privacy & Security.

Build from source

  • Requirements: macOS 15+, Xcode 16 (project is updated for ARC).
  • Open UTCMenuClock.xcodeproj, select the UTCMenuClock scheme, then build & run.
  • Code signing uses ad-hoc identity (CODE_SIGN_IDENTITY = "-") so the project builds without an Apple Developer certificate. Debug builds disable hardened runtime so XCTest can load; Release builds keep hardened runtime enabled. To ship signed/notarized builds, set CODE_SIGN_IDENTITY to your Developer ID, restore DEVELOPMENT_TEAM, and archive from Xcode.
  • App version is controlled by MARKETING_VERSION and CURRENT_PROJECT_VERSION in the Xcode target build settings.
  • The built app will appear in Xcode’s derived data when using a Release build.

Create installer or zip

The legacy PackageMaker project has been replaced with Apple’s modern pkgbuild / productbuild tooling under packaging/.

./packaging/build-release.sh

This script:

  1. Builds a Release universal UTCMenuClock.app
  2. Writes packaging/output/UTCMenuClock_<version>_installer.pkg
  3. Writes packaging/output/UTCMenuClock_v<version>_universal.zip

The .pkg installs the app into /Applications (system or user home, depending on where the installer is run). Sign and notarize the package before wide distribution if you use a Developer ID certificate.

Using the app

  • Launching the app adds the UTC clock to the menu bar; click it to open the menu.
  • Menu items:
    • Copy copies the current UTC string using your chosen format.
    • Copy as ISO-8601 copies an ISO-8601 UTC timestamp.
    • Toggles: 24 HR Time, Show Date, Show Seconds, Show Julian Date, Show Time Zone, Show ISO8601 Instead.
    • Open at Login toggles a login item; Quit exits the app.
  • When Show ISO8601 Instead is enabled, the other format toggles are disabled and the menubar displays a full ISO-8601 string.

Troubleshooting

  • Unsigned app: allow it via Right Click > Open or Security settings after the first block.
  • If the clock stops updating after sleep, toggle a preference or restart the app to rebuild the timer (the app also listens for wake events).

Credits

  • Built and maintained by John Adams (jna@retina.net).
  • LaunchAtLoginController by Ben Clark-Robinson (ben.clarkrobinson@gmail.com).
  • Licensed under the Apache License 2.0. See LICENSE for details.

About

Simple Objective-C based Menu Clock for Mac OS X. Displays the UTC time in the menubar and nothing more.

Resources

Stars

253 stars

Watchers

14 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

UTCMenuClock

UTCMenuClock is a lightweight macOS menubar app that keeps Coordinated Universal Time (UTC) visible at all times. It is handy for operations teams, distributed work, aviation, astronomy, or anyone who needs a reliable UTC reference next to the system clock.

Features

  • UTC clock in the menu bar using monospaced digits for stable alignment.
  • Toggle 24-hour/12-hour display, seconds, date, Julian day, and timezone suffix.
  • ISO-8601 override for the menubar text plus “Copy as ISO-8601.”
  • Copy the current UTC timestamp (using your selected format) to the clipboard.
  • “Open at Login” toggle built into the menu.

Download prebuilt binary

  • Grab the unsigned universal binary: downloads/UTCMenuClock_v1.5_universal.zip.
  • Because the app is unsigned, macOS will warn on first launch. Use Right Click > Open to allow it, or permit it under System Settings → Privacy & Security.

Build from source

  • Requirements: macOS 15+, Xcode 16 (project is updated for ARC).
  • Open UTCMenuClock.xcodeproj, select the UTCMenuClock scheme, then build & run.
  • Code signing uses ad-hoc identity (CODE_SIGN_IDENTITY = "-") so the project builds without an Apple Developer certificate. Debug builds disable hardened runtime so XCTest can load; Release builds keep hardened runtime enabled. To ship signed/notarized builds, set CODE_SIGN_IDENTITY to your Developer ID, restore DEVELOPMENT_TEAM, and archive from Xcode.
  • App version is controlled by MARKETING_VERSION and CURRENT_PROJECT_VERSION in the Xcode target build settings.
  • The built app will appear in Xcode’s derived data when using a Release build.

Create installer or zip

The legacy PackageMaker project has been replaced with Apple’s modern pkgbuild / productbuild tooling under packaging/.

./packaging/build-release.sh

This script:

  1. Builds a Release universal UTCMenuClock.app
  2. Writes packaging/output/UTCMenuClock_<version>_installer.pkg
  3. Writes packaging/output/UTCMenuClock_v<version>_universal.zip

The .pkg installs the app into /Applications (system or user home, depending on where the installer is run). Sign and notarize the package before wide distribution if you use a Developer ID certificate.

Using the app

  • Launching the app adds the UTC clock to the menu bar; click it to open the menu.
  • Menu items:
    • Copy copies the current UTC string using your chosen format.
    • Copy as ISO-8601 copies an ISO-8601 UTC timestamp.
    • Toggles: 24 HR Time, Show Date, Show Seconds, Show Julian Date, Show Time Zone, Show ISO8601 Instead.
    • Open at Login toggles a login item; Quit exits the app.
  • When Show ISO8601 Instead is enabled, the other format toggles are disabled and the menubar displays a full ISO-8601 string.

Troubleshooting

  • Unsigned app: allow it via Right Click > Open or Security settings after the first block.
  • If the clock stops updating after sleep, toggle a preference or restart the app to rebuild the timer (the app also listens for wake events).

Credits

  • Built and maintained by John Adams (jna@retina.net).
  • LaunchAtLoginController by Ben Clark-Robinson (ben.clarkrobinson@gmail.com).
  • Licensed under the Apache License 2.0. See LICENSE for details.

About

Simple Objective-C based Menu Clock for Mac OS X. Displays the UTC time in the menubar and nothing more.

Resources

Stars

253 stars

Watchers

14 watching

Forks

Releases

Packages

Used by

Contributors

Languages