71 lines
1.4 KiB
Markdown
71 lines
1.4 KiB
Markdown
# Taskbar Launcher
|
|
|
|
Taskbar Launcher is a small Windows tray launcher for folders, applications, scripts, files, and nested menus.
|
|
|
|
## Features
|
|
|
|
- System tray launcher
|
|
- Global hotkey, default `Ctrl+Alt+Space`
|
|
- Search/filter in the launcher popup
|
|
- Nested menus and drag/drop ordering in Settings
|
|
- Per-item icon and display mode
|
|
- Automatic icon selection from app/folder targets
|
|
- Portable `config.json`
|
|
- Backup/restore config
|
|
- Optional Start with Windows shortcut
|
|
- Windows light/dark theme support
|
|
|
|
## Project Layout
|
|
|
|
```text
|
|
TaskbarLauncher/
|
|
App.xaml
|
|
MainWindow.xaml
|
|
Models/
|
|
Services/
|
|
Views/
|
|
Tools/
|
|
docs/
|
|
builds/ generated locally, ignored by Git
|
|
```
|
|
|
|
## Build
|
|
|
|
Requires the .NET 10 SDK on the developer machine.
|
|
|
|
```powershell
|
|
dotnet build
|
|
```
|
|
|
|
## Release
|
|
|
|
Create the small framework-dependent release package:
|
|
|
|
```powershell
|
|
.\Tools\New-TaskbarLauncherRelease.ps1
|
|
```
|
|
|
|
Create a self-contained package that does not require users to install .NET:
|
|
|
|
```powershell
|
|
.\Tools\New-TaskbarLauncherRelease.ps1 -SelfContained
|
|
```
|
|
|
|
Release zips are written to:
|
|
|
|
```text
|
|
builds/releases/
|
|
```
|
|
|
|
## Versioning
|
|
|
|
The app version is controlled in `TaskbarLauncher.csproj`.
|
|
|
|
Recommended release flow:
|
|
|
|
1. Update `<Version>` in `TaskbarLauncher.csproj`.
|
|
2. Commit the change.
|
|
3. Run `.\Tools\New-TaskbarLauncherRelease.ps1`.
|
|
4. Tag the release, for example `v1.0.1`.
|
|
5. Upload the generated zip to Gitea Releases.
|