Skip to content

🚀 Getting Started ​

Welcome to Single File Menu Apps! This guide will help you get up and running with our collection of elegant macOS menu bar utilities.

📋 Prerequisites ​

Before you begin, ensure you have:

  • macOS 10.15+ (Catalina or later)
  • Xcode Command Line Tools - Install with: xcode-select --install
  • Git (for cloning the repository)

🔧 Installation ​

Step 1: Clone the Repository (or Download a Prebuilt .app) ​

Download a prebuilt universal .app from GitHub Releases (and run xattr -dr com.apple.quarantine /Applications/<App>.app once after moving to /Applications), or clone from source:

bash
git clone https://github.com/The-Focus-AI/singlefilemenuapps.git
cd singlefilemenuapps

Step 2: Make Apps Executable ​

bash
# Make all Swift files executable
find . -name "*.swift" -exec chmod +x {} \;

Step 3: Choose Your App ​

Each app is self-contained in its own directory. Browse the available apps:

🎯 Quick Start Examples ​

Running Pdfbar ​

bash
# Navigate to the pdfbar directory
cd pdfbar

# Run the app
./pdfbar.swift

# Or run with debug mode
./pdfbar.swift --debug
bash
# Install required dependency
brew install grpcurl

# Navigate to the starlinkstatus directory
cd starlinkstatus

# Run the app
./starlinkstatus.swift

# Or run with verbose logging
./starlinkstatus.swift --verbose

🖥️ Using Menu Bar Apps ​

What to Expect ​

  1. Menu Bar Icon - Each app appears as an icon in your menu bar
  2. Click to Expand - Click the icon to see the app's interface
  3. Quit Option - Use the "Quit" option in the menu to exit

Pdfbar Interface ​

  • Shows your 15 most recent PDF/EPUB files
  • Click any file to open it
  • Hold Option (⌥) + Click to send to ChatGPT
  • Monitors Downloads, Desktop, and iCloud reading folders
  • Displays connection status and performance metrics
  • Shows download/upload speeds and latency
  • Provides device information and uptime
  • Updates every 5 seconds with real-time data

🔍 Troubleshooting ​

Common Issues ​

"Permission denied" errors

bash
# Make sure the file is executable
chmod +x your-app.swift

"Command not found: swift"

bash
# Install Xcode Command Line Tools
xcode-select --install

App doesn't appear in menu bar

  • Check if the app is running: ps aux | grep appname
  • Try running from terminal to see error messages
  • Ensure you have the required dependencies

Debug Mode ​

Most apps support debug/verbose modes:

bash
# Pdfbar debug mode
./pdfbar.swift --debug

# Starlink Status verbose mode
./starlinkstatus.swift --verbose

🛠️ Customization ​

Modifying Apps ​

Since each app is a single Swift file, customization is straightforward:

  1. Open the Swift file in your preferred editor
  2. Make your changes - all code is in one place
  3. Save and run - no compilation needed

Example: Changing Menu Bar Icon ​

swift
// In the Swift file, look for the statusItem creation
let statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)
statusItem.button?.title = "📄" // Change this to your preferred icon

Example: Adding New Features ​

swift
// Add new menu items
let newMenuItem = NSMenuItem(title: "New Feature", action: #selector(newFeature), keyEquivalent: "")
menu.addItem(newMenuItem)

// Add the corresponding method
@objc func newFeature() {
    // Your new functionality here
}

📚 Learning Resources ​

Swift Basics ​

🤝 Contributing ​

Want to create your own single-file menu app? Check out our contributing guide for guidelines and best practices.

Getting Help ​

  • GitHub Issues - Report bugs or request features
  • Documentation - Each app has detailed documentation
  • Community - Join discussions in our GitHub repository

📄 License ​

All apps are released under the MIT License. See the LICENSE file for details.


Ready to get started? Choose an app from the Available Apps page and begin exploring!

Released under the MIT License.