Skip to content

Instantly share code, notes, and snippets.

@felipealfonsog
Last active September 22, 2025 05:06
Show Gist options
  • Save felipealfonsog/7bcd2447110e14e2f6252f537332740e to your computer and use it in GitHub Desktop.
Save felipealfonsog/7bcd2447110e14e2f6252f537332740e to your computer and use it in GitHub Desktop.
Installs NoteDeck in KDE Plasma’s Internet menu with a Nostr icon, updates caches, and makes it appear immediately—no sudo or restart required.
#!/bin/bash
set -euo pipefail
APP_NAME="NoteDeck"
EXEC_PATH="/usr/bin/notedeck"
ICON_URL="https://raw.githubusercontent.com/github/explore/refs/heads/main/topics/nostr/nostr.png"
ICON_DIR="$HOME/.local/share/icons/hicolor/256x256/apps"
ICON_PATH="$ICON_DIR/notedeck-nostr.png"
DESKTOP_DIR="$HOME/.local/share/applications"
DESKTOP_FILE="$DESKTOP_DIR/notedeck.desktop"
# Crear carpetas
mkdir -p "$ICON_DIR" "$DESKTOP_DIR"
echo "🔹 Descargando icono..."
curl -fsSL -o "$ICON_PATH" "$ICON_URL"
chmod 644 "$ICON_PATH"
echo "🔹 Creando archivo .desktop..."
cat > "$DESKTOP_FILE" <<EOF
[Desktop Entry]
Version=1.0
Type=Application
Name=$APP_NAME
Comment=NoteDeck Nostr App
Exec=$EXEC_PATH
Icon=$ICON_PATH
Terminal=false
Categories=Internet;Network;
StartupNotify=true
EOF
echo "🔹 Actualizando cachés de iconos y aplicaciones..."
gtk-update-icon-cache "$HOME/.local/share/icons/hicolor/" >/dev/null 2>&1 || true
update-desktop-database "$DESKTOP_DIR" >/dev/null 2>&1
echo "🔹 Forzando recarga de KDE Plasma..."
if command -v qdbus >/dev/null 2>&1; then
qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.refreshCurrentShell >/dev/null 2>&1 || true
fi
kbuildsycoca5 --noincremental >/dev/null 2>&1
echo "✅ $APP_NAME agregado al menú de KDE (categoría Internet)."
echo "Icono: $ICON_PATH"
echo "Desktop file: $DESKTOP_FILE"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment