{"id":50699123,"url":"https://github.com/litefeel/sidedock","last_synced_at":"2026-06-09T08:01:18.034Z","repository":{"id":363290355,"uuid":"1262655756","full_name":"litefeel/SideDock","owner":"litefeel","description":null,"archived":false,"fork":false,"pushed_at":"2026-06-08T09:55:04.000Z","size":28,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-08T10:05:43.566Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/litefeel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-08T07:37:27.000Z","updated_at":"2026-06-08T09:55:08.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/litefeel/SideDock","commit_stats":null,"previous_names":["litefeel/sidedock"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/litefeel/SideDock","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/litefeel%2FSideDock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/litefeel%2FSideDock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/litefeel%2FSideDock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/litefeel%2FSideDock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/litefeel","download_url":"https://codeload.github.com/litefeel/SideDock/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/litefeel%2FSideDock/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34096955,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-09T08:01:00.612Z","updated_at":"2026-06-09T08:01:18.029Z","avatar_url":"https://github.com/litefeel.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SideDock\n\nSideDock is a Windows-only source-run sidebar app inspired by the detached Microsoft Edge sidebar.\n\n## Requirements\n\n- Windows 10 LTSC 21H2 or Windows 11\n- .NET 10 SDK\n- Microsoft Edge WebView2 Runtime\n\n## Run\n\n```powershell\n$env:DOTNET_CLI_HOME = \"$PWD\\.dotnet_home\"\n$env:NUGET_PACKAGES = \"$PWD\\.nuget\\packages\"\ndotnet run --project src\\SideDock\\SideDock.csproj\n```\n\n## Build MSI Installer\n\nBuild the installer:\n\n```cmd\nscripts\\Build-Installer.cmd\n```\n\nBuild a specific installer version:\n\n```cmd\nscripts\\Build-Installer.cmd 0.0.5 win-x64\n```\n\nBuild the smaller framework-dependent installer without the .NET runtime:\n\n```cmd\nscripts\\Build-Installer.cmd 0.0.5 win-x64 no-runtime\n```\n\nThis publishes a self-contained `win-x64` release with `PublishReadyToRun=true`, then builds:\n\n```text\nartifacts\\installer\\SideDock-0.0.5-win-x64.msi\n```\n\nThe no-runtime variant builds:\n\n```text\nartifacts\\installer\\SideDock-0.0.5-win-x64-no-runtime.msi\n```\n\nWPF does not support .NET NativeAOT, so this project uses ReadyToRun AOT publishing instead of NativeAOT.\n\nInstall:\n\n```cmd\nmsiexec /i artifacts\\installer\\SideDock-0.0.5-win-x64.msi\n```\n\nThe MSI installs SideDock for the current user under `%LOCALAPPDATA%\\Programs\\SideDock`, creates a Start Menu shortcut, and enables startup by writing the current user's `Run` registry key.\n\nUninstall from Windows Settings under installed apps, or use Programs and Features. Windows Installer removes the files, shortcut, and startup registry value.\n\n## Release\n\nCreate and publish a GitHub Release with a tag like `v0.0.5`. The `Release MSI` workflow will build and attach both MSI release assets from that tag:\n\n```text\nSideDock-0.0.5-win-x64.msi\nSideDock-0.0.5-win-x64-no-runtime.msi\n```\n\nRelease tags must use three numeric version parts, optionally prefixed with `v`, because Windows Installer product versions do not support prerelease labels.\n\n## Visual Studio\n\nOpen `SideDock.slnx` in Visual Studio 2022 or later. Set `SideDock` as the startup project if it is not selected automatically, restore NuGet packages, then press `F5` to debug or `Ctrl+F5` to run without debugging.\n\nThe app targets `net10.0-windows`, so Visual Studio must have the .NET 10 SDK and the .NET desktop development workload installed. The target machine also needs Microsoft Edge WebView2 Runtime.\n\nThe sidebar starts as a persistent right-edge icon rail by default and always registers that rail as a Windows appbar, so maximized windows avoid the icon rail. The dock side can be changed to left or right from the settings menu. The rail shows each site's favicon only; missing favicons use a default icon, and loaded favicons are cached under `%LOCALAPPDATA%\\SideDock\\Icons` for immediate display on the next launch.\n\nOnly clicking a site icon expands the web panel. The app is always topmost. The expanded toolbar contains only open externally, pin, hide, and close-page buttons. Pin is shared across all sites.\n\nWhen pin is enabled, the expanded web panel is also registered as appbar space, so maximized windows avoid the full expanded width. When pin is disabled, only the icon rail reserves desktop space; the expanded web panel overlays other windows.\n\nThe expanded width is capped dynamically at the current screen width minus the persistent icon rail width. Dragging the resize grip saves the expanded width to `%LOCALAPPDATA%\\SideDock\\appsettings.json`, and the next app launch uses that saved width.\n\nThe settings menu supports `Dark`, `Light`, and `System` theme modes. `System` follows the Windows app theme preference.\n\nEach configured site gets its own WebView2 instance, so switching icons restores that site's existing page immediately. The hide button collapses the panel while keeping page instances alive. The close button disposes the current page and collapses the panel; selecting that site again creates a fresh WebView2 instance.\n\n## Configure Tools\n\nEdit `src\\SideDock\\appsettings.json` to change the fixed web tools. The supported fields are:\n\n- `Id`\n- `Title`\n- `Url`\n- `IconKey`\n- `OpenExternalFallbackEnabled`\n- `ThemeMode`: `Dark`, `Light`, or `System`\n- `DockSide`: `Left` or `Right`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flitefeel%2Fsidedock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flitefeel%2Fsidedock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flitefeel%2Fsidedock/lists"}