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/types.h>
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
#include <time.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
|
// indent -kr -i8
|
||||||
static int VERBOSE = 0;
|
static int VERBOSE = 0;
|
||||||
|
@ -21,7 +28,7 @@ static void sigterm_handler(int signum)
|
||||||
kill(getpid(), 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;
|
va_list args;
|
||||||
|
|
||||||
|
@ -33,13 +40,17 @@ static void ar_log(const char *format, ...)
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ar_launch()
|
static int ar_launch(void)
|
||||||
{
|
{
|
||||||
pid_t pid = fork();
|
pid_t pid = fork();
|
||||||
if (pid == 0) {
|
if (pid == 0) {
|
||||||
static char *argv[] =
|
static char *argv[] = { AUTORANDR_PATH, "--change", "--default", "default", NULL};
|
||||||
{ "/usr/bin/autorandr", "--change", "--default", "default", NULL };
|
if (execve(argv[0], argv, environ) == -1) {
|
||||||
execve(argv[0], argv, environ);
|
int errsv = errno;
|
||||||
|
fprintf(stderr, "Error executing file: %s\n", strerror(errsv));
|
||||||
|
exit(errsv);
|
||||||
|
}
|
||||||
|
|
||||||
exit(127);
|
exit(127);
|
||||||
} else {
|
} else {
|
||||||
waitpid(pid, 0, 0);
|
waitpid(pid, 0, 0);
|
||||||
|
@ -147,10 +158,10 @@ int main(int argc, char **argv)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ar_log("Event type: %" PRIu8 "\n", evt->response_type);
|
ar_log("Event type: %" PRIu8 "\n", evt->response_type);
|
||||||
// ar_log("screen change masked: %" PRIu8 "\n",
|
ar_log("screen change masked: %" PRIu8 "\n",
|
||||||
// evt->response_type &
|
evt->response_type &
|
||||||
// XCB_RANDR_NOTIFY_MASK_SCREEN_CHANGE);
|
XCB_RANDR_NOTIFY_MASK_SCREEN_CHANGE);
|
||||||
|
|
||||||
if (evt->response_type &
|
if (evt->response_type &
|
||||||
XCB_RANDR_NOTIFY_MASK_SCREEN_CHANGE) {
|
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