feat: add television application icon
This commit is contained in:
@@ -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 "$@"
|
||||||
|
|
||||||
|
|||||||
@@ -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.
@@ -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 |
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user