Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions Assets/AppIcon.icon/Assets/01-rear-blue.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions Assets/AppIcon.icon/Assets/02-rear-teal.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions Assets/AppIcon.icon/Assets/03-front-folder.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions Assets/AppIcon.icon/Assets/04-git-mark.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions Assets/AppIcon.icon/Assets/05-branch-orange.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions Assets/AppIcon.icon/Assets/06-branch-blue.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions Assets/AppIcon.icon/Assets/07-branch-teal.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions Assets/AppIcon.icon/Assets/08-branch-base.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
106 changes: 106 additions & 0 deletions Assets/AppIcon.icon/icon.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
{
"fill-specializations" : [
{
"value" : {
"linear-gradient" : [
"display-p3:0.05490,0.14118,0.38824,1.00000",
"extended-srgb:0.00000,0.53333,1.00000,1.00000"
]
}
},
{
"appearance" : "dark",
"value" : {
"linear-gradient" : [
"extended-gray:0.00000,1.00000",
"display-p3:0.05490,0.14118,0.38824,1.00000"
]
}
}
],
"groups" : [
{
"layers" : [
{
"image-name" : "08-branch-base.svg",
"name" : "08-branch-base"
},
{
"image-name" : "07-branch-teal.svg",
"name" : "07-branch-teal"
},
{
"image-name" : "06-branch-blue.svg",
"name" : "06-branch-blue"
},
{
"image-name" : "05-branch-orange.svg",
"name" : "05-branch-orange"
}
],
"name" : "03 Worktree Branches",
"shadow" : {
"kind" : "layer-color",
"opacity" : 0.35
},
"translucency" : {
"enabled" : true,
"value" : 0.05
}
},
{
"layers" : [
{
"image-name" : "04-git-mark.svg",
"name" : "04-git-mark"
},
{
"image-name" : "03-front-folder.svg",
"name" : "03-front-folder"
}
],
"lighting" : "combined",
"name" : "02 Repository",
"shadow" : {
"kind" : "neutral",
"opacity" : 0.5
},
"translucency" : {
"enabled" : true,
"value" : 0.1
}
},
{
"layers" : [
{
"image-name" : "02-rear-teal.svg",
"name" : "02-rear-teal"
},
{
"image-name" : "01-rear-blue.svg",
"name" : "01-rear-blue"
}
],
"name" : "01 Rear Worktrees",
"refractivity" : {
"depth" : 0,
"enabled" : false,
"strength" : 0.5
},
"shadow" : {
"kind" : "layer-color",
"opacity" : 0.35
},
"translucency" : {
"enabled" : true,
"value" : 0.15
}
}
],
"supported-platforms" : {
"circles" : [
"watchOS"
],
"squares" : "shared"
}
}
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ globstar script, since macOS ships bash 3.2. `timber repo add` here has no
and whitened so both render as monochrome template images).
- `Sources/TimberModel/TimberModel.swift` — pure filter/argv logic ported
from `TimberModel.js`, UI-independent.
- `Assets/AppIcon.icon/` — Icon Composer source for the app icon;
`mise run build` compiles it to `Assets.car` via `actool`, and
`CFBundleIconName` in `packaging/Info.plist` points at it.
- `Tests/TimberModelTests/` — unit tests for the model.

## Build & run
Expand Down
8 changes: 8 additions & 0 deletions mise.toml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,14 @@ mkdir -p dist/Timber.app/Contents/MacOS dist/Timber.app/Contents/Resources
lipo -create "$ARM_BIN/Timber" "$X86_BIN/Timber" -output dist/Timber.app/Contents/MacOS/Timber
cp packaging/Info.plist dist/Timber.app/Contents/Info.plist
cp -R "$ARM_BIN/Timber_Timber.bundle" dist/Timber.app/Contents/Resources/
# Compile the Icon Composer source into Assets.car so the bundle gets a
# real app icon (CFBundleIconName in Info.plist points at it). actool
# exits nonzero on failure, and set -e stops the build there; its plist
# report goes to a log so success stays quiet.
ACTOOL_OUT="$(mktemp -d /tmp/timber-assets.XXXXXX)"
xcrun actool --compile "$ACTOOL_OUT" --platform macosx --minimum-deployment-target 14.0 Assets/AppIcon.icon > "$ACTOOL_OUT/actool.log"
cp "$ACTOOL_OUT"/Assets.car dist/Timber.app/Contents/Resources/
rm -rf "$ACTOOL_OUT"
# Ad-hoc sign so Gatekeeper treats a downloaded copy as an intact app
# bundle instead of reporting it as damaged. Still unsigned for
# Gatekeeper's notarization check, so first launch needs right-click Open.
Expand Down
2 changes: 2 additions & 0 deletions packaging/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
<string>Timber</string>
<key>CFBundleExecutable</key>
<string>Timber</string>
<key>CFBundleIconName</key>
<string>AppIcon</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
Expand Down
Loading