Fixed missing Antigravity icons by extracting them from app.asar
This commit is contained in:
1 parent
c91d7cb1a2
commit
3f4c9b7be4
1 file changed
+41
-4
+41
-4
@@ -572,9 +572,28 @@ install_antigravity() {
|
||||
sudo ln -sfn /opt/antigravity/antigravity /usr/local/bin/antigravity
|
||||
|
||||
sudo mkdir -p /usr/share/applications /usr/share/icons/hicolor/512x512/apps
|
||||
if [ -f "/opt/antigravity/resources/app/resources/linux/code.png" ]; then
|
||||
sudo cp "/opt/antigravity/resources/app/resources/linux/code.png" /usr/share/icons/hicolor/512x512/apps/antigravity.png
|
||||
|
||||
# Extract icon from app.asar
|
||||
if [ -f "/opt/antigravity/resources/app.asar" ]; then
|
||||
sudo python3 - /opt/antigravity/resources/app.asar /usr/share/icons/hicolor/512x512/apps/antigravity.png <<'PY'
|
||||
import json, struct, sys
|
||||
from pathlib import Path
|
||||
asar = Path(sys.argv[1])
|
||||
out = Path(sys.argv[2])
|
||||
with asar.open('rb') as f:
|
||||
f.read(4)
|
||||
header_size = struct.unpack('<I', f.read(4))[0]
|
||||
f.read(4)
|
||||
json_size = struct.unpack('<I', f.read(4))[0]
|
||||
header = json.loads(f.read(json_size).decode())
|
||||
icon = header.get('files', {}).get('icon.png')
|
||||
if icon:
|
||||
with asar.open('rb') as f:
|
||||
f.seek(8 + header_size + int(icon['offset']))
|
||||
out.write_bytes(f.read(int(icon['size'])))
|
||||
PY
|
||||
fi
|
||||
|
||||
sudo bash -c 'cat > /usr/share/applications/antigravity.desktop' <<EOF
|
||||
[Desktop Entry]
|
||||
Name=Antigravity
|
||||
@@ -598,9 +617,27 @@ EOF
|
||||
fi
|
||||
sudo ln -sfn /opt/antigravity-ide/antigravity-ide /usr/local/bin/antigravity-ide
|
||||
|
||||
if [ -f "/opt/antigravity-ide/resources/app/resources/linux/code.png" ]; then
|
||||
sudo cp "/opt/antigravity-ide/resources/app/resources/linux/code.png" /usr/share/icons/hicolor/512x512/apps/antigravity-ide.png
|
||||
# Extract IDE icon from app.asar
|
||||
if [ -f "/opt/antigravity-ide/resources/app.asar" ]; then
|
||||
sudo python3 - /opt/antigravity-ide/resources/app.asar /usr/share/icons/hicolor/512x512/apps/antigravity-ide.png <<'PY'
|
||||
import json, struct, sys
|
||||
from pathlib import Path
|
||||
asar = Path(sys.argv[1])
|
||||
out = Path(sys.argv[2])
|
||||
with asar.open('rb') as f:
|
||||
f.read(4)
|
||||
header_size = struct.unpack('<I', f.read(4))[0]
|
||||
f.read(4)
|
||||
json_size = struct.unpack('<I', f.read(4))[0]
|
||||
header = json.loads(f.read(json_size).decode())
|
||||
icon = header.get('files', {}).get('icon.png')
|
||||
if icon:
|
||||
with asar.open('rb') as f:
|
||||
f.seek(8 + header_size + int(icon['offset']))
|
||||
out.write_bytes(f.read(int(icon['size'])))
|
||||
PY
|
||||
fi
|
||||
|
||||
sudo bash -c 'cat > /usr/share/applications/antigravity-ide.desktop' <<EOF
|
||||
[Desktop Entry]
|
||||
Name=Antigravity IDE
|
||||
|
||||
Reference in new issue
Block a user