2015-08-05 03:02:46 +02:00
|
|
|
#include <stdio.h>
|
2015-08-05 03:30:40 +02:00
|
|
|
#include <stdlib.h>
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include <wlc/wlc.h>
|
2015-08-13 09:44:56 +02:00
|
|
|
#include <sys/wait.h>
|
|
|
|
#include <signal.h>
|
2015-08-06 14:40:16 +02:00
|
|
|
#include "layout.h"
|
2015-08-05 03:30:40 +02:00
|
|
|
#include "config.h"
|
2015-08-08 23:01:22 +02:00
|
|
|
#include "log.h"
|
2015-08-06 14:24:14 +02:00
|
|
|
#include "handlers.h"
|
2015-08-05 03:02:46 +02:00
|
|
|
|
2015-08-13 09:44:56 +02:00
|
|
|
static void sigchld_handle(int signal);
|
2015-08-05 03:30:40 +02:00
|
|
|
|
|
|
|
int main(int argc, char **argv) {
|
2015-08-08 23:01:22 +02:00
|
|
|
init_log(L_DEBUG); // TODO: Control this with command line arg
|
2015-08-06 14:40:16 +02:00
|
|
|
init_layout();
|
2015-08-05 03:30:40 +02:00
|
|
|
|
2015-08-13 09:44:56 +02:00
|
|
|
/* Signal handling */
|
|
|
|
signal(SIGCHLD, sigchld_handle);
|
|
|
|
|
2015-08-13 18:32:38 +02:00
|
|
|
if (!load_config()) {
|
2015-08-16 18:03:34 +02:00
|
|
|
sway_log(L_ERROR, "Errors loading config!");
|
2015-08-13 18:32:38 +02:00
|
|
|
}
|
2015-08-13 09:44:56 +02:00
|
|
|
|
2015-08-15 22:53:42 +02:00
|
|
|
setenv("WLC_IDLE_TIME", "0", 0);
|
2015-08-10 14:29:57 +02:00
|
|
|
setenv("WLC_DIM", "0", 0);
|
2015-08-05 03:30:40 +02:00
|
|
|
if (!wlc_init(&interface, argc, argv)) {
|
|
|
|
return 1;
|
|
|
|
}
|
2015-08-09 19:54:52 +02:00
|
|
|
setenv("DISPLAY", ":1", 1);
|
2015-08-11 02:50:22 +02:00
|
|
|
|
2015-08-05 03:30:40 +02:00
|
|
|
wlc_run();
|
2015-08-13 21:41:29 +02:00
|
|
|
|
2015-08-05 03:02:46 +02:00
|
|
|
return 0;
|
|
|
|
}
|
2015-08-13 09:44:56 +02:00
|
|
|
|
|
|
|
static void sigchld_handle(int signal) {
|
|
|
|
(void) signal;
|
|
|
|
while (waitpid((pid_t)-1, 0, WNOHANG) > 0);
|
|
|
|
}
|