From 1b0f56ddb2b85b68232c22a7a8b8744cb9ad76f9 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Thu, 19 Jun 2014 14:33:27 -0700 Subject: [PATCH] Rename icon files to fit XDG specifications. Add file icons. Add mime types Our SVG icons now follow XDG standards by including a vendor prefix. The new file type icons include application-vnd.altusmetrum as a prefix so that they match the mime types declared. Signed-off-by: Keith Packard --- altosui/.gitignore | 2 +- altosui/Info.plist.in | 6 +- altosui/Makefile.am | 52 ++- altosui/altos-windows.nsi.in | 83 ++-- altosui/altusmetrum-altosui.desktop.in | 2 +- icon/.gitignore | 6 +- icon/Makefile.am | 156 ++++--- icon/altus-metrum.rc | 1 - ...ltusmetrum.svg => altusmetrum-altosui.svg} | 0 ...icropeak.svg => altusmetrum-micropeak.svg} | 0 icon/{telegps.svg => altusmetrum-telegps.svg} | 0 icon/application-vnd.altusmetrum.eeprom.svg | 397 ++++++++++++++++++ .../application-vnd.altusmetrum.micropeak.svg | 1 + .../application-vnd.altusmetrum.telemetry.svg | 397 ++++++++++++++++++ icon/creating-linux-icons | 29 ++ icon/micro-peak.rc | 1 - icon/org-altusmetrum-mimetypes.xml | 16 + icon/telegps.rc | 1 - micropeak/.gitignore | 2 +- micropeak/Info.plist.in | 4 +- micropeak/Makefile.am | 48 ++- .../Contents/Resources/MicroPeak.icns | Bin 133711 -> 0 bytes micropeak/altusmetrum-micropeak.desktop.in | 2 +- micropeak/micropeak-windows.nsi.in | 51 ++- telegps/.gitignore | 2 +- telegps/Info.plist.in | 6 +- telegps/Makefile.am | 51 ++- telegps/altusmetrum-telegps.desktop.in | 2 +- telegps/telegps-windows.nsi.in | 83 ++-- 29 files changed, 1182 insertions(+), 219 deletions(-) delete mode 100644 icon/altus-metrum.rc rename icon/{altusmetrum.svg => altusmetrum-altosui.svg} (100%) rename icon/{micropeak.svg => altusmetrum-micropeak.svg} (100%) rename icon/{telegps.svg => altusmetrum-telegps.svg} (100%) create mode 100644 icon/application-vnd.altusmetrum.eeprom.svg create mode 120000 icon/application-vnd.altusmetrum.micropeak.svg create mode 100644 icon/application-vnd.altusmetrum.telemetry.svg create mode 100644 icon/creating-linux-icons delete mode 100644 icon/micro-peak.rc create mode 100644 icon/org-altusmetrum-mimetypes.xml delete mode 100644 icon/telegps.rc delete mode 100644 micropeak/MicroPeak.app/Contents/Resources/MicroPeak.icns diff --git a/altosui/.gitignore b/altosui/.gitignore index 10b600e4..b0c8264b 100644 --- a/altosui/.gitignore +++ b/altosui/.gitignore @@ -17,7 +17,7 @@ Altos-Linux-*.tar.bz2 Altos-Linux-*.sh Altos-Mac-*.zip Altos-Windows-*.exe -altos.desktop +altusmetrum-altosui.desktop *.dll *.dylib *.so diff --git a/altosui/Info.plist.in b/altosui/Info.plist.in index bae6d52c..8dc797d6 100644 --- a/altosui/Info.plist.in +++ b/altosui/Info.plist.in @@ -23,14 +23,14 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleIconFile - AltosUIIcon.icns + altusmetrum-altosui.icns CFBundleDocumentTypes CFBundleTypeName Telemetry CFBundleTypeIconFile - AltosUIIcon.icns + application-vnd.altusmetrum.telemetry.icns CFBundleTypeExtensions telem @@ -42,7 +42,7 @@ CFBundleTypeName Eeprom CFBundleTypeIconFile - AltosUIIcon.icns + application-vnd.altusmetrum.eeprom.icns CFBundleTypeExtensions eeprom diff --git a/altosui/Makefile.am b/altosui/Makefile.am index bc074a95..45d75699 100644 --- a/altosui/Makefile.am +++ b/altosui/Makefile.am @@ -72,26 +72,37 @@ JAR=altosui.jar FATJAR=altosui-fat.jar # Icons -ICONDIR=$(top_srcdir)/icon +ICONDIR=../icon JAVA_ICONS=\ - $(ICONDIR)/altus-metrum-16.png \ - $(ICONDIR)/altus-metrum-32.png \ - $(ICONDIR)/altus-metrum-48.png \ - $(ICONDIR)/altus-metrum-64.png \ - $(ICONDIR)/altus-metrum-128.png \ - $(ICONDIR)/altus-metrum-256.png + $(ICONDIR)/altusmetrum-altosui-16.png \ + $(ICONDIR)/altusmetrum-altosui-32.png \ + $(ICONDIR)/altusmetrum-altosui-48.png \ + $(ICONDIR)/altusmetrum-altosui-64.png \ + $(ICONDIR)/altusmetrum-altosui-128.png\ + $(ICONDIR)/altusmetrum-altosui-256.png # icon base names for jar -ICONJAR= -C $(ICONDIR) altus-metrum-16.png \ - -C $(ICONDIR) altus-metrum-32.png \ - -C $(ICONDIR) altus-metrum-48.png \ - -C $(ICONDIR) altus-metrum-64.png \ - -C $(ICONDIR) altus-metrum-128.png \ - -C $(ICONDIR) altus-metrum-256.png - -WINDOWS_ICON=$(ICONDIR)/altus-metrum.ico $(ICONDIR)/altus-metrum.exe -MACOSX_ICON=$(ICONDIR)/AltosUIIcon.icns +ICONJAR= \ + -C $(ICONDIR) altusmetrum-altosui-16.png \ + -C $(ICONDIR) altusmetrum-altosui-32.png \ + -C $(ICONDIR) altusmetrum-altosui-48.png \ + -C $(ICONDIR) altusmetrum-altosui-64.png \ + -C $(ICONDIR) altusmetrum-altosui-128.png\ + -C $(ICONDIR) altusmetrum-altosui-256.png + +WINDOWS_ICONS =\ + $(ICONDIR)/altusmetrum-altosui.ico \ + $(ICONDIR)/altusmetrum-altosui.exe + $(ICONDIR)/application-vnd.altusmetrum.eeprom.ico \ + $(ICONDIR)/application-vnd.altusmetrum.eeprom.exe \ + $(ICONDIR)/application-vnd.altusmetrum.telemetry.ico \ + $(ICONDIR)/application-vnd.altusmetrum.telemetry.exe + +MACOSX_ICONS =\ + $(ICONDIR)/altusmetrum-altosui.icns \ + $(ICONDIR)/application-vnd.altusmetrum.eeprom.icns \ + $(ICONDIR)/application-vnd.altusmetrum.telemetry.icns # Firmware FIRMWARE_TD_0_2=$(top_srcdir)/src/teledongle-v0.2/teledongle-v0.2-$(VERSION).ihx @@ -141,14 +152,14 @@ FAT_FILES=$(FATJAR) $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) $(FREETTS_CLASS) $(JFR LINUX_LIBS=libaltos32.so libaltos64.so -LINUX_FILES=$(FAT_FILES) $(LINUX_LIBS) $(FIRMWARE) $(DOC) $(desktop_file).in ../icon/altusmetrum.svg +LINUX_FILES=$(FAT_FILES) $(LINUX_LIBS) $(FIRMWARE) $(DOC) $(desktop_file).in $(ICONDIR)/altusmetrum-altosui.svg LINUX_EXTRA=altosui-fat MACOSX_INFO_PLIST=Info.plist -MACOSX_FILES=$(FAT_FILES) libaltos.dylib $(MACOSX_INFO_PLIST) $(DOC) ReadMe-Mac.rtf $(MACOSX_ICON) +MACOSX_FILES=$(FAT_FILES) libaltos.dylib $(MACOSX_INFO_PLIST) $(DOC) ReadMe-Mac.rtf $(MACOSX_ICONS) MACOSX_EXTRA=$(FIRMWARE) -WINDOWS_FILES=$(FAT_FILES) $(FIRMWARE) altos.dll altos64.dll $(top_srcdir)/altusmetrum.inf $(top_srcdir)/altusmetrum.cat $(WINDOWS_ICON) +WINDOWS_FILES=$(FAT_FILES) $(FIRMWARE) altos.dll altos64.dll $(top_srcdir)/altusmetrum.inf $(top_srcdir)/altusmetrum.cat $(WINDOWS_ICONS) all-local: classes/altosui $(JAR) altosui altosui-test altosui-jdb @@ -195,7 +206,6 @@ else fat: $(LINUX_DIST) $(LINUX_SH) $(MACOSX_DIST) $(WINDOWS_DIST) endif - altosuidir=$(datadir)/java install-altosuiJAVA: altosui.jar @@ -325,7 +335,7 @@ $(MACOSX_DIST): $(MACOSX_FILES) $(MACOSX_EXTRA) Makefile cp -a $(DOC) macosx/Doc cp -p Info.plist macosx/AltosUI.app/Contents mkdir -p macosx/AltOS-$(VERSION) macosx/AltosUI.app/Contents/Resources/Java - cp -p $(MACOSX_ICON) macosx/AltosUI.app/Contents/Resources + cp -p $(MACOSX_ICONS) macosx/AltosUI.app/Contents/Resources cp -p $(FATJAR) macosx/AltosUI.app/Contents/Resources/Java/altosui.jar cp -p libaltos.dylib macosx/AltosUI.app/Contents/Resources/Java cp -p $(ALTOSLIB_CLASS) macosx/AltosUI.app/Contents/Resources/Java diff --git a/altosui/altos-windows.nsi.in b/altosui/altos-windows.nsi.in index c6da097e..07de5b13 100644 --- a/altosui/altos-windows.nsi.in +++ b/altosui/altos-windows.nsi.in @@ -4,12 +4,14 @@ !include java.nsh !include refresh-sh.nsh -!define REG_NAME "Altus Metrum" -!define PROG_ID "org.altusmetrum.altosui.1" -!define PROG_ALTOSUI "org.altusmetrum.altosui.1" -!define FAT_NAME "altosui-fat.jar" -!define ICO_ICO "altus-metrum.ico" -!define ICO_EXE "altus-metrum.exe" +!define REG_NAME "Altus Metrum" +!define PROG_ID_TELEM "altusmetrum.altosui.telem.1" +!define PROG_ID_EEPROM "altusmetrum.altosui.eeprom.1" +!define FAT_NAME "altosui-fat.jar" +!define WIN_APP_ICON "altusmetrum-altosui.ico" +!define WIN_APP_EXE "altusmetrum-altosui.exe" +!define WIN_TELEM_EXE "application-vnd.altusmetrum.telemetry.exe" +!define WIN_EEPROM_EXE "application-vnd.altusmetrum.eeprom.exe" Name "${REG_NAME} Installer" @@ -104,13 +106,13 @@ Section "${REG_NAME} Application" File "*.dll" - File "../icon/${ICO_ICO}" + File "../icon/${WIN_APP_ICON}" - CreateShortCut "$SMPROGRAMS\${REG_NAME}.lnk" "$SYSDIR\javaw.exe" "-jar ${FAT_NAME}" "$INSTDIR\${ICO_ICO}" + CreateShortCut "$SMPROGRAMS\${REG_NAME}.lnk" "$SYSDIR\javaw.exe" "-jar ${FAT_NAME}" "$INSTDIR\${WIN_APP_ICON}" SectionEnd Section "${REG_NAME} Desktop Shortcut" - CreateShortCut "$DESKTOP\${REG_NAME}.lnk" "$INSTDIR\${FAT_NAME}" "" "$INSTDIR\${ICO_ICO}" + CreateShortCut "$DESKTOP\${REG_NAME}.lnk" "$INSTDIR\${FAT_NAME}" "" "$INSTDIR\${WIN_APP_ICON}" SectionEnd Section "TeleMetrum, TeleDongle and TeleBT Firmware" @@ -145,35 +147,51 @@ SectionEnd Section "File Associations" + ${DisableX64FSRedirection} + SetOutPath $INSTDIR - File "../icon/${ICO_EXE}" + File "../icon/${WIN_APP_EXE}" + File "../icon/${WIN_TELEM_EXE}" + File "../icon/${WIN_EEPROM_EXE}" - ; application elements - - WriteRegStr HKCR "${PROG_ID}" "" "Altus Metrum Data File" - WriteRegStr HKCR "${PROG_ID}" "FriendlyTypeName" "Altus Metrum Data File" - WriteRegStr HKCR "${PROG_ID}\CurVer" "" "${PROG_ID}" - WriteRegStr HKCR "${PROG_ID}\DefaultIcon" "" '"$INSTDIR\${ICO_EXE}",-101' - WriteRegExpandStr HKCR "${PROG_ID}\shell\play\command" "" '"%SYSTEMROOT%\System32\javaw.exe" -Djava.library.path="$INSTDIR" -jar "$INSTDIR\${FAT_NAME}" "%1"' + DeleteRegKey HKCR "${PROG_ID_TELEM}" + DeleteRegKey HKCR "${PROG_ID_EEPROM}" + + DeleteRegKey HKCR ".eeprom\${PROG_ID_EEPROM}" + DeleteRegValue HKCR ".eeprom\OpenWithProgids" "${PROG_ID_EEPROM}" + DeleteRegKey HKCR ".telem\${PROG_ID_EEPROM}" + DeleteRegValue HKCR ".telem\OpenWithProgids" "${PROG_ID_EEPROM}" ; .eeprom elements - WriteRegStr HKCR ".eeprom" "" "${PROG_ALTOSUI}" + WriteRegStr HKCR "${PROG_ID_EEPROM}" "" "Altus Metrum Log File" + WriteRegStr HKCR "${PROG_ID_EEPROM}" "FriendlyTypeName" "Altus Metrum Log File" + WriteRegStr HKCR "${PROG_ID_EEPROM}\CurVer" "" "${PROG_ID_EEPROM}" + WriteRegStr HKCR "${PROG_ID_EEPROM}\DefaultIcon" "" '"$INSTDIR\${WIN_EEPROM_EXE}",-101' + WriteRegExpandStr HKCR "${PROG_ID_EEPROM}\shell\open\command" "" '"%SYSTEMROOT%\System32\javaw.exe" -Djava.library.path="$INSTDIR" -jar "$INSTDIR\${FAT_NAME}" "%1"' + + WriteRegStr HKCR ".eeprom" "" "${PROG_ID_EEPROM}" WriteRegStr HKCR ".eeprom" "PerceivedType" "Altus Metrum Log File" - WriteRegStr HKCR ".eeprom" "Content Type" "application/altosui" + WriteRegStr HKCR ".eeprom" "Content Type" "application/vnd.altusmetrum.eeprom" - WriteRegStr HKCR ".eeprom\OpenWithProgids" "${PROG_ID}" "" - WriteRegStr HKCR ".eeprom\${PROG_ID}" "" "${REG_NAME}" + WriteRegStr HKCR ".eeprom\OpenWithProgids" "${PROG_ID_EEPROM}" "" + WriteRegStr HKCR ".eeprom\${PROG_ID_EEPROM}" "" "${REG_NAME}" ; .telem elements - WriteRegStr HKCR ".telem" "" "${PROG_ALTOSUI}" + WriteRegStr HKCR "${PROG_ID_TELEM}" "" "Altus Metrum Telemetry File" + WriteRegStr HKCR "${PROG_ID_TELEM}" "FriendlyTypeName" "Altus Metrum Telemetry File" + WriteRegStr HKCR "${PROG_ID_TELEM}\CurVer" "" "${PROG_ID_TELEM}" + WriteRegStr HKCR "${PROG_ID_TELEM}\DefaultIcon" "" '"$INSTDIR\${WIN_TELEM_EXE}",-101' + WriteRegExpandStr HKCR "${PROG_ID_TELEM}\shell\open\command" "" '"%SYSTEMROOT%\System32\javaw.exe" -Djava.library.path="$INSTDIR" -jar "$INSTDIR\${FAT_NAME}" "%1"' + + WriteRegStr HKCR ".telem" "" "${PROG_ID_TELEM}" WriteRegStr HKCR ".telem" "PerceivedType" "Altus Metrum Telemetry File" - WriteRegStr HKCR ".telem" "Content Type" "application/altosui" + WriteRegStr HKCR ".telem" "Content Type" "application/vnd.altusmetrum.telemetry" - WriteRegStr HKCR ".telem\OpenWithProgids" "${PROG_ID}" "" - WriteRegStr HKCR ".telem\${PROG_ID}" "" "${REG_NAME}" + WriteRegStr HKCR ".telem\OpenWithProgids" "${PROG_ID_TELEM}" "" + WriteRegStr HKCR ".telem\${PROG_ID_TELEM}" "" "${REG_NAME}" Call RefreshShellIcons SectionEnd @@ -206,21 +224,22 @@ Section "Uninstall" DetailPrint "Delete uninstall reg entries" - DeleteRegKey HKCR "${PROG_ID}" + DeleteRegKey HKCR "${PROG_ID_EEPROM}" + DeleteRegKey HKCR "${PROG_ID_TELEM}" - DeleteRegKey HKCR ".eeprom\${PROG_ID}" - DeleteRegValue HKCR ".eeprom\OpenWithProgids" "${PROG_ID}" + DeleteRegKey HKCR ".eeprom\${PROG_ID_EEPROM}" + DeleteRegValue HKCR ".eeprom\OpenWithProgids" "${PROG_ID_EEPROM}" - DeleteRegKey HKCR ".telem\${PROG_ID}" - DeleteRegValue HKCR ".telem\OpenWithProgids" "${PROG_ID}" + DeleteRegKey HKCR ".telem\${PROG_ID_TELEM}" + DeleteRegValue HKCR ".telem\OpenWithProgids" "${PROG_ID_TELEM}" DetailPrint "Delete file association reg entries" Delete "$INSTDIR\${FAT_NAME}" Delete "$INSTDIR\uninstall-${REG_NAME}.exe" - Delete "$INSTDIR\${ICO_ICO}" - Delete "$INSTDIR\${ICO_EXE}" + Delete "$INSTDIR\${WIN_APP_ICON}" + Delete "$INSTDIR\${WIN_APP_EXE}" ; Remove shortcuts, if any Delete "$SMPROGRAMS\${REG_NAME}.lnk" diff --git a/altosui/altusmetrum-altosui.desktop.in b/altosui/altusmetrum-altosui.desktop.in index 716571ce..10fd9e9d 100644 --- a/altosui/altusmetrum-altosui.desktop.in +++ b/altosui/altusmetrum-altosui.desktop.in @@ -4,7 +4,7 @@ Version=1.0 Name=AltOS UI GenericName=Altus Metrum Ground Station Comment=View and log downlink data from Altus Metrum products -Icon=%icondir%/altusmetrum.svg +Icon=%icondir%/altusmetrum-altosui.svg Exec=%bindir%/altosui %f Terminal=false MimeType=application/vnd.altusmetrum.telemetry;application/vnd.altusmetrum.eeprom diff --git a/icon/.gitignore b/icon/.gitignore index 40cf2f3e..94c7c70c 100644 --- a/icon/.gitignore +++ b/icon/.gitignore @@ -1,6 +1,6 @@ -altus-metrum-*.png -micropeak-*.png -telegps-*.png +application-*.png +altusmetrum-*.png +*.rc *.ico *.icns *.build diff --git a/icon/Makefile.am b/icon/Makefile.am index 61a16914..516c547c 100644 --- a/icon/Makefile.am +++ b/icon/Makefile.am @@ -3,85 +3,137 @@ MAC_RES=16 32 128 256 512 WIN_RES=16 24 32 48 64 72 96 128 180 256 RES=$(shell echo $(JAVA_RES) $(MAC_RES) $(WIN_RES) | awk '{ for (i = 1; i <= NF; i++) printf("%s\n", $$i); }' | sort -n -u) -AM_FILES=$(shell for i in $(RES); do echo altus-metrum-$$i.png; done) -MP_FILES=$(shell for i in $(RES); do echo micropeak-$$i.png; done) -TG_FILES=$(shell for i in $(RES); do echo telegps-$$i.png; done) +# Application icon base names -MAC_TG_FILES=$(shell for i in $(MAC_RES); do echo telegps-$$i.png; done) -MAC_MP_FILES=$(shell for i in $(MAC_RES); do echo micropeak-$$i.png; done) -MAC_AM_FILES=$(shell for i in $(MAC_RES); do echo altus-metrum-$$i.png; done) +AM_NAME = altusmetrum-altosui +MP_NAME = altusmetrum-micropeak +TG_NAME = altusmetrum-telegps -WIN_TG_FILES=$(shell for i in $(WIN_RES); do echo telegps-$$i.png; done) -WIN_MP_FILES=$(shell for i in $(WIN_RES); do echo micropeak-$$i.png; done) -WIN_AM_FILES=$(shell for i in $(WIN_RES); do echo altus-metrum-$$i.png; done) +# File icon base names -ICO_FILES=altus-metrum.ico micro-peak.ico telegps.ico -ICNS_FILES=AltosUIIcon.icns TeleGPS.icns MicroPeak.icns +EEPROM_NAME = application-vnd.altusmetrum.eeprom +TELEM_NAME = application-vnd.altusmetrum.telemetry +MPD_NAME = application-vnd.altusmetrum.micropeak -icondir = $(datadir)/icons/hicolor/scalable/apps +# Application icons -AM_ICON = altusmetrum.svg -MP_ICON = micropeak.svg -TG_ICON = telegps.svg +AM_ICON = $(AM_NAME).svg +MP_ICON = $(MP_NAME).svg +TG_ICON = $(TG_NAME).svg -icon_DATA = $(AM_ICON) $(MP_ICON) $(TG_ICON) +# File icons (note that MicroPeak uses the application icon for files) -EXTRA_DIST = $(icon_DATA) $(AM_FILES) $(MP_FILES) $(TG_FILES) +EEPROM_ICON = $(EEPROM_NAME).svg +TELEM_ICON = $(TELEM_NAME).svg +MPD_ICON = $(MPD_NAME).svg -res: - echo $(RES) +# Files needed for Mac OSX icons -all-local: $(ICO_FILES) $(ICNS_FILES) +MAC_AM_FILES = $(shell for i in $(MAC_RES); do echo $(AM_NAME)-$$i.png; done) +MAC_MP_FILES = $(shell for i in $(MAC_RES); do echo $(MP_NAME)-$$i.png; done) +MAC_TG_FILES = $(shell for i in $(MAC_RES); do echo $(TG_NAME)-$$i.png; done) +MAC_EEPROM_FILES= $(shell for i in $(MAC_RES); do echo $(EEPROM_NAME)-$$i.png; done) +MAC_TELEM_FILES = $(shell for i in $(MAC_RES); do echo $(TELEM_NAME)-$$i.png; done) +MAC_MPD_FILES = $(shell for i in $(MAC_RES); do echo $(MPD_NAME)-$$i.png; done) -clean-local: - $(RM) altus-metrum-*.png telegps-*.png micropeak-*.png *.build *.ico *.icns *.o *.exe +ICNS_FILES = $(AM_NAME).icns $(MP_NAME).icns $(TG_NAME).icns \ + $(EEPROM_NAME).icns $(TELEM_NAME).icns $(MPD_NAME).icns -$(AM_FILES): altusmetrum.build +# Files needed for Windows icons -altusmetrum.build: altusmetrum.svg - for i in $(RES); do rsvg-convert -w $$i -h $$i -o altus-metrum-$$i.png altusmetrum.svg; done && touch $@ +WIN_AM_FILES = $(shell for i in $(WIN_RES); do echo $(AM_NAME)-$$i.png; done) +WIN_MP_FILES = $(shell for i in $(WIN_RES); do echo $(MP_NAME)-$$i.png; done) +WIN_TG_FILES = $(shell for i in $(WIN_RES); do echo $(TG_NAME)-$$i.png; done) +WIN_EEPROM_FILES= $(shell for i in $(WIN_RES); do echo $(EEPROM_NAME)-$$i.png; done) +WIN_TELEM_FILES = $(shell for i in $(WIN_RES); do echo $(TELEM_NAME)-$$i.png; done) +WIN_MPD_FILES = $(shell for i in $(WIN_RES); do echo $(MPD_NAME)-$$i.png; done) -$(TG_FILES): telegps.build +ICO_FILES = $(AM_NAME).ico $(MP_NAME).ico $(TG_NAME).ico \ + $(EEPROM_NAME).ico $(TELEM_NAME).ico $(MPD_NAME).ico -telegps.build: telegps.svg - for i in $(RES); do rsvg-convert -w $$i -h $$i -o telegps-$$i.png telegps.svg; done && touch $@ +EXE_FILES = $(AM_NAME).exe $(MP_NAME).exe $(TG_NAME).exe \ + $(EEPROM_NAME).exe $(TELEM_NAME).exe $(MPD_NAME).exe -$(MP_FILES): micropeak.build +# Files needed for Java internal icons -micropeak.build: micropeak.svg - for i in $(RES); do rsvg-convert -w $$i -h $$i -o micropeak-$$i.png micropeak.svg; done && touch $@ +JAVA_AM_FILES = $(shell for i in $(JAVA_RES); do echo $(AM_NAME)-$$i.png; done) +JAVA_MP_FILES = $(shell for i in $(JAVA_RES); do echo $(MP_NAME)-$$i.png; done) +JAVA_TG_FILES = $(shell for i in $(JAVA_RES); do echo $(TG_NAME)-$$i.png; done) -#clean-local: -# $(RM) -f $(ICO_FILES) +JAVA_FILES = $(JAVA_AM_FILES) $(JAVA_MP_FILES) $(JAVA_TG_FILES) -altus-metrum.ico: $(WIN_AM_FILES) - icotool -c -o $@ $(WIN_AM_FILES) +# PNG files needed by anyone -micro-peak.ico: $(WIN_MP_FILES) - icotool -c -o $@ $(WIN_MP_FILES) +AM_FILES = $(shell for i in $(RES); do echo $(AM_NAME)-$$i.png; done) +MP_FILES = $(shell for i in $(RES); do echo $(MP_NAME)-$$i.png; done) +TG_FILES = $(shell for i in $(RES); do echo $(TG_NAME)-$$i.png; done) +EEPROM_FILES = $(shell for i in $(RES); do echo $(EEPROM_NAME)-$$i.png; done) +TELEM_FILES = $(shell for i in $(RES); do echo $(TELEM_NAME)-$$i.png; done) +IN_MPD_FILES = $(shell for i in $(RES); do echo $(MPD_NAME)-$$i.png; done) -telegps.ico: $(WIN_TG_FILES) - icotool -c -o $@ $(WIN_TG_FILES) +ICON_THEME=$(datadir)/icons/hicolor -AltosUIIcon.icns: $(MAC_AM_FILES) - png2icns $@ $(MAC_AM_FILES) +appicondir = $(ICON_THEME)/scalable/apps +appicon_DATA = $(AM_ICON) $(MP_ICON) $(TG_ICON) -TeleGPS.icns: $(MAC_TG_FILES) - png2icns $@ $(MAC_TG_FILES) +MIME_ICONS = $(EEPROM_ICON) $(TELEM_ICON) $(MPD_ICON) -MicroPeak.icns: $(MAC_MP_FILES) - png2icns $@ $(MAC_MP_FILES) +mimeicondir = $(ICON_THEME)/scalable/mimetypes +mimeicon_DATA = $(MIME_ICONS) -MINGCC32=i686-w64-mingw32-gcc -MINGWINDRES=i686-w64-mingw32-windres +mimedir = $(datadir)/mime/packages +mime_DATA = org-altusmetrum-mimetypes.xml + +EXTRA_DIST = $(appicon_DATA) $(mimeicon_DATA) $(mime_DATA) windows-stub.c + +res: + echo $(RES) + +java-altosui: + @echo $(JAVA_AM_FILES) + +java-micropeak: + @echo $(JAVA_MP_FILES) + +java-telegps: + @echo $(JAVA_TG_FILES) -SUFFIXES=.rc .exe +fat: all $(ICO_FILES) $(ICNS_FILES) $(EXE_FILES) -fat: all micro-peak.exe altus-metrum.exe telegps.exe +all-local: $(JAVA_FILES) -altus-metrum.o: altus-metrum.ico -micro-peak.o: micro-peak.ico -telegps.o: telegps.ico +clean-local: + $(RM) $(AM_NAME)-*.png $(TG_NAME)-*.png $(MP_NAME)-*.png + $(RM) $(EEPROM_NAME)-*.png $(TELEM_NAME)-*.png $(MPD_NAME)-*.png + $(RM) *.build *.ico *.rc *.icns *.o *.exe $(MPD_ICON) + +install-data-hook: + update-mime-database $(datadir)/mime + update-icon-caches $(ICON_THEME) + +$(MPD_ICON): $(MP_ICON) + $(LN_S) $(MP_ICON) $@ + +$(AM_FILES): $(AM_NAME).build +$(MP_FILES): $(MP_NAME).build +$(TG_FILES): $(TG_NAME).build + +SUFFIXES=.svg .build .icns .ico .rc .o .exe + +.svg.build: + for i in $(RES); do rsvg-convert -w $$i -h $$i -o $*-$$i.png $*.svg; done && touch $@ + +.build.icns: + png2icns $@ $(shell for i in $(MAC_RES); do echo $*-$$i.png; done) + +.build.ico: + icotool -c -o $@ $(shell for i in $(WIN_RES); do echo $*-$$i.png; done) + +.ico.rc: + echo '101 ICON "$*.ico"' > $@ + +MINGCC32=i686-w64-mingw32-gcc +MINGWINDRES=i686-w64-mingw32-windres .rc.o: $(MINGWINDRES) $*.rc $@ diff --git a/icon/altus-metrum.rc b/icon/altus-metrum.rc deleted file mode 100644 index bbd03604..00000000 --- a/icon/altus-metrum.rc +++ /dev/null @@ -1 +0,0 @@ -101 ICON "altus-metrum.ico" diff --git a/icon/altusmetrum.svg b/icon/altusmetrum-altosui.svg similarity index 100% rename from icon/altusmetrum.svg rename to icon/altusmetrum-altosui.svg diff --git a/icon/micropeak.svg b/icon/altusmetrum-micropeak.svg similarity index 100% rename from icon/micropeak.svg rename to icon/altusmetrum-micropeak.svg diff --git a/icon/telegps.svg b/icon/altusmetrum-telegps.svg similarity index 100% rename from icon/telegps.svg rename to icon/altusmetrum-telegps.svg diff --git a/icon/application-vnd.altusmetrum.eeprom.svg b/icon/application-vnd.altusmetrum.eeprom.svg new file mode 100644 index 00000000..7b481cdc --- /dev/null +++ b/icon/application-vnd.altusmetrum.eeprom.svg @@ -0,0 +1,397 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/icon/application-vnd.altusmetrum.micropeak.svg b/icon/application-vnd.altusmetrum.micropeak.svg new file mode 120000 index 00000000..6efd3200 --- /dev/null +++ b/icon/application-vnd.altusmetrum.micropeak.svg @@ -0,0 +1 @@ +altusmetrum-micropeak.svg \ No newline at end of file diff --git a/icon/application-vnd.altusmetrum.telemetry.svg b/icon/application-vnd.altusmetrum.telemetry.svg new file mode 100644 index 00000000..4bcc0850 --- /dev/null +++ b/icon/application-vnd.altusmetrum.telemetry.svg @@ -0,0 +1,397 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/icon/creating-linux-icons b/icon/creating-linux-icons new file mode 100644 index 00000000..5b034c09 --- /dev/null +++ b/icon/creating-linux-icons @@ -0,0 +1,29 @@ +# To create linux icons and file associations + +1) Create mime type and install + + http://www.freedesktop.org/wiki/Specifications/AddingMIMETutor/ + + # xdg-mime install --mode system org-altusmetrum-mimetypes.xml + # update-mime-database /usr/local/share/mime + + On debian, + +2) Create icons and install + + For mime type application/vnd.altusmetrum.telemetry + icon name application-vnd.altusmetrum.telemetry.svg + + All mime icons go in + + /usr/share/icons/hicolor/scalable/mimetypes + + Update the icon database + + # update-icon-caches /usr/share/icons/hicolor + +3) Create .desktop file and install + + # xdg-desktop-menu install --mode system altusmetrum-altosui.desktop + + # update-desktop-database diff --git a/icon/micro-peak.rc b/icon/micro-peak.rc deleted file mode 100644 index 4efe777d..00000000 --- a/icon/micro-peak.rc +++ /dev/null @@ -1 +0,0 @@ -101 ICON "micro-peak.ico" diff --git a/icon/org-altusmetrum-mimetypes.xml b/icon/org-altusmetrum-mimetypes.xml new file mode 100644 index 00000000..e8103c03 --- /dev/null +++ b/icon/org-altusmetrum-mimetypes.xml @@ -0,0 +1,16 @@ + + + + Altus Metrum Telemetry File + + + + Altus Metrum Eeprom Log File + + + + Altus Metrum MicroPeak Log File + + + diff --git a/icon/telegps.rc b/icon/telegps.rc deleted file mode 100644 index 7f5957f9..00000000 --- a/icon/telegps.rc +++ /dev/null @@ -1 +0,0 @@ -101 ICON "telegps.ico" diff --git a/micropeak/.gitignore b/micropeak/.gitignore index f9a61359..81dd0749 100644 --- a/micropeak/.gitignore +++ b/micropeak/.gitignore @@ -11,7 +11,7 @@ micropeak-windows.nsi MicroPeak-Linux-* MicroPeak-Mac-* MicroPeak-Windows-* -micropeak.desktop +altusmetrum-micropeak.desktop *.dll *.dylib *.so diff --git a/micropeak/Info.plist.in b/micropeak/Info.plist.in index 8f751079..b1dc6cea 100644 --- a/micropeak/Info.plist.in +++ b/micropeak/Info.plist.in @@ -23,14 +23,14 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleIconFile - MicroPeak.icns + altusmetrum-micropeak.icns CFBundleDocumentTypes CFBundleTypeName MicroPeak data file CFBundleTypeIconFile - MicroPeak.icns + application-vnd.altusmetrum.micropeak.icns CFBundleTypeExtensions mpd diff --git a/micropeak/Makefile.am b/micropeak/Makefile.am index 37d5ca63..6270fd74 100644 --- a/micropeak/Makefile.am +++ b/micropeak/Makefile.am @@ -56,23 +56,31 @@ ALTOSUILIB_CLASS=\ ICONDIR=$(top_srcdir)/icon JAVA_ICONS=\ - $(ICONDIR)/micropeak-16.png \ - $(ICONDIR)/micropeak-32.png \ - $(ICONDIR)/micropeak-48.png \ - $(ICONDIR)/micropeak-64.png \ - $(ICONDIR)/micropeak-128.png \ - $(ICONDIR)/micropeak-256.png + $(ICONDIR)/altusmetrum-micropeak-16.png \ + $(ICONDIR)/altusmetrum-micropeak-32.png \ + $(ICONDIR)/altusmetrum-micropeak-48.png \ + $(ICONDIR)/altusmetrum-micropeak-64.png \ + $(ICONDIR)/altusmetrum-micropeak-128.png\ + $(ICONDIR)/altusmetrum-micropeak-256.png # icon base names for jar -ICONJAR= -C $(ICONDIR) micropeak-16.png \ - -C $(ICONDIR) micropeak-32.png \ - -C $(ICONDIR) micropeak-48.png \ - -C $(ICONDIR) micropeak-64.png \ - -C $(ICONDIR) micropeak-128.png \ - -C $(ICONDIR) micropeak-256.png - -WINDOWS_ICON=$(ICONDIR)/micro-peak.ico $(ICONDIR)/micro-peak.exe -MACOSX_ICON=$(ICONDIR)/MicroPeak.icns +ICONJAR= \ + -C $(ICONDIR) altusmetrum-micropeak-16.png \ + -C $(ICONDIR) altusmetrum-micropeak-32.png \ + -C $(ICONDIR) altusmetrum-micropeak-48.png \ + -C $(ICONDIR) altusmetrum-micropeak-64.png \ + -C $(ICONDIR) altusmetrum-micropeak-128.png\ + -C $(ICONDIR) altusmetrum-micropeak-256.png + +WINDOWS_ICONS =\ + ../icon/altusmetrum-micropeak.ico \ + ../icon/altusmetrum-micropeak.exe + ../icon/application-vnd.altusmetrum.micropeak.ico \ + ../icon/application-vnd.altusmetrum.micropeak.ico + +MACOSX_ICONS =\ + ../icon/altusmetrum-micropeak.icns \ + ../icon/application-vnd.altusmetrum.micropeak.icns desktopdir = $(datadir)/applications desktop_file = altusmetrum-micropeak.desktop @@ -106,14 +114,14 @@ DOC=$(MICROPEAK_DOC) FAT_FILES=$(FATJAR) $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) $(FREETTS_CLASS) $(JFREECHART_CLASS) $(JCOMMON_CLASS) -LINUX_FILES=$(FAT_FILES) libaltos.so $(FIRMWARE) $(DOC) micropeak.desktop.in ../icon/micropeak.svg -LINUX_EXTRA=micropeak-fat micropeak.desktop.in +LINUX_FILES=$(FAT_FILES) libaltos.so $(FIRMWARE) $(DOC) $(desktop_file).in ../icon/altusmetrum-micropeak.svg +LINUX_EXTRA=micropeak-fat $(desktop_file).in MACOSX_DRIVER_URL=http://www.ftdichip.com/Drivers/VCP/MacOSX/FTDIUSBSerialDriver_v2_2_18.dmg MACOSX_DRIVER=FTDIUSBSerialDriver_v2_2_18.dmg MACOSX_INFO_PLIST=Info.plist MACOSX_README=ReadMe-Mac.rtf -MACOSX_FILES=$(FAT_FILES) libaltos.dylib $(MACOSX_INFO_PLIST) $(MACOSX_DRIVER) $(MACOSX_README) $(DOC) $(MACOSX_ICON) +MACOSX_FILES=$(FAT_FILES) libaltos.dylib $(MACOSX_INFO_PLIST) $(MACOSX_DRIVER) $(MACOSX_README) $(DOC) $(MACOSX_ICONS) $(MACOSX_DRIVER): wget $(MACOSX_DRIVER_URL) @@ -124,7 +132,7 @@ WINDOWS_DRIVER=CDM20824_Setup.exe $(WINDOWS_DRIVER): wget $(WINDOWS_DRIVER_URL) -WINDOWS_FILES=$(FAT_FILES) altos.dll altos64.dll $(DOC) $(WINDOWS_ICON) $(WINDOWS_DRIVER) +WINDOWS_FILES=$(FAT_FILES) altos.dll altos64.dll $(DOC) $(WINDOWS_ICONS) $(WINDOWS_DRIVER) if FATINSTALL @@ -261,7 +269,7 @@ $(MACOSX_DIST): $(MACOSX_FILES) cp -p Info.plist macosx/MicroPeak.app/Contents cp -p $(MACOSX_DRIVER) macosx mkdir -p macosx/MicroPeak.app/Contents/Resources/Java - cp -p $(MACOSX_ICON) macosx/MicroPeak.app/Contents/Resources + cp -p $(MACOSX_ICONS) macosx/MicroPeak.app/Contents/Resources cp -p $(FATJAR) macosx/MicroPeak.app/Contents/Resources/Java/micropeak.jar cp -p libaltos.dylib macosx/MicroPeak.app/Contents/Resources/Java cp -p $(ALTOSLIB_CLASS) macosx/MicroPeak.app/Contents/Resources/Java diff --git a/micropeak/MicroPeak.app/Contents/Resources/MicroPeak.icns b/micropeak/MicroPeak.app/Contents/Resources/MicroPeak.icns deleted file mode 100644 index 9ba83bf5ed933e26f7d7752840f3c1af413f10ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133711 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¨C(gW2YlaFT}? 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%0AH=L)dd<*QX8~dMBo|G*;J!oDvAtu`G zDYkWs4LdGG9>_zTNk-8Sp=!>}(62b{>$JJa$1J&vTc0~)tXCyhD$nD8oZ61I%n68e zz}BJHqj&u727b(=ms9rDolO&qJ2BmjFl^Mh*1o4_$gT_WJSSoz0B(4o$&m+Tod1yW z?doac?{b!|qN7R_ZcD!Pea?Q?L8hbc3kQ!q3UoATWJg~8)FonMSl3s0mSowscYucC zj+BjO_zXp9W(4+@PWsw2r&r3@-J3W5LuW9h$fuN$U~sEzK+y!>-FI~NZl+67)cKfI z?Gn4LYu=IU-l@qNbqbu@VUJk5z*pMsdhGAPlS|2 z>d}~%O!1>k1`w7Wn;OlXy_j8i+F>2-XxUnp?Dph-v+8QkX1-CU%YM3`69~H`Al)uP zmFs6@K19hrE^HOvHxUuwFUw`0GfuPgy*8^cI&0V5N)+N4X762GrCywZE#&dw$eqYyq3ha!e_eC-)V<9OZT!X36zN(5Aw9}QmU7{16%8ay9s%^OfNbjK815XJF>lJGw0e!gvizPpZ4)P z^Bn=P_pJIi`YRF@P%8ve{e_3Th0?f`705g^A5g|66RXSQ|5>Sqql|%hhonL_vXm_#Ge8r3J&+U6#Z&S0t7Q= z2;h-OEiKoz%VohMsa%;=qtbGEU*W2GlD{uE2g8@X+~g!P;_1RJbvsa5Bx+Ywf~eLr z5WC^%OH*0DO`am#{GP@}n(KOY2V2hbM-3C}`*rN5 zT?lY=zr={5zbQWqEg|7`S?bHZEwGK-%<_-Vhn1TREBuW5@2<6w=Jzh_* ze&XYB7>E6IJ#J8f)H6b-Dk3i?!Cc+R*nFK-R54p>P#bHN&-OTb%CK+MisOcn~mp7~< zvmr=S9|1&4rncdHfYdQso27l_F5g3P2apX#kd6`8yi}^-m|R&$&QFypvc>)VttNt! zWhK${zy{*bBiJ>R*HfNi$WpRbdYfX-?Hz8cOzjZLd4g5R4|c+e_096AiE@!TX( z?0YKUGhGElz{pYekI`L!@=Cl;qrmZ_+@ zePWQmbI=HT53~_N>EI=kK&%k!s6KDC$!`K3_wV)ujBJ)Vuz17P=L0|>u>Z zWP$s~3lwX3g;kcmr>F(6K;`utJCWLx&wh5?wTyE%SYt9%cVk$O+eQn?Y^sA6EU$Ec z!Mb3Ay0IF+ZK;+s@xh_<^!S~s1}7m)A)M|AV0DxrY-|g$-TBJxa*{Paq7~$1xVDy0 zVzL5vFFN}dFxvriLk7UuZ(}09y*UB^NNG;AH~)TKsp?X8kpAoDoN+-)K#%8yeo)mS zq9vc3wR<{KVDnZ5g&db7JbOAmy!q%o6M$t1GApyF{wq%#q*gtM^FjHZjPQsn9M{}a z;xnYQ1)Zoskc{0#>Eap1P+r~1p_iTMMfv%Mf}b8m9v`Mf{D%MZ;y27Sb^z?Obpu0- z3E1H>HsS=i_r+9AnJiDYvD)Y}#$q8VGyp+8&xs>LT{fjn;t96mt$h%cW3c$!!0<_& z(C&+&yVxp8S717fAtG8Cu9&U=GgYt9Pl%$?2g5(ZmUl<(uhk)CV(toT;%> z5(It_6lBWuP16x%#FFPGckSpzbzfh7!wBAHWL3_#Gl!qbg@g2OvC3t@x);x0e^I2l z?)Fq`KDO6VUuR-%$5BnmGJSEKV$g+QXbY#SbJ$SvG=)&eKA8j&VeCJ&xT{WXu$k!a z@+p}a=KC7A&v#k~N{VtdH$83CT`r1pAYt{I%+0M&Dn45YmQEiBwu!#~xJn)MD(GIi zk}Mq`GJ#6pR{#D|!KgP*GlVBE{mMTrz+dN}Av|jIFxFdh@~zXU&AW<;+ur+TEt{fK zM%7JU9CDjhsZMqtS?n%5v%kNDbkhYoci(&^H#p3r!T9Szd&ta=NmMA)u&B|$q@eYQ*`4J`zJs?kk()vfM7cM4!Z&Ww?zpH8PnD->h>566%u~IXBK}d@HAXMP7VlZQwJ}6{~6qG`tcp4eAy>Y7f^upx}RvaK5zDj%)t?+SYtRfl9wg_VFQ=zD|T*#r)F8M3oyN}pO zj}s_x45}6xa25(6zuB`I9Dsc{NQ=4H=NL$Je3YlVH5Oi~3CxIs*HWLn+*4FHDRlrKZHk-bWi+f$7kt@RoZ(~SuO$0mr zze$Hp(3Ep75Vn3sH0p4-XfMrc^nA7d>`(fpiG+t{5^*BI!FFpNvrdar%UPcWd8{M3 z8WmP9@%0drGEg`!gfJIWd(6h0TJC3g7;jhCq;^~HJ7+K;$f5D{nk)Y`O8usSsK!<; zmY3VQA<~XO$6li0kAzHno3A(*%g3Fni?NnK&%B{5GWn345`$!Bn=Yq5URaN$cXubV zQ7%>>KW~R0j_{`8M4`-RqrK&m08i z;gWOzw2-~VeKtR1+n0Z6Oad`iUbmK6iA6x8wo7MZ@X3*^UKo;$zx5T*dG!EnN2kwG zmen}=d(~jpiZWm%R7LHIC8(z>Ad)enOaT*>td@Wil>{1XIri4(hZwWFiT&TKQ-QjW z$m1tX)Wpr9M})H@<$T^H$W+VG5RtsNoYQJAxNi^CrE2B4KNGv)^h2+7b*NS>XOG z^D~xV>xy&g>&q2HY<=x!1!5gV`qK_YY?3FM%yeMGz-R(etx{*+YpzolSr3n&h2F8! zk(q|O5@ReqR=8viB6kiyE)DO`@1ADUp~viRhK0KTvlXoU$7LD;h_R4Y3B)aezt&nx zW+E^z8OVm{i2t;Gj4WLr^ISpCt>_+FN&8cZ5-e{B$pnzPE)G<|-_9NY!r-3tdyalV z(e+=~Q@!ip*nYn3M)65As`^# z&Hnbm`+n+u-uL?cd_TT(UFV#cwPt3oSyO9f&sys*yTuf&06@VClUHZihG1fU*)7(? zchnpvms)O`{=$MFv3Y3KilfAol&f=M{Xy?pS7d8WX97v_oe^z3T0OIOH*ye}J<7w@ zDIqM#R9PNQBJSLcF?Efq%bW@;MaM1`wO7azolH(E_=~sW(;jEjf(||&dw0gs?>Law z2{>$tE?<6hY4+Kymv+#_zMJek!25KeU?Uk;w+>4dfhQNWK6FLiq^yh@dPBSn>oAl^ z#*myc_+lJ|9zu+Pu;DMd9+VXuYUWYB_zJC6Q4=GtV_vlFQN)X#Nfj!7y8fR(C!eex zy{)RaS$MmDA)PKK{j@5;+%_b-;aK6iQN+Bx!jM&FON2k(XTR&<`6Vzn??_?Av1og3 zSg>so8Ap(c7feIt+~Y+n+ZR?<`+EIXhQdy$U_*UMw%i>d;pbm9IG%;cN8j2_A+dSk z+O?G%maA!h^aEeo* zjJVw=Xh_YPlJI1cF9A_;({cK&o3CyQ(CYN{p(|WZ9&_8wD`#u>(unrEOHlYt;(cnw zTnd&KoDOG53aP_i4#diSAalVmm|a?XsXsfCM7-tb=`cjwjMK2$+wVrteDu2^U`A+o zCfVFih%xCAh1kY(ZhV227hEa0VGpj|it^+SkbO5OU4Kv-NlNSFl%>@tLWm>twKZpv z%zOxOTRxGA-5+n>8PD8#wS{!&=M7ycTVTv(65p%A-d2D{?^jU~o2uR^4wd9D!Axsv zt_^JEd%h;P(G8+~Gpv2-fkDyo1W7IO6Oz>9u8C2A{!8b z0_Tjst5?44dybo^G2tgTF^a|+h1p_`DXkYJj#EFEOG@R)$I_soKG_s?x%opGH}+m;gM@qse=s{&K z(;|zHuh$YxIc1R*t^~yX9!R#VE3fnM-EWU#QkPmkctxN zRS`SYnGnk%@a7!tHE@pqmE$v1^VT){tJx-x5TRfY#q0BI&l)PJ2`TGAFj-;(;fntw z)a=1IQ&OWCH(5&uL4Qnx+_03Ep1?z&Ytcbb!N)ITCx|Jx8q_O@aH8CngdcsRTdDjq za&98E_4|YPY9+mJqfpyNj{KPx*RU!_BN-W!)qD5(zEzNEY?l+>HnJ8eQJ`@y?0*zq zx?`1s>8Bj1pHKtz#TRW~yt1Dm?_jalt8g`*)R%?@wk#R@t)(L!I{FZ{Hx*swQ6 zaQC%lMYx*JW^}T#mFm;rTqmp3YT?ABP#bE}yN;jOwq{@$9UKbo{3j9QmqDH13SM&= zVDZC%gfq3+AZ(KeBfnhHhZL+|-2s20rDmG-Ig7GG##^JMzJk`1u-13=*D$->rXPhR zT`rBcq&|A@q7NHO(7zr-zIav|SC`xNPQvw@Hb6r#%ar1sXu4_H@V&}#K2Lc97my9` z3V$w6DLhge*7>??0uz{$rq&2ZdX{<1vok3B#Ap&|jabT+mG>>q*-2%@^ZylLhX&~H zGXQU|tqUenbxlzKr8g;x<|6LLo>hO{B{1pK-~)(KK4oQ;zb7S=9#NP{el+OC+cmsa zHxhKAAG1GvQ}1aLK=kDXnpbLeWDcnTi=9(mBSZeoCXs*Vm=Q47iv|bcd?9ILimzo` zfe@P|n4=IlPD?*3-MpbHn4r_H^3<_csXa}_K(7&A`!Gx6U{pddFd)x=y!;cG+OV)sNE9py%)Xa!9$N|s!VEAeW6hq z5>SCrFa5Dc`zRS#4`x#0%V!fl^VzD8gL3wS>yRKU!MTTGBj=MxJb9|U*SeNNjQrl2 z?f6AWgRW8_7BRZGi6$|pMMYv_F^lgvi2R2=eW&$64nP#zBp|A zDs5fLJysEZ{dBx)!o&OewpyP0gGBjuav1M8rQj!a>M_n0}IxJ8kn1KSLf^ zj!M}_!}ntBYJ+V=UmIfkj-~@_%_>ER)h!>66{BsdPI#}Me=!}Vx(`w%*2YJ30)$a- zPML0ke8JbupGB)k>eI7S$E^xrUem7B%6oSE4bj(o)AB9-FM|7UMew+dM|9R`ZD%PP zrypRL2#rQrT8`c+ie^>oU=(KIkKlPT^6v4yFE#G~#HC&2f)dYLJTZp>wBF|yf+pY2 zp|@*o-*GF8`rq})G6Hig3m3mh4o*!D+6E3q*J^&o4TE0WmdD!ktGt5^>Ff`MqVC@~ zO)v`%4}(#Pif_Kgh0cWDI0iiA!dvMBm}k|Edj4FOxB9Hrf6u7{T_ZE?^ z@%L@?cyEiS+H#GMEt(i zRSZF#Xpev)YFD0;B=c({O9l6|i^dqo7QBZAqbf!Q!?!NH(JP;J$|Yz5;hnZs9Im(0 zXYqSKyKW5a*YXm{?fa%r*os@ReLNX*5z?j4q_l?WUb6JsV6&6mi15O{pm28UPWno| z4+yq^j*XCqiKiCGpQD1?c-~yVhRK~XKF`zNbIjJ&Uw-DiqX@?ZC?d(CJKJcaLU3v% zGH%1(rO)?^!>#f32rO(1 zG<01l@*o~$@XQzXnWbMnOOA;h_KUQgjjvK9%828gKrb6)e0y?)vzcNxk52g6YbOyMw^D97hmMVzbU4Nj@)Rjm2!4s7p@<_NM z>vh;faztL%J_-A}S5|f36-zJW+El)P}(IX80sM- z(1P#%>LF#?(uY-ya(X=egVV*T&<}#WnO}t-H+-EgF>t|)YE)*P>G!wCsX$K)lXydW zoaHt&#f@f$uE*Jo@wk}u{_K;l19Gs|seG+puUq^{E)EQWU&~)#lst;*(LR`8k#h8W z+&8_N_Ul<#-Hlxu*B<8SYteG+uRVoVVrtS24@>UG2-fq3jdq+n-)TVR!afCbc$#BJ z5t0FLZqf*D0vFx~l-oIvYuPU^e>WAdes~j>N9)KPyl?}Ui~6>c2msAzkb}pWRgBFF z?ca5LF{2N~J{R7-Gs(aQgi=oUw`V0V6#++xBn)-cJ zhCFxqT135gY{rfio8&D&tYw*7;e2Wmz~6l&Gp{2Bz$0$W6q^xEg~GnX9-jQPLF5jsxRP3+kr<_2R4Yk2iAK$lyojIJG$_q*ihf66 zyRR1pkj=rQQr?)?fe>tp$i3TulaQfa)updTMFt3pfh3QKdDG6eJ{?dMBEyK!FedJO z{nna@$)ue&o>1fV1O8-f3_+L*vBjE7)Xc7O(z@@Gd**!hE>(>%p}f^D|LGAnPWezm zVm|g89OrE@10TnY4lU1xPXYzu1&rU?70yT8s;I)%{0p={J&J=PQ{5hU1~gZAaAJBX zGCH@sNTKIqEij#&*>Lvfz21_y_bRXBBIHx2pjT>U$H-egmSk@|JmVRKdlhIpRqDu| zNlAfc!TT`Y?mjkhA)8CbEK^)%OI`our*cg0&2l(A91E)9Y*Esb>WhZ4yk#A@Km#lH zSBJwD89b3P#~-{I!;YNwBZLdI%Cp7aqoQ&>l<*d~Oip?GHA7RV%78>g7~)waJNBYX zM<&HV|B4^+n>DH-X$#+RcN4Zv&0Dl*)hGC_a|;L!_iKBn7yDj1w?yfcG=aI-0=_^o zKl1yl-7jgIM-qV?kCO}rnC}wMxlT@I+vU*|+V~yZVE7uaMWjUd-pxSoYp4m?3DH+_ zVUlP2#H>VivAnOk+=jmGDC@9i37V*7KGeb>K^oG?6p#ri< z%$D6swyeqIICn=^+mwKX28qLg>*)o~Jii@S@ydU@2Z$4m&b{0HR32tfYy9ToF|nx% z`@%XMOP5{mxV4C@>G%zIc#aOnvYLmftJH}Lbs91*91K(>+~BXCeG!i!y?%J%#uVaL z5%deY1!J3IfV^~U7S7dht(XwEcW~|0CFs`-`oYZ1mcIf2EE>#V)lbU0?RT5?=Qv^e z5u)@F;HD^TIe8!6R9X@rg$aI(ctg~;oMb+_TiR%=)>uwc>yCFE0tGRQDT(CqOfY^d z)mClIT6^x-P|$(dv0m(E7s@TKzZNO#wjq#HiSiNa^n+p-Ko$|Px zU<63Y6R*z+#zXu17Ar7|^lrT`#woQL&_48KWnPeGdoIG1{lJ=^(92gT%2ZoHqx=U< z_zcdzB`ssViI>wM*jPSTDWbgU8$R9iW~s>CQ6WruOOs}Bmu}KI6Qk*DI=yC#K$~%Y zJmM}rrsc*Lb`$wsjGBgaUnjAYa&jsQ(hC57YL$PN=;XzUR3TPw7>l*zWrgFV@5Aev zDj2`#oo2uN>fUd@ng7b_*4(+l3XZE(Ni#vkK*L?%D5o5MxK``B(+VqE!hPoBQvrL-BMANH*`K^Sw4W1RvBM(}?vW?_ip$Dt=jM0iv5 zG8#D#p174!l!wR;B(rdDq{!=+4IOoVO7H<24)`qYIga(XV+3J(s^M)|zNj3;mFQ@# z&K(++{1hDrAg4{V1#ERvc6+<@mZHqMsqWQOrAp}KrHp=d449a>u>Q!rA%F`{eqHR_5Ucd(zlP}Q(IszOmvcZ6
01yt%`RS)1~QfFwDADycL0)lwX^5 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

&CBJ)Vp5tH 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 zfDBk3@XRCFBundleInfoDictionaryVersion 6.0 CFBundleIconFile - TeleGPS.icns + altusmetrum-telegps.icns CFBundleDocumentTypes CFBundleTypeName Telemetry CFBundleTypeIconFile - TeleGPS.icns + application-vnd.altusmetrum.telemetry.icns CFBundleTypeExtensions telem @@ -42,7 +42,7 @@ CFBundleTypeName Eeprom CFBundleTypeIconFile - TeleGPS.icns + application-vnd.altusmetrum.eeprom.icns CFBundleTypeExtensions eeprom diff --git a/telegps/Makefile.am b/telegps/Makefile.am index c4f6a58b..a7defb8a 100644 --- a/telegps/Makefile.am +++ b/telegps/Makefile.am @@ -58,23 +58,34 @@ ALTOSUILIB_CLASS=\ ICONDIR=$(top_srcdir)/icon JAVA_ICONS=\ - $(ICONDIR)/telegps-16.png \ - $(ICONDIR)/telegps-32.png \ - $(ICONDIR)/telegps-48.png \ - $(ICONDIR)/telegps-64.png \ - $(ICONDIR)/telegps-128.png \ - $(ICONDIR)/telegps-256.png + $(ICONDIR)/altusmetrum-telegps-16.png \ + $(ICONDIR)/altusmetrum-telegps-32.png \ + $(ICONDIR)/altusmetrum-telegps-48.png \ + $(ICONDIR)/altusmetrum-telegps-64.png \ + $(ICONDIR)/altusmetrum-telegps-128.png\ + $(ICONDIR)/altusmetrum-telegps-256.png # icon base names for jar -ICONJAR= -C $(ICONDIR) telegps-16.png \ - -C $(ICONDIR) telegps-32.png \ - -C $(ICONDIR) telegps-48.png \ - -C $(ICONDIR) telegps-64.png \ - -C $(ICONDIR) telegps-128.png \ - -C $(ICONDIR) telegps-256.png - -WINDOWS_ICON=$(ICONDIR)/telegps.ico $(ICONDIR)/telegps.exe -MACOSX_ICON=$(ICONDIR)/TeleGPS.icns +ICONJAR= \ + -C $(ICONDIR) altusmetrum-telegps-16.png \ + -C $(ICONDIR) altusmetrum-telegps-32.png \ + -C $(ICONDIR) altusmetrum-telegps-48.png \ + -C $(ICONDIR) altusmetrum-telegps-64.png \ + -C $(ICONDIR) altusmetrum-telegps-128.png\ + -C $(ICONDIR) altusmetrum-telegps-256.png + +WINDOWS_ICONS =\ + ../icon/altusmetrum-telegps.ico \ + ../icon/altusmetrum-telegps.exe + ../icon/application-vnd.altusmetrum.eeprom.ico \ + ../icon/application-vnd.altusmetrum.eeprom.exe \ + ../icon/application-vnd.altusmetrum.telemetry.ico \ + ../icon/application-vnd.altusmetrum.telemetry.exe + +MACOSX_ICONS =\ + ../icon/altusmetrum-telegps.icns \ + ../icon/application-vnd.altusmetrum.eeprom.icns \ + ../icon/application-vnd.altusmetrum.telemetry.icns # Firmware FIRMWARE_TD_0_2=$(top_srcdir)/src/teledongle-v0.2/teledongle-v0.2-$(VERSION).ihx @@ -120,15 +131,15 @@ DOC=$(TELEGPS_DOC) FAT_FILES=$(FATJAR) $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) $(FREETTS_CLASS) $(JFREECHART_CLASS) $(JCOMMON_CLASS) -LINUX_FILES=$(FAT_FILES) libaltos.so $(FIRMWARE) $(DOC) $(desktop_file).in ../icon/telegps.svg +LINUX_FILES=$(FAT_FILES) libaltos.so $(FIRMWARE) $(DOC) $(desktop_file).in ../icon/altusmetrum-telegps.svg LINUX_EXTRA=telegps-fat $(desktop_file).in MACOSX_INFO_PLIST=Info.plist MACOSX_README=ReadMe-Mac.rtf -MACOSX_FILES=$(FAT_FILES) libaltos.dylib $(MACOSX_INFO_PLIST) $(MACOSX_README) $(DOC) $(MACOSX_ICON) +MACOSX_FILES=$(FAT_FILES) libaltos.dylib $(MACOSX_INFO_PLIST) $(MACOSX_README) $(DOC) $(MACOSX_ICONS) MACOSX_EXTRA=$(FIRMWARE) -WINDOWS_FILES=$(FAT_FILES) altos.dll altos64.dll $(top_srcdir)/altusmetrum.inf $(top_srcdir)/altusmetrum.cat $(DOC) $(WINDOWS_ICON) +WINDOWS_FILES=$(FAT_FILES) altos.dll altos64.dll $(top_srcdir)/altusmetrum.inf $(top_srcdir)/altusmetrum.cat $(DOC) $(WINDOWS_ICONS) if FATINSTALL @@ -194,7 +205,7 @@ $(FATJAR): classtelegps.stamp Manifest-fat.txt $(ALTOSLIB_CLASS) $(ALTOSUILIB_CL -C classes org \ -C ../libaltos libaltosJNI -classaltosui.stamp: $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) +classtelegps.stamp: $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) libaltos.so: build-libaltos -rm -f "$@" @@ -269,7 +280,7 @@ $(MACOSX_DIST): $(MACOSX_FILES) $(MACOSX_EXTRA) Makefile cp -a $(DOC) macosx/Doc cp -p Info.plist macosx/TeleGPS.app/Contents mkdir -p macosx/AltOS-$(VERSION) macosx/TeleGPS.app/Contents/Resources/Java - cp -p $(MACOSX_ICON) macosx/TeleGPS.app/Contents/Resources + cp -p $(MACOSX_ICONS) macosx/TeleGPS.app/Contents/Resources cp -p $(FATJAR) macosx/TeleGPS.app/Contents/Resources/Java/telegps.jar cp -p libaltos.dylib macosx/TeleGPS.app/Contents/Resources/Java cp -p $(ALTOSLIB_CLASS) macosx/TeleGPS.app/Contents/Resources/Java diff --git a/telegps/altusmetrum-telegps.desktop.in b/telegps/altusmetrum-telegps.desktop.in index 76c1eb42..7a1b3536 100644 --- a/telegps/altusmetrum-telegps.desktop.in +++ b/telegps/altusmetrum-telegps.desktop.in @@ -3,7 +3,7 @@ Type=Application Name=TeleGPS GenericName=TeleGPS monitor, download and analysis Comment=View and log data from TeleGPS tracking devices -Icon=%icondir%/telegps.svg +Icon=%icondir%/altusmetrum-telegps.svg Exec=%bindir%/telegps %f Terminal=false MimeType=application/vnd.altusmetrum.telemetry;application/vnd.altusmetrum.eeprom diff --git a/telegps/telegps-windows.nsi.in b/telegps/telegps-windows.nsi.in index 3f9648f9..603d4971 100644 --- a/telegps/telegps-windows.nsi.in +++ b/telegps/telegps-windows.nsi.in @@ -4,12 +4,14 @@ !include java.nsh !include refresh-sh.nsh -!define REG_NAME "TeleGPS" -!define PROG_ID "org.altusmetrum.telegps.1" -!define PROG_ALTOSUI "org.altusmetrum.altosui.1" -!define FAT_NAME "telegps-fat.jar" -!define ICO_ICO "telegps.ico" -!define ICO_EXE "telegps.exe" +!define REG_NAME "TeleGPS" +!define PROG_ID_TELEM "altusmetrum.telegps.telem.1" +!define PROG_ID_EEPROM "altusmetrum.telegps.eeprom.1" +!define FAT_NAME "telegps-fat.jar" +!define WIN_APP_ICON "altusmetrum-telegps.ico" +!define WIN_APP_EXE "altusmetrum-telegps.exe" +!define WIN_TELEM_EXE "application-vnd.altusmetrum.telemetry.exe" +!define WIN_EEPROM_EXE "application-vnd.altusmetrum.eeprom.exe" Name "${REG_NAME} Installer" @@ -104,13 +106,13 @@ Section "${REG_NAME} Application" File "*.dll" - File "../icon/${ICO_ICO}" + File "../icon/${WIN_APP_ICON}" - CreateShortCut "$SMPROGRAMS\${REG_NAME}.lnk" "$SYSDIR\javaw.exe" "-jar ${FAT_NAME}" "$INSTDIR\${ICO_ICO}" + CreateShortCut "$SMPROGRAMS\${REG_NAME}.lnk" "$SYSDIR\javaw.exe" "-jar ${FAT_NAME}" "$INSTDIR\${WIN_APP_ICON}" SectionEnd Section "${REG_NAME} Desktop Shortcut" - CreateShortCut "$DESKTOP\${REG_NAME}.lnk" "$INSTDIR\${FAT_NAME}" "" "$INSTDIR\${ICO_ICO}" + CreateShortCut "$DESKTOP\${REG_NAME}.lnk" "$INSTDIR\${FAT_NAME}" "" "$INSTDIR\${WIN_APP_ICON}" SectionEnd Section "TeleGPS, TeleDongle and TeleBT Firmware" @@ -134,35 +136,51 @@ SectionEnd Section "File Associations" + ${DisableX64FSRedirection} + SetOutPath $INSTDIR - File "../icon/${ICO_EXE}" + File "../icon/${WIN_APP_EXE}" + File "../icon/${WIN_TELEM_EXE}" + File "../icon/${WIN_EEPROM_EXE}" - ; application elements - - WriteRegStr HKCR "${PROG_ID}" "" "Altus Metrum Data File" - WriteRegStr HKCR "${PROG_ID}" "FriendlyTypeName" "Altus Metrum Data File" - WriteRegStr HKCR "${PROG_ID}\CurVer" "" "${PROG_ID}" - WriteRegStr HKCR "${PROG_ID}\DefaultIcon" "" '"$INSTDIR\${ICO_EXE}",-101' - WriteRegExpandStr HKCR "${PROG_ID}\shell\play\command" "" '"%SYSTEMROOT%\System32\javaw.exe" -Djava.library.path="$INSTDIR" -jar "$INSTDIR\${FAT_NAME}" "%1"' + DeleteRegKey HKCR "${PROG_ID_TELEM}" + DeleteRegKey HKCR "${PROG_ID_EEPROM}" + + DeleteRegKey HKCR ".eeprom\${PROG_ID_EEPROM}" + DeleteRegValue HKCR ".eeprom\OpenWithProgids" "${PROG_ID_EEPROM}" + DeleteRegKey HKCR ".telem\${PROG_ID_EEPROM}" + DeleteRegValue HKCR ".telem\OpenWithProgids" "${PROG_ID_EEPROM}" ; .eeprom elements - WriteRegStr HKCR ".eeprom" "" "${PROG_ALTOSUI}" + WriteRegStr HKCR "${PROG_ID_EEPROM}" "" "Altus Metrum Log File" + WriteRegStr HKCR "${PROG_ID_EEPROM}" "FriendlyTypeName" "Altus Metrum Log File" + WriteRegStr HKCR "${PROG_ID_EEPROM}\CurVer" "" "${PROG_ID_EEPROM}" + WriteRegStr HKCR "${PROG_ID_EEPROM}\DefaultIcon" "" '"$INSTDIR\${WIN_EEPROM_EXE}",-101' + WriteRegExpandStr HKCR "${PROG_ID_EEPROM}\shell\open\command" "" '"%SYSTEMROOT%\System32\javaw.exe" -Djava.library.path="$INSTDIR" -jar "$INSTDIR\${FAT_NAME}" "%1"' + + WriteRegStr HKCR ".eeprom" "" "${PROG_ID_EEPROM}" WriteRegStr HKCR ".eeprom" "PerceivedType" "Altus Metrum Log File" - WriteRegStr HKCR ".eeprom" "Content Type" "application/altosui" + WriteRegStr HKCR ".eeprom" "Content Type" "application/vnd.altusmetrum.eeprom" - WriteRegStr HKCR ".eeprom\OpenWithProgids" "${PROG_ID}" "" - WriteRegStr HKCR ".eeprom\${PROG_ID}" "" "${REG_NAME}" + WriteRegStr HKCR ".eeprom\OpenWithProgids" "${PROG_ID_EEPROM}" "" + WriteRegStr HKCR ".eeprom\${PROG_ID_EEPROM}" "" "${REG_NAME}" ; .telem elements - WriteRegStr HKCR ".telem" "" "${PROG_ALTOSUI}" + WriteRegStr HKCR "${PROG_ID_TELEM}" "" "Altus Metrum Telemetry File" + WriteRegStr HKCR "${PROG_ID_TELEM}" "FriendlyTypeName" "Altus Metrum Telemetry File" + WriteRegStr HKCR "${PROG_ID_TELEM}\CurVer" "" "${PROG_ID_TELEM}" + WriteRegStr HKCR "${PROG_ID_TELEM}\DefaultIcon" "" '"$INSTDIR\${WIN_TELEM_EXE}",-101' + WriteRegExpandStr HKCR "${PROG_ID_TELEM}\shell\open\command" "" '"%SYSTEMROOT%\System32\javaw.exe" -Djava.library.path="$INSTDIR" -jar "$INSTDIR\${FAT_NAME}" "%1"' + + WriteRegStr HKCR ".telem" "" "${PROG_ID_TELEM}" WriteRegStr HKCR ".telem" "PerceivedType" "Altus Metrum Telemetry File" - WriteRegStr HKCR ".telem" "Content Type" "application/altosui" + WriteRegStr HKCR ".telem" "Content Type" "application/vnd.altusmetrum.telemetry" - WriteRegStr HKCR ".telem\OpenWithProgids" "${PROG_ID}" "" - WriteRegStr HKCR ".telem\${PROG_ID}" "" "${REG_NAME}" + WriteRegStr HKCR ".telem\OpenWithProgids" "${PROG_ID_TELEM}" "" + WriteRegStr HKCR ".telem\${PROG_ID_TELEM}" "" "${REG_NAME}" Call RefreshShellIcons SectionEnd @@ -195,21 +213,22 @@ Section "Uninstall" DetailPrint "Delete uninstall reg entries" - DeleteRegKey HKCR "${PROG_ID}" + DeleteRegKey HKCR "${PROG_ID_EEPROM}" + DeleteRegKey HKCR "${PROG_ID_TELEM}" - DeleteRegKey HKCR ".eeprom\${PROG_ID}" - DeleteRegValue HKCR ".eeprom\OpenWithProgids" "${PROG_ID}" + DeleteRegKey HKCR ".eeprom\${PROG_ID_EEPROM}" + DeleteRegValue HKCR ".eeprom\OpenWithProgids" "${PROG_ID_EEPROM}" - DeleteRegKey HKCR ".telem\${PROG_ID}" - DeleteRegValue HKCR ".telem\OpenWithProgids" "${PROG_ID}" + DeleteRegKey HKCR ".telem\${PROG_ID_TELEM}" + DeleteRegValue HKCR ".telem\OpenWithProgids" "${PROG_ID_TELEM}" DetailPrint "Delete file association reg entries" Delete "$INSTDIR\${FAT_NAME}" Delete "$INSTDIR\uninstall-${REG_NAME}.exe" - Delete "$INSTDIR\${ICO_ICO}" - Delete "$INSTDIR\${ICO_EXE}" + Delete "$INSTDIR\${WIN_APP_ICON}" + Delete "$INSTDIR\${WIN_APP_EXE}" ; Remove shortcuts, if any Delete "$SMPROGRAMS\${REG_NAME}.lnk" -- 2.30.2