Initial commit: uskey - macOS keyboard remapper
Features: - Menu bar GUI with enable/disable toggle - JSON-based configuration system - File-based logging with debug support - CGEventTap-based key remapping - Custom app icon support - DMG installer packaging Core Components: - AppDelegate: Application lifecycle and initialization - EventTapManager: Event tap creation and management with proper pointer lifetime - KeyMapper: Key mapping logic and configuration loading - StatusBarController: Menu bar UI and user interactions - Logger: File and console logging with configurable levels - Config: JSON configuration parser with default creation Build System: - build-app.sh: Creates macOS .app bundle with icon - build-dmg.sh: Generates distributable DMG installer - create-icon.sh: Converts PNG to .icns format Documentation: - README.md: User guide and troubleshooting - BUILD.md: Build instructions and packaging - DEBUG.md: Debugging guide with log access 🤖 Generated with [Qoder](https://qoder.com)
This commit is contained in:
37
create-icon.sh
Executable file
37
create-icon.sh
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
SOURCE_IMAGE="static/uskey.png"
|
||||
ICONSET_DIR="static/uskey.iconset"
|
||||
|
||||
if [ ! -f "$SOURCE_IMAGE" ]; then
|
||||
echo "Error: Source image not found at $SOURCE_IMAGE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Creating app icon from $SOURCE_IMAGE..."
|
||||
|
||||
echo "Step 1: Creating iconset directory..."
|
||||
rm -rf "$ICONSET_DIR"
|
||||
mkdir -p "$ICONSET_DIR"
|
||||
|
||||
echo "Step 2: Generating icon sizes..."
|
||||
sips -z 16 16 "$SOURCE_IMAGE" --out "$ICONSET_DIR/icon_16x16.png" > /dev/null
|
||||
sips -z 32 32 "$SOURCE_IMAGE" --out "$ICONSET_DIR/icon_16x16@2x.png" > /dev/null
|
||||
sips -z 32 32 "$SOURCE_IMAGE" --out "$ICONSET_DIR/icon_32x32.png" > /dev/null
|
||||
sips -z 64 64 "$SOURCE_IMAGE" --out "$ICONSET_DIR/icon_32x32@2x.png" > /dev/null
|
||||
sips -z 128 128 "$SOURCE_IMAGE" --out "$ICONSET_DIR/icon_128x128.png" > /dev/null
|
||||
sips -z 256 256 "$SOURCE_IMAGE" --out "$ICONSET_DIR/icon_128x128@2x.png" > /dev/null
|
||||
sips -z 256 256 "$SOURCE_IMAGE" --out "$ICONSET_DIR/icon_256x256.png" > /dev/null
|
||||
sips -z 512 512 "$SOURCE_IMAGE" --out "$ICONSET_DIR/icon_256x256@2x.png" > /dev/null
|
||||
sips -z 512 512 "$SOURCE_IMAGE" --out "$ICONSET_DIR/icon_512x512.png" > /dev/null
|
||||
sips -z 1024 1024 "$SOURCE_IMAGE" --out "$ICONSET_DIR/icon_512x512@2x.png" > /dev/null
|
||||
|
||||
echo "Step 3: Converting to .icns format..."
|
||||
iconutil -c icns "$ICONSET_DIR" -o static/uskey.icns
|
||||
|
||||
echo "Step 4: Cleaning up..."
|
||||
rm -rf "$ICONSET_DIR"
|
||||
|
||||
echo ""
|
||||
echo "✅ Icon created successfully at: static/uskey.icns"
|
||||
Reference in New Issue
Block a user