aboutsummaryrefslogtreecommitdiff
path: root/sway/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/main.c')
-rw-r--r--sway/main.c39
1 files changed, 37 insertions, 2 deletions
diff --git a/sway/main.c b/sway/main.c
index e6a5b851..ab687b17 100644
--- a/sway/main.c
+++ b/sway/main.c
@@ -1,6 +1,41 @@
#include <stdio.h>
+#include <stdlib.h>
+#include <stdbool.h>
+#include <wlc/wlc.h>
+#include "config.h"
-int main() {
- printf("Hello world\n");
+struct sway_config *config;
+
+bool load_config() {
+ // TODO: Allow use of more config file locations
+ const char *name = "/.i3/config";
+ const char *home = getenv("HOME");
+ char *temp = malloc(strlen(home) + strlen(name) + 1);
+ strcpy(temp, home);
+ strcat(temp, name);
+ FILE *f = fopen(temp, "r");
+ if (!f) {
+ fprintf(stderr, "Unable to open %s for reading", temp);
+ free(temp);
+ exit(1);
+ }
+ free(temp);
+ config = read_config(f);
+ fclose(f);
+ return true;
+}
+
+int main(int argc, char **argv) {
+ if (!load_config()) {
+ return 0;
+ }
+ return 0;
+ // TODO:
+
+ static struct wlc_interface interface = { };
+ if (!wlc_init(&interface, argc, argv)) {
+ return 1;
+ }
+ wlc_run();
return 0;
}