diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 3bf8c7d..8d0e1ce 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -102,7 +102,7 @@ jobs:
vpk download github --repoUrl $env:REPO_URL --token $env:GITHUB_TOKEN --channel ${{ steps.version.outputs.channel }} @preFlag
- name: Velopack pack
- run: vpk pack --packId gclo --packVersion ${{ steps.version.outputs.version }} --packDir publish/app --mainExe gclo.exe --channel ${{ steps.version.outputs.channel }}
+ run: vpk pack --packId gclo --packVersion ${{ steps.version.outputs.version }} --packDir publish/app --mainExe gclo.exe --channel ${{ steps.version.outputs.channel }} --icon gclo/Assets/Brand/gclo.ico
# This repo has immutable releases: assets freeze the moment a release is
# PUBLISHED. So vpk creates a DRAFT (no --publish), every asset and the
diff --git a/README.md b/README.md
index d9b1b5c..8f4fbd9 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,14 @@
-# gclo — Git Clone Large Organizations
+
+
+
-**Clone an entire GitHub organization. Keep it up to date. In parallel.**
+Clone an entire GitHub organization. Keep it up to date. In parallel.
-[](LICENSE)
-[](https://github.com/KofTwentyTwo/gclo)
-[](https://dotnet.microsoft.com/)
+
+
+
+
+
**gclo** (**G**it **C**lone **L**arge **O**rganizations) mirrors every repository of a GitHub organization or user account into a local folder in one pass: it clones the repositories that are missing and fast-forwards the ones that already exist, with live per-repo progress and bounded parallelism. It ships as a Windows 11 desktop app (WinUI 3) and a scriptable CLI built on the same engine.
diff --git a/docs/images/gclo-lockup.png b/docs/images/gclo-lockup.png
new file mode 100644
index 0000000..8641ef7
Binary files /dev/null and b/docs/images/gclo-lockup.png differ
diff --git a/gclo.Cli/gclo.Cli.csproj b/gclo.Cli/gclo.Cli.csproj
index e4452c3..221347d 100644
--- a/gclo.Cli/gclo.Cli.csproj
+++ b/gclo.Cli/gclo.Cli.csproj
@@ -8,6 +8,7 @@
gclo
gclo.Cli
true
+ ..\gclo\Assets\Brand\gclo.ico
diff --git a/gclo/AboutDialog.xaml b/gclo/AboutDialog.xaml
index 4765f19..45f8c35 100644
--- a/gclo/AboutDialog.xaml
+++ b/gclo/AboutDialog.xaml
@@ -13,7 +13,7 @@
-
@@ -24,11 +24,14 @@
-
+
+
+
+
+
gclo is open source, released under the MIT License.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/gclo/Assets/Brand/gclo.ico b/gclo/Assets/Brand/gclo.ico
new file mode 100644
index 0000000..97ede39
Binary files /dev/null and b/gclo/Assets/Brand/gclo.ico differ
diff --git a/gclo/Assets/LockScreenLogo.scale-100.png b/gclo/Assets/LockScreenLogo.scale-100.png
new file mode 100644
index 0000000..a6b3a15
Binary files /dev/null and b/gclo/Assets/LockScreenLogo.scale-100.png differ
diff --git a/gclo/Assets/LockScreenLogo.scale-125.png b/gclo/Assets/LockScreenLogo.scale-125.png
new file mode 100644
index 0000000..353f00a
Binary files /dev/null and b/gclo/Assets/LockScreenLogo.scale-125.png differ
diff --git a/gclo/Assets/LockScreenLogo.scale-150.png b/gclo/Assets/LockScreenLogo.scale-150.png
new file mode 100644
index 0000000..a8f7ce1
Binary files /dev/null and b/gclo/Assets/LockScreenLogo.scale-150.png differ
diff --git a/gclo/Assets/LockScreenLogo.scale-200.png b/gclo/Assets/LockScreenLogo.scale-200.png
index 3e6ddb8..3beb51a 100644
Binary files a/gclo/Assets/LockScreenLogo.scale-200.png and b/gclo/Assets/LockScreenLogo.scale-200.png differ
diff --git a/gclo/Assets/LockScreenLogo.scale-400.png b/gclo/Assets/LockScreenLogo.scale-400.png
new file mode 100644
index 0000000..e3c5298
Binary files /dev/null and b/gclo/Assets/LockScreenLogo.scale-400.png differ
diff --git a/gclo/Assets/SplashScreen.scale-100.png b/gclo/Assets/SplashScreen.scale-100.png
new file mode 100644
index 0000000..e26521d
Binary files /dev/null and b/gclo/Assets/SplashScreen.scale-100.png differ
diff --git a/gclo/Assets/SplashScreen.scale-125.png b/gclo/Assets/SplashScreen.scale-125.png
new file mode 100644
index 0000000..803f842
Binary files /dev/null and b/gclo/Assets/SplashScreen.scale-125.png differ
diff --git a/gclo/Assets/SplashScreen.scale-150.png b/gclo/Assets/SplashScreen.scale-150.png
new file mode 100644
index 0000000..752ebb9
Binary files /dev/null and b/gclo/Assets/SplashScreen.scale-150.png differ
diff --git a/gclo/Assets/SplashScreen.scale-200.png b/gclo/Assets/SplashScreen.scale-200.png
index b755429..0556878 100644
Binary files a/gclo/Assets/SplashScreen.scale-200.png and b/gclo/Assets/SplashScreen.scale-200.png differ
diff --git a/gclo/Assets/SplashScreen.scale-400.png b/gclo/Assets/SplashScreen.scale-400.png
new file mode 100644
index 0000000..645d518
Binary files /dev/null and b/gclo/Assets/SplashScreen.scale-400.png differ
diff --git a/gclo/Assets/Square150x150Logo.scale-100.png b/gclo/Assets/Square150x150Logo.scale-100.png
new file mode 100644
index 0000000..20a46dd
Binary files /dev/null and b/gclo/Assets/Square150x150Logo.scale-100.png differ
diff --git a/gclo/Assets/Square150x150Logo.scale-125.png b/gclo/Assets/Square150x150Logo.scale-125.png
new file mode 100644
index 0000000..3779e09
Binary files /dev/null and b/gclo/Assets/Square150x150Logo.scale-125.png differ
diff --git a/gclo/Assets/Square150x150Logo.scale-150.png b/gclo/Assets/Square150x150Logo.scale-150.png
new file mode 100644
index 0000000..e042ed1
Binary files /dev/null and b/gclo/Assets/Square150x150Logo.scale-150.png differ
diff --git a/gclo/Assets/Square150x150Logo.scale-200.png b/gclo/Assets/Square150x150Logo.scale-200.png
index 4aeb370..9d55a76 100644
Binary files a/gclo/Assets/Square150x150Logo.scale-200.png and b/gclo/Assets/Square150x150Logo.scale-200.png differ
diff --git a/gclo/Assets/Square150x150Logo.scale-400.png b/gclo/Assets/Square150x150Logo.scale-400.png
new file mode 100644
index 0000000..9ed7a52
Binary files /dev/null and b/gclo/Assets/Square150x150Logo.scale-400.png differ
diff --git a/gclo/Assets/Square44x44Logo.scale-100.png b/gclo/Assets/Square44x44Logo.scale-100.png
new file mode 100644
index 0000000..7e2bb26
Binary files /dev/null and b/gclo/Assets/Square44x44Logo.scale-100.png differ
diff --git a/gclo/Assets/Square44x44Logo.scale-125.png b/gclo/Assets/Square44x44Logo.scale-125.png
new file mode 100644
index 0000000..dcff2ca
Binary files /dev/null and b/gclo/Assets/Square44x44Logo.scale-125.png differ
diff --git a/gclo/Assets/Square44x44Logo.scale-150.png b/gclo/Assets/Square44x44Logo.scale-150.png
new file mode 100644
index 0000000..27c3b9f
Binary files /dev/null and b/gclo/Assets/Square44x44Logo.scale-150.png differ
diff --git a/gclo/Assets/Square44x44Logo.scale-200.png b/gclo/Assets/Square44x44Logo.scale-200.png
index 19e15ef..5e0ba77 100644
Binary files a/gclo/Assets/Square44x44Logo.scale-200.png and b/gclo/Assets/Square44x44Logo.scale-200.png differ
diff --git a/gclo/Assets/Square44x44Logo.scale-400.png b/gclo/Assets/Square44x44Logo.scale-400.png
new file mode 100644
index 0000000..0e4a3ac
Binary files /dev/null and b/gclo/Assets/Square44x44Logo.scale-400.png differ
diff --git a/gclo/Assets/Square44x44Logo.targetsize-16.png b/gclo/Assets/Square44x44Logo.targetsize-16.png
new file mode 100644
index 0000000..335ed4f
Binary files /dev/null and b/gclo/Assets/Square44x44Logo.targetsize-16.png differ
diff --git a/gclo/Assets/Square44x44Logo.targetsize-16_altform-unplated.png b/gclo/Assets/Square44x44Logo.targetsize-16_altform-unplated.png
new file mode 100644
index 0000000..335ed4f
Binary files /dev/null and b/gclo/Assets/Square44x44Logo.targetsize-16_altform-unplated.png differ
diff --git a/gclo/Assets/Square44x44Logo.targetsize-24.png b/gclo/Assets/Square44x44Logo.targetsize-24.png
new file mode 100644
index 0000000..a6b3a15
Binary files /dev/null and b/gclo/Assets/Square44x44Logo.targetsize-24.png differ
diff --git a/gclo/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/gclo/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
index 1856cc0..a6b3a15 100644
Binary files a/gclo/Assets/Square44x44Logo.targetsize-24_altform-unplated.png and b/gclo/Assets/Square44x44Logo.targetsize-24_altform-unplated.png differ
diff --git a/gclo/Assets/Square44x44Logo.targetsize-256.png b/gclo/Assets/Square44x44Logo.targetsize-256.png
new file mode 100644
index 0000000..1cfe690
Binary files /dev/null and b/gclo/Assets/Square44x44Logo.targetsize-256.png differ
diff --git a/gclo/Assets/Square44x44Logo.targetsize-256_altform-unplated.png b/gclo/Assets/Square44x44Logo.targetsize-256_altform-unplated.png
new file mode 100644
index 0000000..1cfe690
Binary files /dev/null and b/gclo/Assets/Square44x44Logo.targetsize-256_altform-unplated.png differ
diff --git a/gclo/Assets/Square44x44Logo.targetsize-32.png b/gclo/Assets/Square44x44Logo.targetsize-32.png
new file mode 100644
index 0000000..707171d
Binary files /dev/null and b/gclo/Assets/Square44x44Logo.targetsize-32.png differ
diff --git a/gclo/Assets/Square44x44Logo.targetsize-32_altform-unplated.png b/gclo/Assets/Square44x44Logo.targetsize-32_altform-unplated.png
new file mode 100644
index 0000000..707171d
Binary files /dev/null and b/gclo/Assets/Square44x44Logo.targetsize-32_altform-unplated.png differ
diff --git a/gclo/Assets/Square44x44Logo.targetsize-48.png b/gclo/Assets/Square44x44Logo.targetsize-48.png
new file mode 100644
index 0000000..3beb51a
Binary files /dev/null and b/gclo/Assets/Square44x44Logo.targetsize-48.png differ
diff --git a/gclo/Assets/Square44x44Logo.targetsize-48_altform-unplated.png b/gclo/Assets/Square44x44Logo.targetsize-48_altform-unplated.png
new file mode 100644
index 0000000..3beb51a
Binary files /dev/null and b/gclo/Assets/Square44x44Logo.targetsize-48_altform-unplated.png differ
diff --git a/gclo/Assets/StoreLogo.png b/gclo/Assets/StoreLogo.png
deleted file mode 100644
index 9c9b895..0000000
Binary files a/gclo/Assets/StoreLogo.png and /dev/null differ
diff --git a/gclo/Assets/StoreLogo.scale-100.png b/gclo/Assets/StoreLogo.scale-100.png
new file mode 100644
index 0000000..a0d5eb1
Binary files /dev/null and b/gclo/Assets/StoreLogo.scale-100.png differ
diff --git a/gclo/Assets/StoreLogo.scale-125.png b/gclo/Assets/StoreLogo.scale-125.png
new file mode 100644
index 0000000..2d88d96
Binary files /dev/null and b/gclo/Assets/StoreLogo.scale-125.png differ
diff --git a/gclo/Assets/StoreLogo.scale-150.png b/gclo/Assets/StoreLogo.scale-150.png
new file mode 100644
index 0000000..2c4e25b
Binary files /dev/null and b/gclo/Assets/StoreLogo.scale-150.png differ
diff --git a/gclo/Assets/StoreLogo.scale-200.png b/gclo/Assets/StoreLogo.scale-200.png
new file mode 100644
index 0000000..4efd862
Binary files /dev/null and b/gclo/Assets/StoreLogo.scale-200.png differ
diff --git a/gclo/Assets/StoreLogo.scale-400.png b/gclo/Assets/StoreLogo.scale-400.png
new file mode 100644
index 0000000..67da4ba
Binary files /dev/null and b/gclo/Assets/StoreLogo.scale-400.png differ
diff --git a/gclo/Assets/Wide310x150Logo.scale-100.png b/gclo/Assets/Wide310x150Logo.scale-100.png
new file mode 100644
index 0000000..fcae07d
Binary files /dev/null and b/gclo/Assets/Wide310x150Logo.scale-100.png differ
diff --git a/gclo/Assets/Wide310x150Logo.scale-125.png b/gclo/Assets/Wide310x150Logo.scale-125.png
new file mode 100644
index 0000000..3e0af3d
Binary files /dev/null and b/gclo/Assets/Wide310x150Logo.scale-125.png differ
diff --git a/gclo/Assets/Wide310x150Logo.scale-150.png b/gclo/Assets/Wide310x150Logo.scale-150.png
new file mode 100644
index 0000000..4855625
Binary files /dev/null and b/gclo/Assets/Wide310x150Logo.scale-150.png differ
diff --git a/gclo/Assets/Wide310x150Logo.scale-200.png b/gclo/Assets/Wide310x150Logo.scale-200.png
index d1fd67c..25192ad 100644
Binary files a/gclo/Assets/Wide310x150Logo.scale-200.png and b/gclo/Assets/Wide310x150Logo.scale-200.png differ
diff --git a/gclo/Assets/Wide310x150Logo.scale-400.png b/gclo/Assets/Wide310x150Logo.scale-400.png
new file mode 100644
index 0000000..e6ce438
Binary files /dev/null and b/gclo/Assets/Wide310x150Logo.scale-400.png differ
diff --git a/gclo/MainWindow.xaml.cs b/gclo/MainWindow.xaml.cs
index 0a3af36..5770fdc 100644
--- a/gclo/MainWindow.xaml.cs
+++ b/gclo/MainWindow.xaml.cs
@@ -99,6 +99,9 @@ namespace gclo
double scale = GetDpiForWindow(hwnd) / 96.0;
AppWindow.Resize(new Windows.Graphics.SizeInt32((int)(1000 * scale), (int)(750 * scale)));
+ // The brand icon in the title bar (and alt-tab / taskbar for unpackaged runs).
+ AppWindow.SetIcon(System.IO.Path.Combine(AppContext.BaseDirectory, "Assets", "Brand", "gclo.ico"));
+
// Keep the window from shrinking below a usable workspace layout.
// PreferredMinimum* takes physical pixels like Resize (WinAppSDK 1.7+,
// present in the installed SDK). If a future SDK removes these
diff --git a/gclo/SplashOverlay.xaml b/gclo/SplashOverlay.xaml
index cc29045..274eb2c 100644
--- a/gclo/SplashOverlay.xaml
+++ b/gclo/SplashOverlay.xaml
@@ -38,12 +38,17 @@
-
+
+ Margin="0,0,0,16">
+
+
+
+
+
+
+
+
+
+
10.0.17763.0
gclo
app.manifest
+ Assets\Brand\gclo.ico
x86;x64;ARM64
win-x86;win-x64;win-arm64
win-$(Platform).pubxml
@@ -17,13 +18,12 @@
-
-
-
-
-
-
-
+
+
+
+
+