Add app icon (mic + waveform) and fix desktop categories
- share/icons/hicolor/: SVG source + PNG fallbacks (48-256 px); the desktop entry now uses Icon=meetrec instead of a stock theme icon - install.sh installs the icon into the hicolor tree, refreshes the GTK icon cache, and cleans up on uninstall - Categories fixed to AudioVideo;Audio per the menu spec (bare Audio is a subcategory requiring its main category); desktop-file-validate is clean now
This commit is contained in:
@@ -44,7 +44,7 @@ This:
|
|||||||
1. copies the app to `~/.local/share/meetrec`,
|
1. copies the app to `~/.local/share/meetrec`,
|
||||||
2. creates a venv and installs all dependencies,
|
2. creates a venv and installs all dependencies,
|
||||||
3. installs the `meetrec` (GUI) and `meetrec-cli` launchers into `~/.local/bin`,
|
3. installs the `meetrec` (GUI) and `meetrec-cli` launchers into `~/.local/bin`,
|
||||||
4. installs the XDG desktop entry (`~/.local/share/applications/meetrec.desktop`),
|
4. installs the XDG desktop entry and icon (app menu shows **MeetRec** with its own red mic icon),
|
||||||
5. pre-downloads the `small` Whisper model (first run is otherwise slow).
|
5. pre-downloads the `small` Whisper model (first run is otherwise slow).
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
@@ -139,6 +139,7 @@ install.sh install / uninstall into a local prefix
|
|||||||
bin/meetrec GUI launcher (installed into ~/.local/bin)
|
bin/meetrec GUI launcher (installed into ~/.local/bin)
|
||||||
bin/meetrec-cli CLI launcher (installed into ~/.local/bin)
|
bin/meetrec-cli CLI launcher (installed into ~/.local/bin)
|
||||||
share/applications/meetrec.desktop XDG desktop entry
|
share/applications/meetrec.desktop XDG desktop entry
|
||||||
|
share/icons/hicolor/ app icon (SVG + PNG fallbacks)
|
||||||
android/ native Android app (Kotlin + whisper.cpp JNI)
|
android/ native Android app (Kotlin + whisper.cpp JNI)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
+10
-1
@@ -58,6 +58,7 @@ if [ "$UNINSTALL" = 1 ]; then
|
|||||||
rm -rf "$APP_DIR"
|
rm -rf "$APP_DIR"
|
||||||
rm -f "$BIN_DIR/meetrec" "$BIN_DIR/meetrec-cli"
|
rm -f "$BIN_DIR/meetrec" "$BIN_DIR/meetrec-cli"
|
||||||
rm -f "$DESKTOP_DIR/meetrec.desktop"
|
rm -f "$DESKTOP_DIR/meetrec.desktop"
|
||||||
|
find "$PREFIX/share/icons/hicolor" -name 'meetrec.*' -type f -delete 2>/dev/null || true
|
||||||
if command -v update-desktop-database >/dev/null 2>&1; then
|
if command -v update-desktop-database >/dev/null 2>&1; then
|
||||||
update-desktop-database "$DESKTOP_DIR" 2>/dev/null || true
|
update-desktop-database "$DESKTOP_DIR" 2>/dev/null || true
|
||||||
fi
|
fi
|
||||||
@@ -150,12 +151,20 @@ if [ -x "$PREFIX/share/meetrec/whisper-cpp/bin/whisper-cli" ]; then
|
|||||||
echo " (whisper.cpp engine installed — select 'whisper-cpp' to use the GPU)"
|
echo " (whisper.cpp engine installed — select 'whisper-cpp' to use the GPU)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "==> Installing XDG desktop entry"
|
echo "==> Installing XDG desktop entry and icon"
|
||||||
install -m 0644 "$SCRIPT_DIR/share/applications/meetrec.desktop" \
|
install -m 0644 "$SCRIPT_DIR/share/applications/meetrec.desktop" \
|
||||||
"$DESKTOP_DIR/meetrec.desktop"
|
"$DESKTOP_DIR/meetrec.desktop"
|
||||||
|
for f in "$SCRIPT_DIR"/share/icons/hicolor/*/apps/meetrec.* \
|
||||||
|
"$SCRIPT_DIR"/share/icons/hicolor/scalable/apps/meetrec.svg; do
|
||||||
|
rel="${f#"$SCRIPT_DIR"/share/icons/}"
|
||||||
|
install -Dm 0644 "$f" "$PREFIX/share/icons/$rel"
|
||||||
|
done
|
||||||
if command -v update-desktop-database >/dev/null 2>&1; then
|
if command -v update-desktop-database >/dev/null 2>&1; then
|
||||||
update-desktop-database "$DESKTOP_DIR" 2>/dev/null || true
|
update-desktop-database "$DESKTOP_DIR" 2>/dev/null || true
|
||||||
fi
|
fi
|
||||||
|
if command -v gtk-update-icon-cache >/dev/null 2>&1; then
|
||||||
|
gtk-update-icon-cache -q -t -f "$PREFIX/share/icons/hicolor" 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$DOWNLOAD_MODEL" = 1 ]; then
|
if [ "$DOWNLOAD_MODEL" = 1 ]; then
|
||||||
echo "==> Pre-downloading Whisper model '$MODEL' (first run only, can take a while)"
|
echo "==> Pre-downloading Whisper model '$MODEL' (first run only, can take a while)"
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ Name=MeetRec
|
|||||||
GenericName=Meeting Recorder
|
GenericName=Meeting Recorder
|
||||||
Comment=Record in-person meetings and transcribe them with Whisper
|
Comment=Record in-person meetings and transcribe them with Whisper
|
||||||
Exec=meetrec
|
Exec=meetrec
|
||||||
Icon=audio-microphone
|
Icon=meetrec
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Categories=Audio;
|
Categories=AudioVideo;Audio;
|
||||||
Keywords=meeting;recording;recorder;transcription;transcript;whisper;audio;microphone;
|
Keywords=meeting;recording;recorder;transcription;transcript;whisper;audio;microphone;
|
||||||
StartupNotify=true
|
StartupNotify=true
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 4.5 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 9.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="128" height="128" viewBox="0 0 128 128" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<title>MeetRec</title>
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="bg" x1="0" y1="0" x2="0" y2="1">
|
||||||
|
<stop offset="0" stop-color="#e74c3c"/>
|
||||||
|
<stop offset="1" stop-color="#922b21"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<rect x="4" y="4" width="120" height="120" rx="28" fill="url(#bg)"/>
|
||||||
|
|
||||||
|
<!-- microphone: capsule + cradle -->
|
||||||
|
<rect x="50" y="18" width="28" height="42" rx="14" fill="#ffffff"/>
|
||||||
|
<path d="M 36 48 v 8 a 28 28 0 0 0 56 0 v -8"
|
||||||
|
fill="none" stroke="#ffffff" stroke-width="9" stroke-linecap="round"/>
|
||||||
|
|
||||||
|
<!-- waveform: voice becoming transcript -->
|
||||||
|
<g fill="#ffffff">
|
||||||
|
<rect x="32" y="96" width="8" height="14" rx="4"/>
|
||||||
|
<rect x="46" y="91" width="8" height="24" rx="4"/>
|
||||||
|
<rect x="60" y="95" width="8" height="16" rx="4"/>
|
||||||
|
<rect x="74" y="91" width="8" height="24" rx="4"/>
|
||||||
|
<rect x="88" y="96" width="8" height="14" rx="4"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1009 B |
Reference in New Issue
Block a user