Skip to content

A tiny linux system tray utility with countdowns and stopwatches - complete with native desktop notifications

License

Notifications You must be signed in to change notification settings

intekhabrizvi/traytimer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Frame 2

TrayTimer — Simple System Tray-based Countdown & Stopwatch App

A tiny system tray utility that helps you track time effortlessly with countdowns ⏱️ and stopwatches ⏲️ — complete with native desktop notifications 🎉.

🚀 Features

  • 🖥️ Supported-platform: Linux.
  • 🔔 Native notifications: Uses OS-specific tools (like notify-send, kdialog) for alerts.
  • 🔁 Reset, pause, and resume: Right-click tray menu to control the timer.
  • 📌 Modes:
    • Countdown ⏳
    • Stopwatch ⏱️

🎯 Demo

traytimer.webm

📦 Installation

📥 1. Download Precompiled Binaries

👉 Releases Page

Download the binary, extract it, and run:

chmod +x traytimer
./traytimer --duration 15m

🐧 2. Ubuntu .deb Installation

wget https://github.com/intekhabrizvi/traytimer/releases/download/v1.0.0/traytimer_1.0.0_amd64.deb
sudo apt install ./traytimer_1.0.0_amd64.deb

Then launch with:

traytimer --duration 15m

🧪 Usage Examples

Basic countdown for 15 minutes:

traytimer --duration 15m

Basic stopwatch:

traytimer --mode stopwatch

Run in Background

Use setsid for CLI:

setsid traytimer --duration 15m &

Or launch it from the application menu if installed via .deb.


📋 Command-line Options

Flag Description Default
--duration Duration for countdown (e.g. 5m, 90s) 15m
--mode Clock mode: timer, stopwatch timer

🖼️ Tray Menu Options

  • ▶️ Pause / Resume
  • 🔁 Reset
  • ⏲️ 5min / 15min / 30min / 45min / 60min / 90min / 120min shortcuts
  • 🚪 Quit

💻 Developer Setup

1. Install Go

If you don’t already have Go installed:

sudo apt install golang-go  # Ubuntu

Or visit golang.org

2. Clone the repository

git clone https://github.com/intekhabrizvi/traytimer.git
cd traytimer

3. Install Dependency

sudo apt-get install gcc libgtk-3-dev libayatana-appindicator3-dev

4. Build

go build -o traytimer .

You should now see the traytimer binary in the current directory.


🤝 Contributing

We ❤️ contributions! Here's how to help:

1. Fork & Clone

git clone https://github.com/intekhabrizvi/traytimer.git
cd traytimer

2. Create a feature branch

git checkout -b feature/my-improvement

3. Make your changes & commit

git add .
git commit -m "Added awesome feature"

4. Push and open PR

git push origin feature/my-improvement

Then open a Pull Request on GitHub 🚀


🧰 Dev Tools Used

  • 🛠️ Go
  • 📦 systray
  • 💡 Desktop-specific notification tools
  • 🖼️ 3d icons - Embedded icons

🗃️ Packaging for Other Distros

📦 RPM (Fedora, CentOS)

Use fpm or rpmbuild to package:

fpm -s dir -t rpm -n traytimer -v 1.0.0 traytimer=/usr/local/bin/traytimer

📝 License

MIT License © Intekhab rizvi


💬 Feedback

Found a bug? Want a new feature? Open an issue or start a discussion!


Happy timing!

About

A tiny linux system tray utility with countdowns and stopwatches - complete with native desktop notifications

Topics

Resources

License

Stars

Watchers

Forks