79 lines
1.9 KiB
Markdown
79 lines
1.9 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/
|
|
```
|
|
|
|
## Config Files
|
|
|
|
`config.json` is local runtime data and is ignored by Git. Keep your personal launcher menu there for testing.
|
|
|
|
`config.example.json` is a public-safe sample config for documentation and reference. New users do not need to copy it; if `config.json` is missing, the app creates a clean starter config on first run.
|
|
|
|
Personal test configs should stay in `config.json`; release packages do not include it unless the release script is run with `-IncludeCurrentConfig`.
|
|
|
|
## 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.
|