feat: add television application icon

This commit is contained in:
2026-10-26 14:20:48 +01:00
parent 82d47741eb
commit 98dccd7593
5 changed files with 29 additions and 1 deletions
+5 -1
View File
@@ -100,11 +100,15 @@ $(APP)/Contents/Info.plist: Resources/Info.plist
mkdir -p "$(APP)/Contents" mkdir -p "$(APP)/Contents"
cp "$<" "$@" cp "$<" "$@"
$(APP)/Contents/Resources/AppIcon.icns: Resources/AppIcon.icns
mkdir -p "$(APP)/Contents/Resources"
cp "$<" "$@"
$(CLI): $(CLI_SOURCES) $(CONFIG_LIBRARY) Makefile $(CLI): $(CLI_SOURCES) $(CONFIG_LIBRARY) Makefile
mkdir -p "$(APP)/Contents/MacOS" mkdir -p "$(APP)/Contents/MacOS"
$(SWIFT) -target $(ARCH)-apple-macosx15.0 -swift-version 6 -parse-as-library -O $(DEBUG_FLAGS) $(CLI_SOURCES) $(CONFIG_FLAGS) -framework AppKit -o $@ $(SWIFT) -target $(ARCH)-apple-macosx15.0 -swift-version 6 -parse-as-library -O $(DEBUG_FLAGS) $(CLI_SOURCES) $(CONFIG_FLAGS) -framework AppKit -o $@
$(BUNDLE_STAMP): $(PLAYER) $(BOOTSTRAP) $(CLI) $(APP)/Contents/Info.plist $(APP)/Contents/Resources/TOMLDecoder-LICENSE.txt $(NATIVE_STAMP) $(HELPER_STAMP) Scripts/bundle.py $(BUNDLE_STAMP): $(PLAYER) $(BOOTSTRAP) $(CLI) $(APP)/Contents/Info.plist $(APP)/Contents/Resources/AppIcon.icns $(APP)/Contents/Resources/TOMLDecoder-LICENSE.txt $(NATIVE_STAMP) $(HELPER_STAMP) Scripts/bundle.py
python3 Scripts/bundle.py --app "$(APP)" --dependencies "$(DEPENDENCY_ROOT)" --signing-identity "$(SIGNING_IDENTITY)" python3 Scripts/bundle.py --app "$(APP)" --dependencies "$(DEPENDENCY_ROOT)" --signing-identity "$(SIGNING_IDENTITY)"
touch "$@" touch "$@"
+2
View File
@@ -19,6 +19,8 @@ The first build downloads dependencies. Quit Terebi before updating, then run `m
To run without installing, use `make run`. The built `.build/terebi.app` is self-contained; no separate FFmpeg, Python or yt-dlp installation is needed at runtime. Builds are ad-hoc signed, not notarized. Bundled licenses and source archives are in the app's Resources; public binary redistribution needs a separate license audit. To run without installing, use `make run`. The built `.build/terebi.app` is self-contained; no separate FFmpeg, Python or yt-dlp installation is needed at runtime. Builds are ad-hoc signed, not notarized. Bundled licenses and source archives are in the app's Resources; public binary redistribution needs a separate license audit.
The television app icon is bundled from `Resources/AppIcon.icns`; its editable vector source is `Resources/AppIcon.svg`.
## Usage ## Usage
- **Local files:** use **⌘O**, drag files onto the player, or choose Finder's **Open With**. Multiple files form a queue in natural filename order, with automatic advance. Use **View → Show Queue** to play, reorder or remove items; **+ → file icon** or dropping files onto the sidebar appends them. The queue lasts only for the session; opening other media replaces it. - **Local files:** use **⌘O**, drag files onto the player, or choose Finder's **Open With**. Multiple files form a queue in natural filename order, with automatic advance. Use **View → Show Queue** to play, reorder or remove items; **+ → file icon** or dropping files onto the sidebar appends them. The queue lasts only for the session; opening other media replaces it.
Binary file not shown.
+21
View File
@@ -0,0 +1,21 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -15 320 320" width="1024" height="1024">
<defs>
<linearGradient id="case" x1="0" y1="0" x2="0.8" y2="1">
<stop stop-color="#faf3e4"/>
<stop offset="1" stop-color="#918679"/>
</linearGradient>
<linearGradient id="screen" x1="0" y1="0" x2="1" y2="1">
<stop stop-color="#78a8e6"/>
<stop offset="1" stop-color="#6354a3"/>
</linearGradient>
</defs>
<path d="M126 66L101 37M163 65L190 28" fill="none" stroke="#918679" stroke-width="11" stroke-linecap="round"/>
<path d="M86 236L78 252M233 236L241 252" fill="none" stroke="#918679" stroke-width="13" stroke-linecap="round"/>
<rect x="39" y="62" width="242" height="179" rx="43" fill="url(#case)"/>
<rect x="54" y="77" width="212" height="149" rx="32" fill="#292b38"/>
<path d="M88 89Q151 81 214 89Q230 91 233 109Q239 151 233 194Q231 210 214 212Q151 220 88 212Q72 210 70 194Q64 151 70 109Q72 92 88 89Z" fill="url(#screen)"/>
<path d="M85 104Q142 95 197 101" fill="none" stroke="#faf3e4" stroke-opacity=".25" stroke-width="7" stroke-linecap="round"/>
<path d="M136 126Q133 124 133 129V176Q133 181 137 178L173 155Q178 152 173 149Z" fill="#faf3e4"/>
<circle cx="250" cy="194" r="5" fill="#ef967d"/>
<path d="M247 113H253M247 126H253M247 139H253" stroke="#918679" stroke-width="4" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

+1
View File
@@ -6,6 +6,7 @@
<key>CFBundleIdentifier</key><string>local.personal.terebi</string> <key>CFBundleIdentifier</key><string>local.personal.terebi</string>
<key>CFBundleName</key><string>Terebi</string> <key>CFBundleName</key><string>Terebi</string>
<key>CFBundleDisplayName</key><string>Terebi</string> <key>CFBundleDisplayName</key><string>Terebi</string>
<key>CFBundleIconFile</key><string>AppIcon</string>
<key>CFBundlePackageType</key><string>APPL</string> <key>CFBundlePackageType</key><string>APPL</string>
<key>CFBundleShortVersionString</key><string>0.1</string> <key>CFBundleShortVersionString</key><string>0.1</string>
<key>LSMinimumSystemVersion</key><string>15.0</string> <key>LSMinimumSystemVersion</key><string>15.0</string>