feat(wails): set sfxkeeb branding and keycap app icon

Regenerate platform build assets from config.yml so the app shows as
sfxkeeb in dock, about, and installers. Replace the default Wails icon
with the keycap/speaker artwork and rebuild macOS Assets.car.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-29 23:39:55 -07:00
parent 286167d4a6
commit 17e978661b
19 changed files with 209 additions and 243 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 409 KiB

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 583 533" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(1,0,0,1,-246,-251)">
<g id="Ebene1">
<path d="M246,251L265,784L401,784L506,450L507,450L505,784L641,784L829,251L682,251L596,567L595,567L596,251L478,251L378,568L391,251L246,251Z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 698 B

+8 -22
View File
@@ -1,29 +1,15 @@
{ {
"fill" : { "fill" : {
"automatic-gradient" : "extended-gray:1.00000,1.00000" "automatic-gradient" : "extended-gray:0.00000,0.00000"
}, },
"groups" : [ "groups" : [
{ {
"layers" : [ "layers" : [
{ {
"fill-specializations" : [ "image-name" : "appicon.png",
{ "name" : "appicon",
"appearance" : "dark",
"value" : {
"solid" : "srgb:0.92143,0.92145,0.92144,1.00000"
}
},
{
"appearance" : "tinted",
"value" : {
"solid" : "srgb:0.83742,0.83744,0.83743,1.00000"
}
}
],
"image-name" : "wails_icon_vector.svg",
"name" : "wails_icon_vector",
"position" : { "position" : {
"scale" : 1.5, "scale" : 1.0,
"translation-in-points" : [ "translation-in-points" : [
0.0, 0.0,
0.0 0.0
@@ -33,12 +19,12 @@
], ],
"shadow" : { "shadow" : {
"kind" : "neutral", "kind" : "neutral",
"opacity" : 0.5 "opacity" : 0.0
}, },
"specular" : true, "specular" : false,
"translucency" : { "translucency" : {
"enabled" : true, "enabled" : false,
"value" : 0.5 "value" : 0.0
} }
} }
], ],
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 409 KiB

Binary file not shown.
+32 -31
View File
@@ -1,34 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>CFBundlePackageType</key> <key>CFBundleExecutable</key>
<string>APPL</string> <string>sfxkeeb</string>
<key>CFBundleName</key> <key>CFBundleGetInfoString</key>
<string>My Product</string> <string>Keyboard SFX annotation for video</string>
<key>CFBundleExecutable</key> <key>CFBundleIconFile</key>
<string>sfxkeeb</string> <string>icons</string>
<key>CFBundleIdentifier</key> <key>CFBundleIconName</key>
<string>com.example.sfxkeeb</string> <string>appicon</string>
<key>CFBundleVersion</key> <key>CFBundleIdentifier</key>
<string>0.1.0</string> <string>com.sfxkeeb.app</string>
<key>CFBundleGetInfoString</key> <key>CFBundleName</key>
<string>This is a comment</string> <string>sfxkeeb</string>
<key>CFBundleShortVersionString</key> <key>CFBundlePackageType</key>
<string>0.1.0</string> <string>APPL</string>
<key>CFBundleIconFile</key> <key>CFBundleShortVersionString</key>
<string>icons</string> <string>0.1.0</string>
<key>CFBundleIconName</key> <key>CFBundleVersion</key>
<string>appicon</string> <string>0.1.0</string>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>12.0.0</string> <string>12.0.0</string>
<key>NSHighResolutionCapable</key> <key>NSAppTransportSecurity</key>
<string>true</string> <dict>
<key>NSHumanReadableCopyright</key> <key>NSAllowsLocalNetworking</key>
<string>© 2026, My Company</string> <true/>
<key>NSAppTransportSecurity</key> </dict>
<dict> <key>NSHighResolutionCapable</key>
<key>NSAllowsLocalNetworking</key> <string>true</string>
<true/> <key>NSHumanReadableCopyright</key>
</dict> <string>(c) 2026, sfxkeeb</string>
</dict> </dict>
</plist> </plist>
+27 -26
View File
@@ -1,29 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>CFBundlePackageType</key> <key>CFBundleExecutable</key>
<string>APPL</string> <string>sfxkeeb</string>
<key>CFBundleName</key> <key>CFBundleGetInfoString</key>
<string>My Product</string> <string>Keyboard SFX annotation for video</string>
<key>CFBundleExecutable</key> <key>CFBundleIconFile</key>
<string>sfxkeeb</string> <string>icons</string>
<key>CFBundleIdentifier</key> <key>CFBundleIconName</key>
<string>com.example.sfxkeeb</string> <string>appicon</string>
<key>CFBundleVersion</key> <key>CFBundleIdentifier</key>
<string>0.1.0</string> <string>com.sfxkeeb.app</string>
<key>CFBundleGetInfoString</key> <key>CFBundleName</key>
<string>This is a comment</string> <string>sfxkeeb</string>
<key>CFBundleShortVersionString</key> <key>CFBundlePackageType</key>
<string>0.1.0</string> <string>APPL</string>
<key>CFBundleIconFile</key> <key>CFBundleShortVersionString</key>
<string>icons</string> <string>0.1.0</string>
<key>CFBundleIconName</key> <key>CFBundleVersion</key>
<string>appicon</string> <string>0.1.0</string>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>12.0.0</string> <string>12.0.0</string>
<key>NSHighResolutionCapable</key> <key>NSHighResolutionCapable</key>
<string>true</string> <string>true</string>
<key>NSHumanReadableCopyright</key> <key>NSHumanReadableCopyright</key>
<string>© 2026, My Company</string> <string>(c) 2026, sfxkeeb</string>
</dict> </dict>
</plist> </plist>
Binary file not shown.
+52 -57
View File
@@ -1,61 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>CFBundleExecutable</key> <key>CFBundleDisplayName</key>
<string>sfxkeeb</string> <string>sfxkeeb (Dev)</string>
<key>CFBundleIdentifier</key> <key>CFBundleExecutable</key>
<string>com.example.sfxkeeb.dev</string> <string>sfxkeeb</string>
<key>CFBundleName</key> <key>CFBundleGetInfoString</key>
<string>My Product (Dev)</string> <string>Keyboard SFX annotation for video</string>
<key>CFBundleDisplayName</key> <key>CFBundleIdentifier</key>
<string>My Product (Dev)</string> <string>com.sfxkeeb.app.dev</string>
<key>CFBundlePackageType</key> <key>CFBundleName</key>
<string>APPL</string> <string>sfxkeeb (Dev)</string>
<key>CFBundleShortVersionString</key> <key>CFBundlePackageType</key>
<string>0.1.0-dev</string> <string>APPL</string>
<key>CFBundleVersion</key> <key>CFBundleShortVersionString</key>
<string>0.1.0</string> <string>0.1.0-dev</string>
<key>LSRequiresIPhoneOS</key> <key>CFBundleVersion</key>
<true/> <string>0.1.0</string>
<key>MinimumOSVersion</key> <key>LSRequiresIPhoneOS</key>
<string>15.0</string> <true/>
<key>UILaunchStoryboardName</key> <key>MinimumOSVersion</key>
<string>LaunchScreen</string> <string>15.0</string>
<key>UIRequiredDeviceCapabilities</key> <key>NSAppTransportSecurity</key>
<array> <dict>
<string>arm64</string> <key>NSAllowsArbitraryLoads</key>
</array> <true/>
<key>UISupportedInterfaceOrientations</key> <key>NSAllowsLocalNetworking</key>
<array> <true/>
<string>UIInterfaceOrientationPortrait</string> </dict>
<string>UIInterfaceOrientationLandscapeLeft</string> <key>NSHumanReadableCopyright</key>
<string>UIInterfaceOrientationLandscapeRight</string> <string>(c) 2026, sfxkeeb</string>
</array> <key>UILaunchStoryboardName</key>
<key>UISupportedInterfaceOrientations~ipad</key> <string>LaunchScreen</string>
<array> <key>UIRequiredDeviceCapabilities</key>
<string>UIInterfaceOrientationPortrait</string> <array>
<string>UIInterfaceOrientationPortraitUpsideDown</string> <string>arm64</string>
<string>UIInterfaceOrientationLandscapeLeft</string> </array>
<string>UIInterfaceOrientationLandscapeRight</string> <key>UISupportedInterfaceOrientations</key>
</array> <array>
<key>NSAppTransportSecurity</key> <string>UIInterfaceOrientationPortrait</string>
<dict> <string>UIInterfaceOrientationLandscapeLeft</string>
<key>NSAllowsArbitraryLoads</key> <string>UIInterfaceOrientationLandscapeRight</string>
<true/> </array>
<key>NSAllowsLocalNetworking</key> <key>UISupportedInterfaceOrientations~ipad</key>
<true/> <array>
</dict> <string>UIInterfaceOrientationPortrait</string>
<!-- Development mode enabled --> <string>UIInterfaceOrientationPortraitUpsideDown</string>
<key>WailsDevelopmentMode</key> <string>UIInterfaceOrientationLandscapeLeft</string>
<true/> <string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>NSHumanReadableCopyright</key> <key>WailsDevelopmentMode</key>
<string>© 2026, My Company</string> <true/>
</dict>
<key>CFBundleGetInfoString</key>
<string>This is a comment</string>
</dict>
</plist> </plist>
+50 -55
View File
@@ -1,59 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>CFBundleExecutable</key> <key>CFBundleDisplayName</key>
<string>sfxkeeb</string> <string>sfxkeeb</string>
<key>CFBundleIdentifier</key> <key>CFBundleExecutable</key>
<string>com.example.sfxkeeb</string> <string>sfxkeeb</string>
<key>CFBundleName</key> <key>CFBundleGetInfoString</key>
<string>My Product</string> <string>Keyboard SFX annotation for video</string>
<key>CFBundleDisplayName</key> <key>CFBundleIdentifier</key>
<string>My Product</string> <string>com.sfxkeeb.app</string>
<key>CFBundlePackageType</key> <key>CFBundleName</key>
<string>APPL</string> <string>sfxkeeb</string>
<key>CFBundleShortVersionString</key> <key>CFBundlePackageType</key>
<string>0.1.0</string> <string>APPL</string>
<key>CFBundleVersion</key> <key>CFBundleShortVersionString</key>
<string>0.1.0</string> <string>0.1.0</string>
<key>LSRequiresIPhoneOS</key> <key>CFBundleVersion</key>
<true/> <string>0.1.0</string>
<key>MinimumOSVersion</key> <key>LSRequiresIPhoneOS</key>
<string>15.0</string> <true/>
<key>UILaunchStoryboardName</key> <key>MinimumOSVersion</key>
<string>LaunchScreen</string> <string>15.0</string>
<key>UIRequiredDeviceCapabilities</key> <key>NSAppTransportSecurity</key>
<array> <dict>
<string>arm64</string> <key>NSAllowsArbitraryLoads</key>
</array> <false/>
<key>UISupportedInterfaceOrientations</key> <key>NSAllowsLocalNetworking</key>
<array> <true/>
<string>UIInterfaceOrientationPortrait</string> </dict>
<string>UIInterfaceOrientationLandscapeLeft</string> <key>NSHumanReadableCopyright</key>
<string>UIInterfaceOrientationLandscapeRight</string> <string>(c) 2026, sfxkeeb</string>
</array> <key>UILaunchStoryboardName</key>
<key>UISupportedInterfaceOrientations~ipad</key> <string>LaunchScreen</string>
<array> <key>UIRequiredDeviceCapabilities</key>
<string>UIInterfaceOrientationPortrait</string> <array>
<string>UIInterfaceOrientationPortraitUpsideDown</string> <string>arm64</string>
<string>UIInterfaceOrientationLandscapeLeft</string> </array>
<string>UIInterfaceOrientationLandscapeRight</string> <key>UISupportedInterfaceOrientations</key>
</array> <array>
<key>NSAppTransportSecurity</key> <string>UIInterfaceOrientationPortrait</string>
<dict> <string>UIInterfaceOrientationLandscapeLeft</string>
<key>NSAllowsArbitraryLoads</key> <string>UIInterfaceOrientationLandscapeRight</string>
<false/> </array>
<key>NSAllowsLocalNetworking</key> <key>UISupportedInterfaceOrientations~ipad</key>
<true/> <array>
</dict> <string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<key>NSHumanReadableCopyright</key> <string>UIInterfaceOrientationLandscapeRight</string>
<string>© 2026, My Company</string> </array>
</dict>
<key>CFBundleGetInfoString</key>
<string>This is a comment</string>
</dict>
</plist> </plist>
+2 -2
View File
@@ -16,14 +16,14 @@
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/> <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews> <subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="My Product" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb"> <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="sfxkeeb" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb">
<rect key="frame" x="0.0" y="397" width="393" height="43"/> <rect key="frame" x="0.0" y="397" width="393" height="43"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/> <fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
<nil key="textColor"/> <nil key="textColor"/>
<nil key="highlightedColor"/> <nil key="highlightedColor"/>
</label> </label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="A sfxkeeb application" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="MN2-I3-ftu"> <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Annotate keyboard key presses on a video timeline" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="MN2-I3-ftu">
<rect key="frame" x="0.0" y="448" width="393" height="21"/> <rect key="frame" x="0.0" y="448" width="393" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/> <fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/> <nil key="textColor"/>
+4 -7
View File
@@ -1,11 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<!-- iOS development entitlements. Applied to device builds only <key>get-task-allow</key>
(task ios:package IOS_PLATFORM=device). Add capability keys here <true/>
(e.g. aps-environment) as your app needs them. --> </dict>
<key>get-task-allow</key>
<true/>
</dict>
</plist> </plist>
+19 -19
View File
@@ -13,20 +13,20 @@
C0DEBEEF00000000000000F4 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0DEBEEF0000000000000104 /* Security.framework */; }; C0DEBEEF00000000000000F4 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0DEBEEF0000000000000104 /* Security.framework */; };
C0DEBEEF00000000000000F5 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0DEBEEF0000000000000105 /* CoreFoundation.framework */; }; C0DEBEEF00000000000000F5 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0DEBEEF0000000000000105 /* CoreFoundation.framework */; };
C0DEBEEF00000000000000F6 /* libresolv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = C0DEBEEF0000000000000106 /* libresolv.tbd */; }; C0DEBEEF00000000000000F6 /* libresolv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = C0DEBEEF0000000000000106 /* libresolv.tbd */; };
C0DEBEEF00000000000000F7 /* My Product.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C0DEBEEF0000000000000107 /* My Product.a */; }; C0DEBEEF00000000000000F7 /* sfxkeeb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C0DEBEEF0000000000000107 /* sfxkeeb.a */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
C0DEBEEF0000000000000002 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; C0DEBEEF0000000000000002 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
C0DEBEEF0000000000000003 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; C0DEBEEF0000000000000003 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
C0DEBEEF0000000000000004 /* My Product.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "My Product.app"; sourceTree = BUILT_PRODUCTS_DIR; }; C0DEBEEF0000000000000004 /* sfxkeeb.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "sfxkeeb.app"; sourceTree = BUILT_PRODUCTS_DIR; };
C0DEBEEF0000000000000101 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; C0DEBEEF0000000000000101 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
C0DEBEEF0000000000000102 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; C0DEBEEF0000000000000102 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
C0DEBEEF0000000000000103 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; C0DEBEEF0000000000000103 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
C0DEBEEF0000000000000104 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; C0DEBEEF0000000000000104 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
C0DEBEEF0000000000000105 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; C0DEBEEF0000000000000105 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
C0DEBEEF0000000000000106 /* libresolv.tbd */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.text-based-dylib-definition; name = libresolv.tbd; path = usr/lib/libresolv.tbd; sourceTree = SDKROOT; }; C0DEBEEF0000000000000106 /* libresolv.tbd */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.text-based-dylib-definition; name = libresolv.tbd; path = usr/lib/libresolv.tbd; sourceTree = SDKROOT; };
C0DEBEEF0000000000000107 /* My Product.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "My Product.a"; path = "../../../bin/My Product.a"; sourceTree = SOURCE_ROOT; }; C0DEBEEF0000000000000107 /* sfxkeeb.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "sfxkeeb.a"; path = "../../../bin/sfxkeeb.a"; sourceTree = SOURCE_ROOT; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXGroup section */ /* Begin PBXGroup section */
@@ -42,7 +42,7 @@
C0DEBEEF0000000000000020 /* Products */ = { C0DEBEEF0000000000000020 /* Products */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
C0DEBEEF0000000000000004 /* My Product.app */, C0DEBEEF0000000000000004 /* sfxkeeb.app */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -65,7 +65,7 @@
C0DEBEEF0000000000000104 /* Security.framework */, C0DEBEEF0000000000000104 /* Security.framework */,
C0DEBEEF0000000000000105 /* CoreFoundation.framework */, C0DEBEEF0000000000000105 /* CoreFoundation.framework */,
C0DEBEEF0000000000000106 /* libresolv.tbd */, C0DEBEEF0000000000000106 /* libresolv.tbd */,
C0DEBEEF0000000000000107 /* My Product.a */, C0DEBEEF0000000000000107 /* sfxkeeb.a */,
); );
name = Frameworks; name = Frameworks;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -73,9 +73,9 @@
/* End PBXGroup section */ /* End PBXGroup section */
/* Begin PBXNativeTarget section */ /* Begin PBXNativeTarget section */
C0DEBEEF0000000000000040 /* My Product */ = { C0DEBEEF0000000000000040 /* sfxkeeb */ = {
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = C0DEBEEF0000000000000070 /* Build configuration list for PBXNativeTarget "My Product" */; buildConfigurationList = C0DEBEEF0000000000000070 /* Build configuration list for PBXNativeTarget "sfxkeeb" */;
buildPhases = ( buildPhases = (
C0DEBEEF0000000000000055 /* Prebuild: Wails Go Archive */, C0DEBEEF0000000000000055 /* Prebuild: Wails Go Archive */,
C0DEBEEF0000000000000050 /* Sources */, C0DEBEEF0000000000000050 /* Sources */,
@@ -85,9 +85,9 @@
); );
dependencies = ( dependencies = (
); );
name = "My Product"; name = "sfxkeeb";
productName = "My Product"; productName = "sfxkeeb";
productReference = C0DEBEEF0000000000000004 /* My Product.app */; productReference = C0DEBEEF0000000000000004 /* sfxkeeb.app */;
productType = "com.apple.product-type.application"; productType = "com.apple.product-type.application";
}; };
/* End PBXNativeTarget section */ /* End PBXNativeTarget section */
@@ -97,7 +97,7 @@
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
LastUpgradeCheck = 1500; LastUpgradeCheck = 1500;
ORGANIZATIONNAME = "My Company"; ORGANIZATIONNAME = "sfxkeeb";
TargetAttributes = { TargetAttributes = {
C0DEBEEF0000000000000040 = { C0DEBEEF0000000000000040 = {
CreatedOnToolsVersion = 15.0; CreatedOnToolsVersion = 15.0;
@@ -116,7 +116,7 @@
projectDirPath = ""; projectDirPath = "";
projectRoot = ""; projectRoot = "";
targets = ( targets = (
C0DEBEEF0000000000000040 /* My Product */, C0DEBEEF0000000000000040 /* sfxkeeb */,
); );
}; };
/* End PBXProject section */ /* End PBXProject section */
@@ -126,7 +126,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
C0DEBEEF00000000000000F7 /* My Product.a in Frameworks */, C0DEBEEF00000000000000F7 /* sfxkeeb.a in Frameworks */,
C0DEBEEF00000000000000F1 /* UIKit.framework in Frameworks */, C0DEBEEF00000000000000F1 /* UIKit.framework in Frameworks */,
C0DEBEEF00000000000000F2 /* Foundation.framework in Frameworks */, C0DEBEEF00000000000000F2 /* Foundation.framework in Frameworks */,
C0DEBEEF00000000000000F3 /* WebKit.framework in Frameworks */, C0DEBEEF00000000000000F3 /* WebKit.framework in Frameworks */,
@@ -155,7 +155,7 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "set -e\nAPP_ROOT=\"${PROJECT_DIR}/../../..\"\nPLATFORM=${PLATFORM_NAME:-iphonesimulator}\nSDK_PATH=${SDKROOT:-$(xcrun --sdk ${PLATFORM} --show-sdk-path)}\nif [ ${PLATFORM} = iphonesimulator ]; then GO_TARGET=arm64-apple-ios15.0-simulator; MIN_FLAG=-mios-simulator-version-min=15.0; else GO_TARGET=arm64-apple-ios15.0; MIN_FLAG=-miphoneos-version-min=15.0; fi\nexport GOOS=ios\nexport GOARCH=arm64\nexport CGO_ENABLED=1\nexport CGO_CFLAGS=\"-isysroot ${SDK_PATH} -target ${GO_TARGET} ${MIN_FLAG}\"\nexport CGO_LDFLAGS=\"-isysroot ${SDK_PATH} -target ${GO_TARGET}\"\ncd \"${APP_ROOT}\"\n# Ensure overlay exists\nif [ ! -f build/ios/xcode/overlay.json ]; then\n wails3 ios overlay:gen -out build/ios/xcode/overlay.json -config build/config.yml || true\nfi\n# Always rebuild the Go c-archive; Go's build cache keeps this fast\n# and avoids stale binaries when .go sources change.\necho \"Building Go c-archive...\"\ngo build -buildmode=c-archive -overlay build/ios/xcode/overlay.json -o \"bin/My Product.a\"\n"; shellScript = "set -e\nAPP_ROOT=\"${PROJECT_DIR}/../../..\"\nPLATFORM=${PLATFORM_NAME:-iphonesimulator}\nSDK_PATH=${SDKROOT:-$(xcrun --sdk ${PLATFORM} --show-sdk-path)}\nif [ ${PLATFORM} = iphonesimulator ]; then GO_TARGET=arm64-apple-ios15.0-simulator; MIN_FLAG=-mios-simulator-version-min=15.0; else GO_TARGET=arm64-apple-ios15.0; MIN_FLAG=-miphoneos-version-min=15.0; fi\nexport GOOS=ios\nexport GOARCH=arm64\nexport CGO_ENABLED=1\nexport CGO_CFLAGS=\"-isysroot ${SDK_PATH} -target ${GO_TARGET} ${MIN_FLAG}\"\nexport CGO_LDFLAGS=\"-isysroot ${SDK_PATH} -target ${GO_TARGET}\"\ncd \"${APP_ROOT}\"\n# Ensure overlay exists\nif [ ! -f build/ios/xcode/overlay.json ]; then\n wails3 ios overlay:gen -out build/ios/xcode/overlay.json -config build/config.yml || true\nfi\n# Always rebuild the Go c-archive; Go's build cache keeps this fast\n# and avoids stale binaries when .go sources change.\necho \"Building Go c-archive...\"\ngo build -buildmode=c-archive -overlay build/ios/xcode/overlay.json -o \"bin/sfxkeeb.a\"\n";
}; };
/* End PBXShellScriptBuildPhase section */ /* End PBXShellScriptBuildPhase section */
@@ -176,8 +176,8 @@
buildSettings = { buildSettings = {
INFOPLIST_FILE = main/Info.plist; INFOPLIST_FILE = main/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.0; IPHONEOS_DEPLOYMENT_TARGET = 15.0;
PRODUCT_BUNDLE_IDENTIFIER = "com.example.sfxkeeb"; PRODUCT_BUNDLE_IDENTIFIER = "com.sfxkeeb.app";
PRODUCT_NAME = "My Product"; PRODUCT_NAME = "sfxkeeb";
CODE_SIGNING_ALLOWED = NO; CODE_SIGNING_ALLOWED = NO;
SDKROOT = iphoneos; SDKROOT = iphoneos;
}; };
@@ -188,8 +188,8 @@
buildSettings = { buildSettings = {
INFOPLIST_FILE = main/Info.plist; INFOPLIST_FILE = main/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.0; IPHONEOS_DEPLOYMENT_TARGET = 15.0;
PRODUCT_BUNDLE_IDENTIFIER = "com.example.sfxkeeb"; PRODUCT_BUNDLE_IDENTIFIER = "com.sfxkeeb.app";
PRODUCT_NAME = "My Product"; PRODUCT_NAME = "sfxkeeb";
CODE_SIGNING_ALLOWED = NO; CODE_SIGNING_ALLOWED = NO;
SDKROOT = iphoneos; SDKROOT = iphoneos;
}; };
@@ -198,7 +198,7 @@
/* End XCBuildConfiguration section */ /* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */ /* Begin XCConfigurationList section */
C0DEBEEF0000000000000070 /* Build configuration list for PBXNativeTarget "My Product" */ = { C0DEBEEF0000000000000070 /* Build configuration list for PBXNativeTarget "sfxkeeb" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (
C0DEBEEF0000000000000090 /* Debug */, C0DEBEEF0000000000000090 /* Debug */,
+2 -2
View File
@@ -1,7 +1,7 @@
[Desktop Entry] [Desktop Entry]
Version=1.0 Version=1.0
Name=My Product Name=sfxkeeb
Comment=A sfxkeeb application Comment=Annotate keyboard key presses on a video timeline
# The Exec line includes %u to pass the URL to the application # The Exec line includes %u to pass the URL to the application
Exec=/usr/local/bin/sfxkeeb %u Exec=/usr/local/bin/sfxkeeb %u
Terminal=false Terminal=false
+2 -2
View File
@@ -10,8 +10,8 @@ version: "0.1.0"
section: "default" section: "default"
priority: "extra" priority: "extra"
maintainer: ${GIT_COMMITTER_NAME} <${GIT_COMMITTER_EMAIL}> maintainer: ${GIT_COMMITTER_NAME} <${GIT_COMMITTER_EMAIL}>
description: "A sfxkeeb application" description: "Annotate keyboard key presses on a video timeline"
vendor: "My Company" vendor: "sfxkeeb"
homepage: "https://wails.io" homepage: "https://wails.io"
license: "MIT" license: "MIT"
release: "1" release: "1"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 53 KiB

+5 -5
View File
@@ -5,11 +5,11 @@
"info": { "info": {
"0000": { "0000": {
"ProductVersion": "0.1.0", "ProductVersion": "0.1.0",
"CompanyName": "My Company", "CompanyName": "sfxkeeb",
"FileDescription": "A sfxkeeb application", "FileDescription": "Annotate keyboard key presses on a video timeline",
"LegalCopyright": "© 2026, My Company", "LegalCopyright": "(c) 2026, sfxkeeb",
"ProductName": "My Product", "ProductName": "sfxkeeb",
"Comments": "This is a comment" "Comments": "Keyboard SFX annotation for video"
} }
} }
} }
+3 -3
View File
@@ -8,16 +8,16 @@
!define INFO_PROJECTNAME "sfxkeeb" !define INFO_PROJECTNAME "sfxkeeb"
!endif !endif
!ifndef INFO_COMPANYNAME !ifndef INFO_COMPANYNAME
!define INFO_COMPANYNAME "My Company" !define INFO_COMPANYNAME "sfxkeeb"
!endif !endif
!ifndef INFO_PRODUCTNAME !ifndef INFO_PRODUCTNAME
!define INFO_PRODUCTNAME "My Product" !define INFO_PRODUCTNAME "sfxkeeb"
!endif !endif
!ifndef INFO_PRODUCTVERSION !ifndef INFO_PRODUCTVERSION
!define INFO_PRODUCTVERSION "0.1.0" !define INFO_PRODUCTVERSION "0.1.0"
!endif !endif
!ifndef INFO_COPYRIGHT !ifndef INFO_COPYRIGHT
!define INFO_COPYRIGHT "© 2026, My Company" !define INFO_COPYRIGHT "(c) 2026, sfxkeeb"
!endif !endif
!ifndef PRODUCT_EXECUTABLE !ifndef PRODUCT_EXECUTABLE
!define PRODUCT_EXECUTABLE "${INFO_PROJECTNAME}.exe" !define PRODUCT_EXECUTABLE "${INFO_PROJECTNAME}.exe"
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> <assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<assemblyIdentity type="win32" name="com.example.sfxkeeb" version="0.1.0" processorArchitecture="*"/> <assemblyIdentity type="win32" name="com.sfxkeeb.app" version="0.1.0" processorArchitecture="*"/>
<dependency> <dependency>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>