Skip to content

Baldev8910/TopBar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TopBar

Warning

Work-In-Progress Use at your own risk!

A lightweight, modern custom top bar for Windows 11 — built with C# and WPF.

TopBar replaces the missing "top taskbar" that Windows 11 removed, adding live weather, a clock, date, reminders, and media controls in a sleek auto-hiding bar pinned to the top of your screen.

TopBar Screenshot


Features

  • 🌤️ Live Weather — current conditions with icons, auto-detects your location via WiFi
  • 🕐 Clock — 24-hour format, centered in the bar
  • 📅 Date — displayed on the right side
  • 🔔 Reminders — set, view, edit and delete reminders with one-time or repeating schedules
  • 🎵 Media Controls — shows play/pause, previous, next and song info when media is playing
  • ⚙️ Settings — adjust bar height, opacity, animation speed, temperature unit and weather refresh rate
  • 🚀 Launch on Startup — starts automatically with Windows
  • 🖱️ Auto-hide — smoothly slides in when you hover the top edge, hides when you move away
  • 📍 Auto Location — uses Windows Location API (WiFi-based) for accurate weather, falls back to IP detection
  • 💾 Weather Cache — instant weather display on startup using cached data
  • 🌦️ 6-Day Forecast — click the weather widget to expand a full forecast popup

Screenshots

TopBar Screenshot TopBar Screenshot TopBar Screenshot TopBar Screenshot TopBar Screenshot TopBar Screenshot


Requirements

  • Windows 11 (Windows 10 may work but is untested)
  • .NET 10.0
  • Internet connection (for weather)
  • Location permission (for auto-detect, optional)

Installation

Option 1 (Ha ek hi option hai) — Download Release

  1. Go "CODE" at the top
  2. Download the latest TopBar.zip
  3. Download and install VS Studio (Community Edition)
  4. Open the solution folder
  5. Choose "Release" and press Ctrl + Shift + B to build the solution
  6. Go to bin > Release > net10.0-windows10.0.19041.0 > TopBar.exe
  7. Run TopBar.exe
  8. Right-click the bar → Settings → enable Launch on Startup

Usage

Action Result
Hover top edge of screen Bar slides down
Move mouse away Bar slides back up
Click weather widget Opens 6-day forecast popup
Right-click bar Opens context menu
Right-click → Add Reminder Opens reminder form
Right-click → View Reminders Opens reminders list
Right-click → Settings Opens settings popup
Right-click → Exit Closes TopBar

Settings

Setting Description
Bar Height Adjust the height of the bar (30–60px)
Bar Opacity Control how transparent the bar is
Animation Speed How fast the bar slides in/out
Temperature Unit Switch between °C and °F
Weather Refresh How often weather data is fetched (5–60 min)
Launch on Startup Start TopBar with Windows

Tech Stack


Project Structure

TopBar/
├── Assets/
│   ├── Media/          # Media control SVG icons
│   └── Weather/        # Weather condition SVG icons
├── Helpers/
│   ├── AppBarHelper.cs       # Window pinning and Win32 APIs
│   ├── AutoHideHelper.cs     # Auto-hide slide animation
│   ├── LocationService.cs    # WiFi-based location detection
│   ├── ReminderService.cs    # Reminder storage and firing
│   ├── SettingsService.cs    # Settings persistence
│   ├── StartupHelper.cs      # Windows startup registration
│   └── WeatherCache.cs       # Weather response caching
├── Models/
│   ├── Reminder.cs           # Reminder data model
│   └── ReminderViewModel.cs  # Reminder display model
├── Widgets/
│   ├── ClockWidget.xaml      # Clock display
│   ├── MediaWidget.xaml      # Media controls
│   └── WeatherWidget.xaml    # Weather display
├── AddReminderWindow.xaml    # Add/edit reminder form
├── RemindersListWindow.xaml  # View/manage reminders
├── ReminderPopupWindow.xaml  # Reminder alert popup
├── SettingsPopup.xaml        # Settings panel
├── WeatherPopupWindow.xaml   # Weather detail popup
└── MainWindow.xaml           # The main bar window

Roadmap

  • WinUI 3 migration (for native Mica Alt support)
  • Fullscreen app detection
  • Multi-monitor support
  • More customizable widgets
  • Plugin/widget system

Credits


License

MIT License — see LICENSE for details.


Contributing

Pull requests are welcome! If you have ideas for new widgets or improvements, feel free to open an issue first to discuss.

  1. Fork the repo
  2. Create a feature branch (git checkout -b feature/AmazingWidget)
  3. Commit your changes (git commit -m 'Add AmazingWidget')
  4. Push to the branch (git push origin feature/AmazingWidget)
  5. Open a Pull Request

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages