From 8257949e5db61315910e2fda942338e4f06c4118 Mon Sep 17 00:00:00 2001 From: "Geoffrey D. Bennett" Date: Tue, 15 Mar 2022 01:24:03 +1030 Subject: [PATCH] Add desktop and icon files and install into the correct place Remove 48x48 icon; use 256x256 icon only. Remove icons from the executable. No need to call gtk_window_set_default_icon_name() anymore. Add desktop file. Add install and uninstall Makefile targets. Update USAGE.md with installation instructions. Thanks to @szszoke for figuring this one out! Fixes #2. --- .gitignore | 1 + USAGE.md | 13 ++++++++ src/Makefile | 30 ++++++++++++++++-- src/alsa-scarlett-gui-resources.xml | 6 ---- src/img/alsa-scarlett-gui-48.png | Bin 3677 -> 0 bytes ...lett-gui-256.png => alsa-scarlett-gui.png} | Bin src/main.c | 1 - src/vu.b4.alsa-scarlett-gui.desktop.template | 9 ++++++ 8 files changed, 51 insertions(+), 9 deletions(-) delete mode 100644 src/img/alsa-scarlett-gui-48.png rename src/img/{alsa-scarlett-gui-256.png => alsa-scarlett-gui.png} (100%) create mode 100644 src/vu.b4.alsa-scarlett-gui.desktop.template diff --git a/.gitignore b/.gitignore index 7f5ce74..84db14b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ .gdb_history alsa-scarlett-gui alsa-scarlett-gui-resources.c +vu.b4.alsa-scarlett-gui.desktop diff --git a/USAGE.md b/USAGE.md index 4af3f19..9395176 100644 --- a/USAGE.md +++ b/USAGE.md @@ -71,6 +71,19 @@ To run: ./alsa-scarlett-gui ``` +You can install it into `/usr/local` (binary, desktop file, and icon) +with: + +``` +sudo make install +``` + +And uninstall with: + +``` +sudo make uninstall +``` + ## No interface connected If no interface is detected (usually because there isn’t one diff --git a/src/Makefile b/src/Makefile index b0173d8..cf10135 100644 --- a/src/Makefile +++ b/src/Makefile @@ -32,13 +32,14 @@ XML_OBJ := $(patsubst %.xml,%.c,$(XML_SRC)) SRCS := $(sort $(wildcard *.c) $(XML_OBJ)) OBJS := $(patsubst %.c,%.o,$(SRCS)) TARGET := alsa-scarlett-gui +DESKTOP_FILE := vu.b4.$(TARGET).desktop GLIB_COMPILE_RESOURCES := $(shell $(PKG_CONFIG) --variable=glib_compile_resources gio-2.0) -all: $(TARGET) +all: $(TARGET) $(DESKTOP_FILE) clean: - rm -f $(TARGET) $(OBJS) $(XML_OBJ) + rm -f $(TARGET) $(DESKTOP_FILE) $(OBJS) $(XML_OBJ) depclean: rm -rf $(DEPDIR) @@ -52,3 +53,28 @@ include $(wildcard $(DEPFILES)) $(TARGET): $(OBJS) cc ${LDFLAGS} -lm -o $(TARGET) $(OBJS) + +ifeq ($(PREFIX),) + PREFIX := /usr/local +endif + +BINDIR := $(DESTDIR)$(PREFIX)/bin +ICONTOP := $(DESTDIR)$(PREFIX)/share/icons/hicolor +ICONDIR := $(ICONTOP)/256x256/apps +DESKTOPDIR := $(DESTDIR)$(PREFIX)/share/applications + +$(DESKTOP_FILE): $(DESKTOP_FILE).template + sed 's_PREFIX_$(PREFIX)_' < $< > $@ + +install: all + install -d $(BINDIR) + install -m 755 $(TARGET) $(BINDIR) + install -d $(ICONDIR) + install -m 644 img/$(TARGET).png $(ICONDIR) + install -d $(DESKTOPDIR) + install -m 644 $(DESKTOP_FILE) $(DESKTOPDIR) + +uninstall: + rm -f $(BINDIR)/$(TARGET) + rm -f $(ICONDIR)/$(TARGET).png + rm -f $(DESKTOPDIR)/$(DESKTOP_FILE) diff --git a/src/alsa-scarlett-gui-resources.xml b/src/alsa-scarlett-gui-resources.xml index 23df2ce..117f1d6 100644 --- a/src/alsa-scarlett-gui-resources.xml +++ b/src/alsa-scarlett-gui-resources.xml @@ -4,12 +4,6 @@ img/alsa-scarlett-gui-logo.png img/socket.svg - - img/alsa-scarlett-gui-48.png - - - img/alsa-scarlett-gui-256.png - alsa-scarlett-gui.css diff --git a/src/img/alsa-scarlett-gui-48.png b/src/img/alsa-scarlett-gui-48.png deleted file mode 100644 index e8856309098a9b014a13b63b2160081a68f83547..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3677 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 vGw=V6BcD7XtB