Add make file and Create macro to enable local path of autorandr
Signed-off-by: Matheus Horstmann <horstmannmat@hotmail.com>
This commit is contained in:
parent
2452110831
commit
34d3aad795
|
@ -10,6 +10,13 @@
|
|||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
#include <time.h>
|
||||
#include <inttypes.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
|
||||
#ifndef AUTORANDR_PATH
|
||||
#define AUTORANDR_PATH "/usr/bin/autorandr"
|
||||
#endif
|
||||
|
||||
// indent -kr -i8
|
||||
static int VERBOSE = 0;
|
||||
|
@ -21,7 +28,7 @@ static void sigterm_handler(int signum)
|
|||
kill(getpid(), signum);
|
||||
}
|
||||
|
||||
static void ar_log(const char *format, ...)
|
||||
__attribute__((format(printf, 1, 2))) static void ar_log(const char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
|
@ -33,13 +40,17 @@ static void ar_log(const char *format, ...)
|
|||
fflush(stdout);
|
||||
}
|
||||
|
||||
static int ar_launch()
|
||||
static int ar_launch(void)
|
||||
{
|
||||
pid_t pid = fork();
|
||||
if (pid == 0) {
|
||||
static char *argv[] =
|
||||
{ "/usr/bin/autorandr", "--change", "--default", "default", NULL };
|
||||
execve(argv[0], argv, environ);
|
||||
static char *argv[] = { AUTORANDR_PATH, "--change", "--default", "default", NULL};
|
||||
if (execve(argv[0], argv, environ) == -1) {
|
||||
int errsv = errno;
|
||||
fprintf(stderr, "Error executing file: %s\n", strerror(errsv));
|
||||
exit(errsv);
|
||||
}
|
||||
|
||||
exit(127);
|
||||
} else {
|
||||
waitpid(pid, 0, 0);
|
||||
|
@ -147,10 +158,10 @@ int main(int argc, char **argv)
|
|||
break;
|
||||
}
|
||||
|
||||
// ar_log("Event type: %" PRIu8 "\n", evt->response_type);
|
||||
// ar_log("screen change masked: %" PRIu8 "\n",
|
||||
// evt->response_type &
|
||||
// XCB_RANDR_NOTIFY_MASK_SCREEN_CHANGE);
|
||||
ar_log("Event type: %" PRIu8 "\n", evt->response_type);
|
||||
ar_log("screen change masked: %" PRIu8 "\n",
|
||||
evt->response_type &
|
||||
XCB_RANDR_NOTIFY_MASK_SCREEN_CHANGE);
|
||||
|
||||
if (evt->response_type &
|
||||
XCB_RANDR_NOTIFY_MASK_SCREEN_CHANGE) {
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
CFLAGS = -pipe \
|
||||
-o2 \
|
||||
-Wstrict-overflow=5 -fstack-protector-all \
|
||||
-W -Wall -Wextra \
|
||||
-Wbad-function-cast \
|
||||
-Wcast-align \
|
||||
-Wcast-qual \
|
||||
-Wconversion \
|
||||
-Wfloat-equal \
|
||||
-Wformat-y2k \
|
||||
-Winit-self \
|
||||
-Winline \
|
||||
-Winvalid-pch \
|
||||
-Wmissing-declarations \
|
||||
-Wmissing-field-initializers \
|
||||
-Wmissing-format-attribute \
|
||||
-Wmissing-include-dirs \
|
||||
-Wmissing-noreturn \
|
||||
-Wmissing-prototypes \
|
||||
-Wnested-externs \
|
||||
-Wnormalized=nfc \
|
||||
-Wold-style-definition \
|
||||
-Woverlength-strings \
|
||||
-Wpacked \
|
||||
-Wpadded \
|
||||
-Wpointer-arith \
|
||||
-Wredundant-decls \
|
||||
-Wshadow \
|
||||
-Wsign-compare \
|
||||
-Wstack-protector \
|
||||
-Wstrict-aliasing=2 \
|
||||
-Wstrict-prototypes \
|
||||
-Wundef \
|
||||
-Wunsafe-loop-optimizations \
|
||||
-Wvolatile-register-var \
|
||||
-Wwrite-strings
|
||||
|
||||
|
||||
LAUNCHER_LDLIBS=$(shell pkg-config --libs pkg-config xcb xcb-randr 2>/dev/null)
|
||||
LAUNCHER_CFLAGS=$(shell pkg-config --cflags pkg-config xcb xcb-randr 2>/dev/null)
|
||||
USER_DEFS="-DAUTORANDR_PATH=\"$(shell which autorandr 2>/dev/null)\""
|
||||
#------------------------------------------------------------------------------
|
||||
.PHONY : all clean
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
all : autorandr-launcher
|
||||
|
||||
autorandr-launcher: autorandr_launcher.c
|
||||
$(CC) $(CFLAGS) $(LAUNCHER_CFLAGS) $(USER_DEFS) -o $@ $+ $(LAUNCHER_LDLIBS)
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
clean :
|
||||
$(RM) autorandr-launcher *.o
|
Loading…
Reference in New Issue