Files
Taskbar-Launcher/README.md
2026-06-02 18:09:57 -04:00

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.