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