Skip to content

Mac OS Menu app that can be used to double click a unix timestamp and convert to human readable time

License

Notifications You must be signed in to change notification settings

rahulj51/popzeit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PopZeit - A macOS menu bar app to convert unix timestamps and UUIDv1 to human readable timestamps.

A lightweight macOS menu bar app that instantly converts Unix timestamps, UUIDv1s and ULIDs to human-readable dates when copied to the clipboard.

PopZeit Logo

Features

  • Clipboard Monitoring: Copy any Unix timestamp to clipboard to see instant conversion
  • Multiple Formats: Shows UTC, local time, and relative time ("2 days ago")
  • Multiple Timestamp Formats: Supports Unix timestamps (seconds, milliseconds, microseconds), UUIDv1 (time-based UUIDs), and ULIDs
  • Timezone Support: Pin your favorite timezones for quick reference
  • Copy to Clipboard: One-click copy for any time format
  • Customizable: Configure date formats, popover timeout, and more
  • Accessible: VoiceOver support and high contrast mode
  • Privacy-First: All processing happens locally, no data leaves your device
  • Universal Compatibility: Works with all applications including text editors like Sublime Text, Zed, and Firefoo

Installation

Requirements

  • macOS 13.0 (Ventura) or later
  • No special permissions required

Download

  1. Download the latest release from the Releases page
  2. Open the .dmg file
  3. Drag PopZeit to your Applications folder

Option 1: Homebrew (Recommended)

# Install via Homebrew Cask
brew tap rahulj51/popzeit
brew install --cask popzeit --no-quarantine

# Update when new versions are available
brew upgrade --cask popzeit

# if upgrade doens't work, reinstall with force
brew reinstall --cask popzeit --no-quarantine --force

# Uninstall if needed
brew uninstall --cask popzeit

Option 2: Install Script

# One-line installer (downloads latest release automatically)
curl -fsSL https://raw.githubusercontent.com/rahulj51/popzeit/main/install.sh | bash

Option 3: Manual Download

  1. Download the latest PopZeit-X.X.X.zip from the Releases page
  2. Extract the ZIP file
  3. Move PopZeit.app to your Applications folder
  4. Launch PopZeit from Applications

Option 4: Build from Source

git clone https://github.com/rahulj51/popzeit
cd popzeit
./build.sh
open build/PopZeit.app

First Launch

  1. PopZeit will appear in your menu bar (look for the clock icon)
  2. Start copying timestamps to see conversions!

Usage

Basic Usage

  1. Find a timestamp in any app:
    • Unix timestamps: 1724054400 (seconds), 1724054400000 (milliseconds), 1724054400000000 (microseconds)
    • UUIDv1: d0dc2f40-5eeb-11ef-8f0a-0242ac120002
    • ULID: 01HK3D4R0G0000000000000000
  2. Copy the timestamp (Cmd+C)
  3. A popover appears automatically showing the converted time
  4. Click the copy button to copy any format to clipboard

PopZeit screenshot

Menu Bar Options

  • Enable/Disable Clipboard Monitoring: Toggle clipboard monitoring on/off
  • Convert Current Clipboard: Manually convert timestamp currently in clipboard
  • Preferences: Customize settings
  • Quit: Exit PopZeit

Keyboard Shortcuts

  • Cmd, - Open Preferences
  • Cmd+Shift+V - Convert Current Clipboard
  • Cmd+Q - Quit PopZeit
  • Esc - Dismiss popover

Preferences

General

  • Launch at login
  • Show/hide dock icon
  • Popover timeout duration
  • Clipboard monitoring settings

Formatting

  • Customize date format strings
  • Enable locale-aware formatting
  • Configure formats for UTC, local, and timezone displays

Timezones

  • Search and pin additional timezones
  • Remove pinned timezones
  • Timezones appear in conversion popover

Accessibility

  • Configure text size
  • Enable high contrast mode

How It Works

PopZeit monitors your clipboard for changes. When you copy text that looks like a Unix timestamp, it automatically shows a conversion popover. This approach:

  • Works universally across all applications
  • Doesn't require accessibility permissions
  • Has no compatibility issues with text editors
  • Provides consistent behavior everywhere

Privacy Note: PopZeit only monitors clipboard changes for timestamp detection. All processing happens locally on your Mac. No data is sent to external servers.

Building from Source

Prerequisites

  • macOS 13.0 or later
  • Swift 5.9 or later (included with Xcode Command Line Tools)

Quick Build

# Clone the repository
git clone https://github.com/rahulj51/popzeit.git
cd popzeit

# Build using our build script
./build.sh

# Run the app
open build/PopZeit.app

What the Build Script Does

The build.sh script:

  1. Builds the executable with Swift Package Manager
  2. Creates a proper macOS app bundle
  3. Copies all resources and icons
  4. Creates a ZIP archive for distribution
  5. Calculates SHA256 hash for Homebrew Cask

Manual Build Steps

# Build with Swift Package Manager only
swift build -c release

# Create app bundle structure manually
mkdir -p build/PopZeit.app/Contents/MacOS
cp .build/release/PopZeit build/PopZeit.app/Contents/MacOS/
cp PopZeit/Info.plist build/PopZeit.app/Contents/
# ... copy resources manually

Troubleshooting

Clipboard Not Monitored

  1. Check that clipboard monitoring is enabled in the menu bar
  2. Restart PopZeit if needed
  3. Ensure the copied text is a valid timestamp format

Timestamp Not Detected

PopZeit supports multiple timestamp formats:

  • Unix timestamps: 10 digits (seconds), 13 digits (milliseconds), or 16 digits (microseconds)
  • UUIDv1: Time-based UUIDs with version 1 (format: XXXXXXXX-XXXX-1XXX-XXXX-XXXXXXXXXXXX)
  • ULID: 26-character Universally Unique Lexicographically Sortable IDs

If detection fails:

  • Ensure there are no extra characters around the timestamp
  • Try copying just the timestamp without surrounding text
  • For UUIDs, make sure it's version 1 (time-based), not version 4 (random)

Popover Position Issues

  • PopZeit automatically adjusts for multiple monitors
  • If positioning seems off, try restarting the app

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

PopZeit is released under the MIT License. See LICENSE file for details.

Privacy Policy

PopZeit is designed with privacy in mind:

  • All timestamp conversion happens locally on your device
  • No data is collected or transmitted to external servers
  • No analytics or tracking (unless explicitly opted in)
  • Clipboard monitoring only checks for timestamp patterns

Support

For issues, questions, or suggestions, please open an issue on GitHub.

Acknowledgments

  • Built with Swift and SwiftUI
  • Uses macOS NSPasteboard for clipboard monitoring
  • Inspired by the need for quick timestamp conversion during development

About

Mac OS Menu app that can be used to double click a unix timestamp and convert to human readable time

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •