A customizable macOS-style top menu bar for Windows 10 & 11 — built with WinUI 3.
TopTaskBarWin11 replaces the top edge of your desktop with a sleek, always-on-top bar: pin your favorite apps, jump to quick folders, switch between running windows, and keep an eye on CPU, RAM, battery, network, and the time — all in one compact strip that reserves desktop space like a real Windows AppBar.
Zero-install portable build:
- Head to the latest release.
- Download
TopTaskBarWin11-vX.Y.Z-win-x64.zip. - Unzip anywhere and run
TopTaskBarWin11.exe— no installer, no runtime prerequisites.
Tip: enable Run at Startup in Settings → Startup & Behavior to have the bar ready every time you sign in.
The top bar: start menu, pinned apps, quick folders, active window title, window switcher, battery, and clock.
A full settings app to tune bar height, monitor placement, themes, materials, widgets, and behavior.
- AppBar integration — registers with the Windows shell so maximized windows never overlap the bar.
- Pinned apps — launch File Explorer, your browser, or any EXE/URL; reorder, disable, or run as administrator from a right-click menu.
- Quick folders — one-click access to Desktop, Downloads, Documents, or any folder you add.
- Running-window switcher — see and switch between every open window, with live titles and icons.
- Active app title — always know which window has focus.
- System widgets — CPU & RAM usage, battery status, network state, configurable font size.
- Clock & calendar flyout — click the clock for a full month calendar.
- Volume & audio devices flyout — mute and switch output devices.
- Multi-monitor aware — show the bar on the primary monitor, the monitor with the mouse, a specific monitor, or all monitors.
- Appearance control — dark/light/system theme, Acrylic/Mica/Solid background, opacity, corner radius, bar height, widget spacing, separators.
- Auto-hide & always-on-top — behaves like a taskbar when you want it to.
- Fullscreen detection — automatically hides (or lowers) when a fullscreen app takes over, with a configurable exclusion list.
- Separated windows — optional detached mini-bars for individual windows.
- System tray — tray icon with quick access to settings and exit; single-instance enforced.
- Run at startup — one toggle, implemented via the registry (no special permissions needed).
TopTaskBarWin11/
├── App.xaml / App.xaml.cs # Single-instance bootstrap, top-bar window lifecycle, tray service
├── Views/
│ ├── TopBarWindow.xaml(.cs) # The bar itself: layout, AppBar registration, auto-hide, flyouts
│ ├── SettingsWindow.xaml(.cs) # Full settings app (NavigationView, 8 pages)
│ ├── AddPinnedAppWindow.xaml(.cs) # Add/edit pinned apps
│ └── Flyouts/ # Calendar, volume/audio, window switcher, add-pinned-app flyouts
├── Services/
│ ├── AppBarService # SHAppBarSystem AppBar registration per monitor
│ ├── MonitorService # Monitor enumeration, DPI, placement modes
│ ├── WindowEnumerationService # EnumWindows-based running window discovery
│ ├── ForegroundWindowService # WinEventHook-based active window tracking
│ ├── IconService # Shell icon extraction + %LOCALAPPDATA% icon cache
│ ├── AudioService # Output devices + volume (Windows Audio COM)
│ ├── SystemMonitorService # CPU/RAM polling (PerformanceCounter)
│ ├── TrayService # H.NotifyIcon tray integration
│ ├── SettingsService # JSON settings at %LOCALAPPDATA%\TopTaskBarWin11\settings.json
│ ├── StartupManager # HKCU Run-key autostart
│ └── AppActivationService # App/folder launching helpers
├── Native/NativeMethods.cs # P/Invoke: AppBar, shell icons, window messages, DPI
├── Models/ # AppSettings, monitor/window/audio/pinned-app models
└── Helpers/AppLogger.cs # Session log file at %LOCALAPPDATA%\TopTaskBarWin11\logs
| Layer | Technology |
|---|---|
| UI framework | WinUI 3 (Windows App SDK 2.x, unpackaged) |
| Language | C# / .NET 8 |
| Shell integration | Win32 SHAppBarSystem, EnumWindows, WinEventHook via P/Invoke |
| Tray icon | H.NotifyIcon.WinUI |
| Audio | Windows Core Audio COM (IMMDeviceEnumerator, IAudioEndpointVolume) |
| Settings | System.Text.Json → %LOCALAPPDATA%\TopTaskBarWin11\settings.json |
| Packaging | None — self-contained unpackaged WinUI 3 (portable zip) |
- Windows 10 (1809+) or Windows 11
- .NET 8 SDK with the Windows desktop workload
- Windows App SDK runtime is not required — the app ships self-contained (
WindowsAppSDKSelfContained=true)
git clone https://github.com/uponatime2019/TopTaskBarWin11.git
cd TopTaskBarWin11
# Build (x64)
dotnet build TopTaskBarWin11.csproj -p:Platform=x64
# Run
dotnet run --project TopTaskBarWin11.csproj -p:Platform=x64
# Publish a standalone portable build to ./publish_out
dotnet publish TopTaskBarWin11.csproj -c Release -p:Platform=x64 -o publish_outThe .csproj includes a CopyAppPriToPublish target that copies the app's resources.pri into the publish output — without it, a self-contained unpackaged WinUI 3 publish crashes at startup with XamlParseException (exit code 0xC000027B) even though a Debug build runs fine. If you publish from Visual Studio instead, keep that target intact.
You can also open TopTaskBarWin11.sln in Visual Studio 2022 and press F5.
TopTaskBarWin11 is pointer-driven (there are no global hotkeys):
| Interaction | Action |
|---|---|
| Left-click a pinned app | Launch it (right-click for run as administrator, reorder, remove) |
| Left-click a quick folder | Open it in File Explorer |
| Left-click the active-app title | Show the window-switcher flyout (all running windows) |
| Left-click the clock | Calendar flyout |
| Left-click the volume icon | Volume + audio-device flyout |
| Right-click the bar's system area | Settings, toggle visibility/auto-hide, exit (tray menu) |
| Click the tray icon | Open Settings |
| Enter (in Settings → Separated Windows keyword box) | Add the exclusion keyword |
- Global hotkeys (toggle bar, open switcher)
- Media widget: now-playing info with playback controls
- Focus timer / pomodoro center widget
- Drag-and-drop reordering of pinned apps directly on the bar
- Per-monitor independent bar configuration
- Widget marketplace: plugin model for community widgets
- Localization (i18n) beyond English
- MSIX packaging option for Store distribution alongside the portable zip
- ARM64-native publish artifacts in CI
Contributions are very welcome — this project grows with its community! 🎉
Whether you're fixing a typo, adding a widget, or hunting down a tricky shell-integration bug, we'd love your help:
- 🐛 Found a bug? Open an issue — include your Windows version, the steps to reproduce, and the log file from
%LOCALAPPDATA%\TopTaskBarWin11\logs. - 💡 Have an idea? Start a discussion or open a feature-request issue — roadmap items above are all up for grabs.
- 🔧 Want to code? Fork the repo, create a branch (
feature/my-feature), and open a pull request. Keep PRs focused; if it's a bigger change, an issue first helps everyone align. - ⭐ Just like the app? Starring the repo genuinely helps others discover it.
New to WinUI 3? The Windows App SDK docs are a great starting point, and the codebase is intentionally small and readable — Views/TopBarWindow.xaml.cs is the heart of the app.
See CONTRIBUTING.md for the detailed guide.
This project is licensed under the MIT License — free to use, modify, and distribute.

