diff -uNpar nvdock/Makefile nvdock.new/Makefile --- nvdock/Makefile 2021-06-20 22:15:49.473703701 +0200 +++ nvdock.new/Makefile 2021-06-21 11:41:58.266569681 +0200 @@ -1,33 +1,34 @@ -CFLAGS=$(shell pkg-config --cflags gtk+-2.0 glib) $(shell pkg-config --cflags glib-2.0) +ROOT=root +BINDIR=/usr/bin +CFLAGS=$(RPM_OPT_FLAGS) $(shell pkg-config --cflags gtk+-2.0) $(shell pkg-config --cflags glib-2.0) LDFLAGS=$(shell pkg-config --libs gtk+-2.0) $(shell pkg-config --libs glib-2.0) -all: - @make clean - mkdir build - - gcc src/nvdock.c -c -o build/nvdock.o ${CFLAGS} - gcc src/icon.c -c -o build/icon.o ${CFLAGS} - gcc src/util.c -c -o build/util.o ${CFLAGS} - - gcc build/nvdock.o build/icon.o build/util.o -o build/nvdock ${LDFLAGS} - - strip --strip-unneeded build/nvdock +all: nvdock + +nvdock: nvdock.o icon.o util.o + $(CC) $(CFLAGS) nvdock.o icon.o util.o -o nvdock $(LDFLAGS) + +nvdock.o: src/nvdock.c src/nvdock.h + $(CC) $(CFLAGS) -Isrc -c src/nvdock.c + +icon.o: src/icon.h src/icon.c + $(CC) $(CFLAGS) -Isrc -c src/icon.c + +util.o: src/util.c + $(CC) $(CFLAGS) -Isrc -c src/util.c install: - cp build/nvdock /usr/bin - chmod 755 /usr/bin/nvdock - - cp data/nvdock.png /usr/share/pixmaps - chmod 644 /usr/share/pixmaps/nvdock.png - - cp data/nvdock.desktop /usr/share/applications - chmod 644 /usr/share/pixmaps/nvdock.png + mkdir -p $(DESTDIR)$(BINDIR) + $(INSTALL) -o $(ROOT) -g $(ROOT) -m 755 nvdock \ + $(DESTDIR)$(BINDIR)/nvdock -clean: - @rm -rf build - -uninstall: - rm -f /usr/bin/nvdock - rm -f /usr/share/pixmaps/nvdock.png - rm -f /usr/share/applications/nvdock.png + mkdir -p $(DESTDIR)/usr/share/pixmaps + $(INSTALL) -o $(ROOT) -g $(ROOT) -m 644 data/nvdock.png \ + $(DESTDIR)/usr/share/pixmaps + + mkdir -p $(DESTDIR)/usr/share/applications + $(INSTALL) -o $(ROOT) -g $(ROOT) -m 644 data/nvdock.desktop \ + $(DESTDIR)/usr/share/applications +clean: + rm -f nvdock *.o diff -uNpar nvdock/README.md nvdock.new/README.md --- nvdock/README.md 1970-01-01 01:00:00.000000000 +0100 +++ nvdock.new/README.md 2021-06-21 11:45:14.584202049 +0200 @@ -0,0 +1,2 @@ +# nvdock +Fork of nvdock, a tray icon to easily launch the nvidia-settings control panel diff -uNpar nvdock/src/icon.h nvdock.new/src/icon.h --- nvdock/src/icon.h 2007-10-19 11:27:10.000000000 +0200 +++ nvdock.new/src/icon.h 2021-06-21 14:34:04.541514948 +0200 @@ -70,6 +70,9 @@ BobMenuItemDef menuItemDef[] = { { 9, BOB_MENU_ICON, "Quit", "", "gtk-quit", -1, TRUE, bob_main_quit } }; +argstruct *arg; +BobStatusIcon *bsi; + #define BOB_NVTEMP_ITEM 2 #define BOB_NVCLOCK_ITEM 5 #define BOB_NVVERSION_ITEM 10 diff -uNpar nvdock/src/nvdock.c nvdock.new/src/nvdock.c --- nvdock/src/nvdock.c 2021-06-20 22:15:49.473703701 +0200 +++ nvdock.new/src/nvdock.c 2021-06-21 14:37:28.327236133 +0200 @@ -40,7 +40,7 @@ bob_main_quit(void) { return; } -int main(int argc, char *argv) { +int main(int argc, char **argv) { if(!exists_application("cut") || !exists_application("grep")) { puts("error: make sure `cut` and `grep` are installed."); @@ -58,8 +58,8 @@ int main(int argc, char *argv) { } unsigned int pid = 0; - - arg = (argstruct *)argc_argv_parse(argc,argv); + + argc_argv_parse(argc,argv); //. more preliminary checks. arg->has_nvclock = exists_application("nvclock"); diff -uNpar nvdock/src/nvdock.h nvdock.new/src/nvdock.h --- nvdock/src/nvdock.h 2007-10-19 12:07:19.000000000 +0200 +++ nvdock.new/src/nvdock.h 2021-06-21 14:37:29.503246065 +0200 @@ -79,12 +79,13 @@ typedef struct _argc_argv { gboolean has_nvclock:1; gboolean has_nvclock_gtk:1; - unsigned char nvversion[32]; + char nvversion[32]; } argstruct; -argstruct *arg; -BobStatusIcon *bsi; +extern argstruct *arg; +extern BobStatusIcon *bsi; +void argc_argv_parse(int argc, char **argv); gboolean exists_application(const char *); gboolean exists_icon_file(const char *); diff -uNpar nvdock/src/util.c nvdock.new/src/util.c --- nvdock/src/util.c 2021-06-20 21:32:33.353269706 +0200 +++ nvdock.new/src/util.c 2021-06-21 14:38:07.383566046 +0200 @@ -33,15 +33,15 @@ The NVIDIA name and Logo are property of #include "nvdock.h" -argstruct * +void argc_argv_parse(int argc, char **argv) { //. this function requires the typedef struct _argc_argv, which has been //. placed in nvdock.h for this application. + arg = (argstruct *)malloc(sizeof(argstruct)); int a = 1; - argstruct *arg = (argstruct *)malloc(sizeof(argstruct)); - + arg->version = 0; arg->help = 0; arg->unknown = 0; @@ -78,8 +78,6 @@ argc_argv_parse(int argc, char **argv) { ++a; } - - return arg; } int