ElBruno.ClockTray 0.5.5

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global ElBruno.ClockTray --version 0.5.5
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local ElBruno.ClockTray --version 0.5.5
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=ElBruno.ClockTray&version=0.5.5
                    
nuke :add-package ElBruno.ClockTray --version 0.5.5
                    

๐Ÿ• ClockTray โ€” Toggle Windows Taskbar Clock

NuGet License: MIT Build

A lightweight Windows system tray application that lets you show or hide the taskbar date/time with a single click or keyboard shortcut.

ClockTray Demo

Features

  • System tray icon with right-click context menu
  • Show/Hide Date & Time in the Windows taskbar
  • Global hotkey: Ctrl+Alt+T to toggle
  • Windows 11 23H2+: Instant toggle via WM_SETTINGCHANGE (no Explorer restart)
  • Older Windows: Falls back to policy registry key + Explorer restart

Installation

Install as a .NET Global Tool

dotnet tool install --global ElBruno.ClockTray

After installation, run clocktray from any command prompt to launch the system tray app.

Build from source

git clone https://github.com/elbruno/ElBruno.ClockTray.git
cd ElBruno.ClockTray
dotnet build
dotnet run

Publish as self-contained executable

dotnet publish -c Release -r win-x64 --self-contained

Requirements

Usage

  1. Run the app โ€” it starts minimized to the system tray (clock icon near the Windows clock)
  2. Right-click the tray icon to Show/Hide the taskbar date & time, or Exit
  3. Double-click the tray icon to toggle
  4. Ctrl+Alt+T anywhere to toggle via global hotkey

Architecture

File Purpose
Program.cs Entry point, runs the ApplicationContext
ClockTrayApplicationContext.cs NotifyIcon, context menu, app lifecycle
ClockToggler.cs Registry read/write + SendMessageTimeout P/Invoke
HotkeyWindow.cs Global hotkey via RegisterHotKey P/Invoke

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

This project could potentially evolve into a PowerToys module. If you're interested in helping make that happen, let's discuss it in the issues.

๐Ÿ‘‹ About the Author

Hi! I'm ElBruno ๐Ÿงก, a passionate developer and content creator exploring AI, .NET, and modern development practices.

Made with โค๏ธ by ElBruno

If you like this project, consider following my work across platforms:

  • ๐Ÿ“ป Podcast: No Tienen Nombre โ€” Spanish-language episodes on AI, development, and tech culture
  • ๐Ÿ’ป Blog: ElBruno.com โ€” Deep dives on embeddings, RAG, .NET, and local AI
  • ๐Ÿ“บ YouTube: youtube.com/elbruno โ€” Demos, tutorials, and live coding
  • ๐Ÿ”— LinkedIn: @elbruno โ€” Professional updates and insights
  • ๐• Twitter: @elbruno โ€” Quick tips, releases, and tech news

License

MIT ยฉ Bruno Capuano

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.0.0 121 4/22/2026
0.6.0 112 4/16/2026
0.5.5 122 3/3/2026
0.5.4 116 3/3/2026
0.5.3 105 3/3/2026