diff --git a/.gitignore b/.gitignore index 401262a..a34da1e 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,6 @@ publish/ riderModule.iml /_ReSharper.Caches/ poetry.lock + +# ImageMagick artifacts +!_* diff --git a/NotePad/NotePad.csproj b/NotePad/NotePad.csproj index 68d7048..d13cd15 100644 --- a/NotePad/NotePad.csproj +++ b/NotePad/NotePad.csproj @@ -5,6 +5,7 @@ enable app.manifest true + img\notepad-icon.ico diff --git a/NotePad/build-appimage.sh b/NotePad/build-appimage.sh index 4d8ad6b..303a92a 100755 --- a/NotePad/build-appimage.sh +++ b/NotePad/build-appimage.sh @@ -12,6 +12,7 @@ ARCH="x86_64" PUBLISH_DIR="../publish/linux-x64" APPDIR="NotePad.AppDir" OUTPUT_DIR="../publish/appimage" +ICON_SOURCE="img/notepad-icon.svg" echo "============================================================" echo "Building AppImage for $APP_NAME v$VERSION" @@ -47,15 +48,14 @@ Categories=Utility;TextEditor; Terminal=false EOF -# Create a simple icon (using text as placeholder - replace with actual icon) -echo "Creating icon placeholder..." -# This creates a simple SVG icon - you should replace with an actual icon -cat > "$APPDIR/usr/share/icons/hicolor/256x256/apps/notepad.svg" << EOF - - - N - -EOF +# Copy application icon +echo "Copying application icon..." +if [ ! -f "$ICON_SOURCE" ]; then + echo "❌ ERROR: Icon not found at $ICON_SOURCE" + exit 1 +fi +mkdir -p "$APPDIR/usr/share/icons/hicolor/scalable/apps" +cp "$ICON_SOURCE" "$APPDIR/usr/share/icons/hicolor/scalable/apps/notepad.svg" # Create AppRun script echo "Creating AppRun script..." @@ -71,7 +71,7 @@ chmod +x "$APPDIR/AppRun" # Copy desktop file and icon to root of AppDir cp "$APPDIR/usr/share/applications/notepad.desktop" "$APPDIR/" -cp "$APPDIR/usr/share/icons/hicolor/256x256/apps/notepad.svg" "$APPDIR/notepad.svg" +cp "$APPDIR/usr/share/icons/hicolor/scalable/apps/notepad.svg" "$APPDIR/notepad.svg" # Check for appimagetool if ! command -v appimagetool &> /dev/null; then diff --git a/NotePad/img/notepad-icon.ico b/NotePad/img/notepad-icon.ico new file mode 100644 index 0000000..fdc201b Binary files /dev/null and b/NotePad/img/notepad-icon.ico differ diff --git a/NotePad/install.sh b/NotePad/install.sh index 302d9ae..554ea06 100755 --- a/NotePad/install.sh +++ b/NotePad/install.sh @@ -8,6 +8,8 @@ APP_NAME="NotePad" INSTALL_DIR="/opt/notepad" BIN_LINK="/usr/local/bin/notepad" DESKTOP_FILE="/usr/share/applications/notepad.desktop" +ICON_DIR="/usr/share/icons/hicolor/scalable/apps" +ICON_FILE="$ICON_DIR/notepad.svg" echo "============================================================" echo "$APP_NAME Installer" @@ -41,6 +43,11 @@ chmod +x "$INSTALL_DIR/NotePad" echo "→ Creating symlink: $BIN_LINK" ln -sf "$INSTALL_DIR/NotePad" "$BIN_LINK" +# Install icon +echo "→ Installing application icon..." +mkdir -p "$ICON_DIR" +cp "$SCRIPT_DIR/img/notepad-icon.svg" "$ICON_FILE" + # Create desktop entry echo "→ Creating desktop entry..." cat > "$DESKTOP_FILE" << EOF @@ -48,13 +55,19 @@ cat > "$DESKTOP_FILE" << EOF Name=NotePad Comment=Simple text editor Exec=notepad %F -Icon=text-editor +Icon=notepad Type=Application Categories=Utility;TextEditor; Terminal=false MimeType=text/plain; EOF +# Update icon cache if available +if command -v gtk-update-icon-cache &> /dev/null; then + echo "→ Updating icon cache..." + gtk-update-icon-cache -f -t /usr/share/icons/hicolor 2>/dev/null || true +fi + # Update desktop database if available if command -v update-desktop-database &> /dev/null; then echo "→ Updating desktop database..."