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