diff --git a/CMakeLists.txt b/CMakeLists.txt
index 34098eb3..b53670b6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -116,7 +116,8 @@ add_subdirectory(wayland)
 add_subdirectory(sway)
 if(enable-swaybg)
 	if(CAIRO_FOUND AND PANGO_FOUND)
-		add_subdirectory(swaybg)
+        # TODO WLR
+        #add_subdirectory(swaybg)
 	else()
 		message(WARNING "Not building swaybg - cairo, and pango are required.")
 	endif()
@@ -125,18 +126,21 @@ if(enable-swaymsg)
 	add_subdirectory(swaymsg)
 endif()
 if(enable-swaygrab)
-	add_subdirectory(swaygrab)
+    # TODO WLR
+    #add_subdirectory(swaygrab)
 endif()
 if(enable-swaybar)
 	if(CAIRO_FOUND AND PANGO_FOUND)
-		add_subdirectory(swaybar)
+        # TODO WLR
+        #add_subdirectory(swaybar)
 	else()
 		message(WARNING "Not building swaybar - cairo, and pango  are required.")
 	endif()
 endif()
 if(enable-swaylock)
 	if(CAIRO_FOUND AND PANGO_FOUND AND PAM_FOUND)
-		add_subdirectory(swaylock)
+        # TODO WLR
+        #add_subdirectory(swaylock)
 	else()
 		message(WARNING "Not building swaylock - cairo, pango, and PAM are required.")
 	endif()
diff --git a/common/log.c b/common/log.c
index 6dc9d743..c47b4eea 100644
--- a/common/log.c
+++ b/common/log.c
@@ -9,7 +9,6 @@
 #include <string.h>
 #include <time.h>
 #include "log.h"
-#include "sway.h"
 #include "readline.h"
 
 static int colored = 1;
@@ -117,6 +116,7 @@ void _sway_log(const char *filename, int line, log_importance_t verbosity, const
 	va_end(args);
 }
 
+void sway_terminate(int code);
 
 void _sway_abort(const char *filename, int line, const char* format, ...) {
 	va_list args;
diff --git a/include/sway.h b/include/sway.h
deleted file mode 100644
index b5cfb668..00000000
--- a/include/sway.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _SWAY_SWAY_H
-#define _SWAY_SWAY_H
-
-void sway_terminate(int exit_code);
-
-#endif
diff --git a/include/sway/handlers.h b/include/sway/handlers.h
deleted file mode 100644
index 956b98f4..00000000
--- a/include/sway/handlers.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _SWAY_HANDLERS_H
-#define _SWAY_HANDLERS_H
-#include "container.h"
-#include <stdbool.h>
-#include <wlc/wlc.h>
-
-void register_wlc_handlers();
-
-extern uint32_t keys_pressed[32];
-
-#endif
diff --git a/include/sway/border.h b/include/sway/old/border.h
similarity index 100%
rename from include/sway/border.h
rename to include/sway/old/border.h
diff --git a/include/sway/commands.h b/include/sway/old/commands.h
similarity index 100%
rename from include/sway/commands.h
rename to include/sway/old/commands.h
diff --git a/include/sway/config.h b/include/sway/old/config.h
similarity index 100%
rename from include/sway/config.h
rename to include/sway/old/config.h
diff --git a/include/sway/container.h b/include/sway/old/container.h
similarity index 100%
rename from include/sway/container.h
rename to include/sway/old/container.h
diff --git a/include/sway/criteria.h b/include/sway/old/criteria.h
similarity index 100%
rename from include/sway/criteria.h
rename to include/sway/old/criteria.h
diff --git a/include/sway/focus.h b/include/sway/old/focus.h
similarity index 100%
rename from include/sway/focus.h
rename to include/sway/old/focus.h
diff --git a/include/sway/input.h b/include/sway/old/input.h
similarity index 100%
rename from include/sway/input.h
rename to include/sway/old/input.h
diff --git a/include/sway/input_state.h b/include/sway/old/input_state.h
similarity index 100%
rename from include/sway/input_state.h
rename to include/sway/old/input_state.h
diff --git a/include/sway/ipc-json.h b/include/sway/old/ipc-json.h
similarity index 100%
rename from include/sway/ipc-json.h
rename to include/sway/old/ipc-json.h
diff --git a/include/sway/ipc-server.h b/include/sway/old/ipc-server.h
similarity index 89%
rename from include/sway/ipc-server.h
rename to include/sway/old/ipc-server.h
index 1d199134..0cc26d99 100644
--- a/include/sway/ipc-server.h
+++ b/include/sway/old/ipc-server.h
@@ -1,8 +1,5 @@
 #ifndef _SWAY_IPC_SERVER_H
 #define _SWAY_IPC_SERVER_H
-
-#include <wlc/wlc.h>
-
 #include "container.h"
 #include "config.h"
 #include "ipc.h"
@@ -33,9 +30,4 @@ void ipc_event_modifier(uint32_t modifier, const char *state);
 void ipc_event_binding_keyboard(struct sway_binding *sb);
 const char *swayc_type_string(enum swayc_types type);
 
-/**
- * Send pixel data to registered clients.
- */
-void ipc_get_pixels(wlc_handle output);
-
 #endif
diff --git a/include/sway/layout.h b/include/sway/old/layout.h
similarity index 100%
rename from include/sway/layout.h
rename to include/sway/old/layout.h
diff --git a/include/sway/old/output.h b/include/sway/old/output.h
new file mode 100644
index 00000000..2a222238
--- /dev/null
+++ b/include/sway/old/output.h
@@ -0,0 +1,36 @@
+#ifndef _SWAY_OUTPUT_H
+#define _SWAY_OUTPUT_H
+#include <time.h>
+#include <wayland-server.h>
+#include <wlr/types/wlr_output.h>
+#include "container.h"
+#include "focus.h"
+
+struct sway_server;
+
+struct sway_output {
+	struct wlr_output *wlr_output;
+	struct wl_listener frame;
+	struct sway_server *server;
+	struct timespec last_frame;
+};
+
+// Position is absolute coordinates on the edge where the adjacent output
+// should be searched for.
+swayc_t *output_by_name(const char* name, const struct wlc_point *abs_pos);
+swayc_t *swayc_opposite_output(enum movement_direction dir, const struct wlc_point *abs_pos);
+swayc_t *swayc_adjacent_output(swayc_t *output, enum movement_direction dir, const struct wlc_point *abs_pos, bool pick_closest);
+
+// Place absolute coordinates for given container into given wlc_point.
+void get_absolute_position(swayc_t *container, struct wlc_point *point);
+
+// Place absolute coordinates for the center point of given container into
+// given wlc_point.
+void get_absolute_center_position(swayc_t *container, struct wlc_point *point);
+
+// stable sort workspaces on this output
+void sort_workspaces(swayc_t *output);
+
+void output_get_scaled_size(wlc_handle handle, struct wlc_size *size);
+
+#endif
diff --git a/include/sway/workspace.h b/include/sway/old/workspace.h
similarity index 100%
rename from include/sway/workspace.h
rename to include/sway/old/workspace.h
diff --git a/include/sway/output.h b/include/sway/output.h
index 2a222238..ffc6708d 100644
--- a/include/sway/output.h
+++ b/include/sway/output.h
@@ -3,34 +3,14 @@
 #include <time.h>
 #include <wayland-server.h>
 #include <wlr/types/wlr_output.h>
-#include "container.h"
-#include "focus.h"
 
 struct sway_server;
 
 struct sway_output {
 	struct wlr_output *wlr_output;
-	struct wl_listener frame;
 	struct sway_server *server;
 	struct timespec last_frame;
+	struct wl_listener frame;
 };
 
-// Position is absolute coordinates on the edge where the adjacent output
-// should be searched for.
-swayc_t *output_by_name(const char* name, const struct wlc_point *abs_pos);
-swayc_t *swayc_opposite_output(enum movement_direction dir, const struct wlc_point *abs_pos);
-swayc_t *swayc_adjacent_output(swayc_t *output, enum movement_direction dir, const struct wlc_point *abs_pos, bool pick_closest);
-
-// Place absolute coordinates for given container into given wlc_point.
-void get_absolute_position(swayc_t *container, struct wlc_point *point);
-
-// Place absolute coordinates for the center point of given container into
-// given wlc_point.
-void get_absolute_center_position(swayc_t *container, struct wlc_point *point);
-
-// stable sort workspaces on this output
-void sort_workspaces(swayc_t *output);
-
-void output_get_scaled_size(wlc_handle handle, struct wlc_size *size);
-
 #endif
diff --git a/sway/CMakeLists.txt b/sway/CMakeLists.txt
index f9209189..73531a84 100644
--- a/sway/CMakeLists.txt
+++ b/sway/CMakeLists.txt
@@ -1,6 +1,5 @@
 include_directories(
 	${PROTOCOLS_INCLUDE_DIRS}
-	${WLC_INCLUDE_DIRS}
 	${WLR_INCLUDE_DIRS}
 	${PCRE_INCLUDE_DIRS}
 	${JSONC_INCLUDE_DIRS}
@@ -11,37 +10,12 @@ include_directories(
 	${WAYLAND_INCLUDE_DIR}
 )
 
-file(GLOB cmds
-	"commands/*.c"
-	"commands/bar/*.c"
-	"commands/input/*.c"
-)
-
 add_executable(sway
     desktop/output.c
     desktop/xdg_shell_v6.c
 
-	tree/container.c
-	tree/criteria.c
-	tree/focus.c
-	tree/output.c
-	tree/workspace.c
-	tree/layout.c
-
-	input/input.c
-
-	commands.c
-	${cmds}
-
 	base64.c
-	config.c
-	debug_log.c
-	input_state.c
-	ipc-json.c
-	ipc-server.c
 	main.c
-	border.c
-	security.c
     server.c
 )
 
@@ -53,7 +27,6 @@ target_link_libraries(sway
 	sway-common
 	sway-protocols
 	sway-wayland
-	${WLC_LIBRARIES}
 	${WLR_LIBRARIES}
 	${XKBCOMMON_LIBRARIES}
 	${PCRE_LIBRARIES}
diff --git a/sway/debug_log.c b/sway/debug_log.c
deleted file mode 100644
index d1eafae8..00000000
--- a/sway/debug_log.c
+++ /dev/null
@@ -1,103 +0,0 @@
-#include "log.h"
-#include "sway.h"
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <libgen.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <signal.h>
-#include <errno.h>
-#include <string.h>
-#include <stringop.h>
-#include "sway/workspace.h"
-
-/* XXX:DEBUG:XXX */
-static void container_log(const swayc_t *c, int depth) {
-	fprintf(stderr, "focus:%c",
-			c == get_focused_view(&root_container) ? 'K':
-			c == get_focused_container(&root_container) ? 'F' : // Focused
-			c == swayc_active_workspace() ? 'W' : // active workspace
-			c == &root_container  ? 'R' : // root
-			'X');// not any others
-	for (int i = 6; i > depth; i--) { fprintf(stderr, " "); }
-	fprintf(stderr,"|(%p)",c);
-	fprintf(stderr,"(p:%-8p)",c->parent);
-	fprintf(stderr,"(f:%-8p)",c->focused);
-	fprintf(stderr,"(h:%2" PRIuPTR ")",c->handle);
-	fprintf(stderr,"Type:%-4s|",
-			c->type == C_ROOT   ? "root" :
-			c->type == C_OUTPUT ? "op" :
-			c->type == C_WORKSPACE ? "ws" :
-			c->type == C_CONTAINER ? "cont" :
-			c->type == C_VIEW   ? "view" : "?");
-	fprintf(stderr,"layout:%-5s|",
-			c->layout == L_NONE ? "-" :
-			c->layout == L_HORIZ ? "Horiz":
-			c->layout == L_VERT ? "Vert":
-			c->layout == L_STACKED  ? "Stack":
-			c->layout == L_TABBED  ? "Tab":
-			c->layout == L_FLOATING ? "Float":
-			c->layout == L_AUTO_LEFT ? "A_lft":
-			c->layout == L_AUTO_RIGHT ? "A_rgt":
-			c->layout == L_AUTO_TOP ? "A_top":
-			c->layout == L_AUTO_BOTTOM ? "A_bot":
-			"Unknown");
-	fprintf(stderr, "w:%4.f|h:%4.f|", c->width, c->height);
-	fprintf(stderr, "x:%4.f|y:%4.f|", c->x, c->y);
-	fprintf(stderr, "g:%3d|",c->gaps);
-	fprintf(stderr, "vis:%c|", c->visible?'t':'f');
-	fprintf(stderr, "children:%2d|",c->children?c->children->length:0);
-	fprintf(stderr, "name:%.16s\n", c->name);
-}
-void layout_log(const swayc_t *c, int depth) {
-	if (L_DEBUG > get_log_level()) return;
-	int i, d;
-	int e = c->children ? c->children->length : 0;
-	container_log(c, depth);
-	if (e) {
-		for (i = 0; i < e; ++i) {
-			fputc('|',stderr);
-			for (d = 0; d < depth; ++d) fputc('-', stderr);
-			layout_log(c->children->items[i], depth + 1);
-		}
-	}
-	if (c->type == C_WORKSPACE) {
-		e = c->floating?c->floating->length:0;
-		if (e) {
-			for (i = 0; i < e; ++i) {
-				fputc('|',stderr);
-				for (d = 0; d < depth; ++d) fputc('=', stderr);
-				layout_log(c->floating->items[i], depth + 1);
-			}
-		}
-	}
-}
-
-const char *swayc_type_string(enum swayc_types type) {
-	return type == C_ROOT ? "ROOT" :
-		type == C_OUTPUT ? "OUTPUT" :
-		type == C_WORKSPACE ? "WORKSPACE" :
-		type == C_CONTAINER ? "CONTAINER" :
-		type == C_VIEW   ? "VIEW" :
-		"UNKNOWN";
-}
-
-// Like sway_log, but also appends some info about given container to log output.
-void swayc_log(log_importance_t verbosity, swayc_t *cont, const char* format, ...) {
-	sway_assert(cont, "swayc_log: no container ...");
-	va_list args;
-	va_start(args, format);
-	char *txt = malloc(128);
-	vsprintf(txt, format, args);
-	va_end(args);
-
-	char *debug_txt = malloc(32);
-	snprintf(debug_txt, 32, "%s '%s'", swayc_type_string(cont->type), cont->name);
-
-	sway_log(verbosity, "%s (%s)", txt, debug_txt);
-	free(txt);
-	free(debug_txt);
-}
-
-/* XXX:DEBUG:XXX */
diff --git a/sway/desktop/output.c b/sway/desktop/output.c
index 6d0bebc5..6ddcac3b 100644
--- a/sway/desktop/output.c
+++ b/sway/desktop/output.c
@@ -4,11 +4,9 @@
 #include <wayland-server.h>
 #include <wlr/types/wlr_output.h>
 #include <wlr/render.h>
-#include "sway/server.h"
-#include "sway/container.h"
-#include "sway/workspace.h"
-#include "sway/output.h"
 #include "log.h"
+#include "sway/output.h"
+#include "sway/server.h"
 
 static void output_frame_notify(struct wl_listener *listener, void *data) {
 	struct sway_output *soutput = wl_container_of(
@@ -37,19 +35,10 @@ void output_add_notify(struct wl_listener *listener, void *data) {
 	output->wlr_output = wlr_output;
 	output->server = server;
 
-	swayc_t *node = new_output(output);
-	if (!sway_assert(node, "Failed to allocate output")) {
-		return;
-	}
-
-	// Switch to workspace if we need to
-	if (swayc_active_workspace() == NULL) {
-		swayc_t *ws = node->children->items[0];
-		workspace_switch(ws);
-	}
-
 	output->frame.notify = output_frame_notify;
 	wl_signal_add(&wlr_output->events.frame, &output->frame);
+
+	// TODO: Add to tree
 }
 
 void output_remove_notify(struct wl_listener *listener, void *data) {
diff --git a/sway/desktop/xdg_shell_v6.c b/sway/desktop/xdg_shell_v6.c
index e29b46d7..04f3f42c 100644
--- a/sway/desktop/xdg_shell_v6.c
+++ b/sway/desktop/xdg_shell_v6.c
@@ -1,49 +1,10 @@
 #include <stdlib.h>
 #include <wayland-server.h>
 #include <wlr/types/wlr_xdg_shell_v6.h>
-#include "sway/commands.h"
-#include "sway/container.h"
-#include "sway/focus.h"
-#include "sway/ipc-server.h"
 #include "sway/server.h"
 #include "sway/view.h"
 #include "log.h"
 
-// TODO: move elsewhere
-static void temp_ws_cleanup() {
-	swayc_t *op, *ws;
-	int i = 0, j;
-	if (!root_container.children)
-		return;
-	while (i < root_container.children->length) {
-		op = root_container.children->items[i++];
-		if (!op->children)
-			continue;
-		j = 0;
-		while (j < op->children->length) {
-			ws = op->children->items[j++];
-			if (ws->children->length == 0 && ws->floating->length == 0 && ws != op->focused) {
-				if (destroy_workspace(ws)) {
-					j--;
-				}
-			}
-		}
-	}
-}
-
-// TODO: move elsewhere
-static swayc_t *move_focus_to_tiling(swayc_t *focused) {
-	if (focused->is_floating) {
-		if (focused->parent->children->length == 0) {
-			return focused->parent;
-		}
-		// TODO find a better way of doing this
-		// Or to focused container
-		return get_focused_container(focused->parent->children->items[0]);
-	}
-	return focused;
-}
-
 static const char *get_prop(struct sway_view *view, enum sway_view_prop prop) {
 	if (!sway_assert(view->type == SWAY_XDG_SHELL_V6_VIEW,
 				"xdg get_prop for non-xdg view!")) {
@@ -88,30 +49,10 @@ void handle_xdg_shell_v6_surface(struct wl_listener *listener, void *data) {
 	sway_surface->view = sway_view;
 	
 	// TODO:
-	// - Consolodate common logic between shells
+	// - Add to tree
 	// - Wire up listeners
 	// - Handle popups
 	// - Look up pid and open on appropriate workspace
 	// - Set new view to maximized so it behaves nicely
 	// - Criteria
-
-	suspend_workspace_cleanup = true;
-	//swayc_t *current_ws = swayc_active_workspace();
-	swayc_t *prev_focus = get_focused_container(&root_container);
-	swayc_t *focused = move_focus_to_tiling(prev_focus);
-
-	// TODO: fix new_view
-	swayc_t *view = new_view(focused, sway_view);
-	ipc_event_window(view, "new");
-	set_focused_container(view);
-
-	swayc_t *output = swayc_parent_by_type(view, C_OUTPUT);
-	arrange_windows(output, -1, -1);
-
-	swayc_t *workspace = swayc_parent_by_type(focused, C_WORKSPACE);
-	if (workspace && workspace->fullscreen) {
-		set_focused_container(workspace->fullscreen);
-	}
-	suspend_workspace_cleanup = false;
-	temp_ws_cleanup();
 }
diff --git a/sway/main.c b/sway/main.c
index 7d6f2873..5710a099 100644
--- a/sway/main.c
+++ b/sway/main.c
@@ -1,30 +1,24 @@
 #define _XOPEN_SOURCE 700
 #define _POSIX_C_SOURCE 200112L
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdbool.h>
-#include <sys/wait.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/un.h>
-#include <signal.h>
-#include <unistd.h>
 #include <getopt.h>
+#include <signal.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <sys/un.h>
+#include <unistd.h>
 #ifdef __linux__
 #include <sys/capability.h>
 #include <sys/prctl.h>
 #endif
-#include "sway/layout.h"
-#include "sway/config.h"
-#include "sway/security.h"
-#include "sway/handlers.h"
-#include "sway/input.h"
-#include "sway/ipc-server.h"
 #include "sway/server.h"
 #include "ipc-client.h"
 #include "readline.h"
 #include "stringop.h"
-#include "sway.h"
 #include "log.h"
 #include "util.h"
 
@@ -39,7 +33,7 @@ void sway_terminate(int exit_code) {
 }
 
 void sig_handler(int signal) {
-	close_views(&root_container);
+	//close_views(&root_container);
 	sway_terminate(EXIT_SUCCESS);
 }
 
@@ -442,17 +436,17 @@ int main(int argc, char **argv) {
 		return 1;
 	}
 
-	init_layout();
-	ipc_init();
+	//init_layout();
+	//ipc_init();
 
-	if (validate) {
-		bool valid = load_main_config(config_path, false);
-		return valid ? 0 : 1;
-	}
+	//if (validate) {
+	//	bool valid = load_main_config(config_path, false);
+	//	return valid ? 0 : 1;
+	//}
 
-	if (!load_main_config(config_path, false)) {
-		sway_terminate(EXIT_FAILURE);
-	}
+	//if (!load_main_config(config_path, false)) {
+	//	sway_terminate(EXIT_FAILURE);
+	//}
 
 	if (config_path) {
 		free(config_path);
@@ -466,11 +460,11 @@ int main(int argc, char **argv) {
 
 	server_fini(&server);
 
-	ipc_terminate();
+	//ipc_terminate();
 
-	if (config) {
-		free_config(config);
-	}
+	//if (config) {
+	//	free_config(config);
+	//}
 
 	return exit_value;
 }
diff --git a/sway/border.c b/sway/old/border.c
similarity index 100%
rename from sway/border.c
rename to sway/old/border.c
diff --git a/sway/commands.c b/sway/old/commands.c
similarity index 100%
rename from sway/commands.c
rename to sway/old/commands.c
diff --git a/sway/commands/assign.c b/sway/old/commands/assign.c
similarity index 100%
rename from sway/commands/assign.c
rename to sway/old/commands/assign.c
diff --git a/sway/commands/bar.c b/sway/old/commands/bar.c
similarity index 100%
rename from sway/commands/bar.c
rename to sway/old/commands/bar.c
diff --git a/sway/commands/bar/activate_button.c b/sway/old/commands/bar/activate_button.c
similarity index 100%
rename from sway/commands/bar/activate_button.c
rename to sway/old/commands/bar/activate_button.c
diff --git a/sway/commands/bar/binding_mode_indicator.c b/sway/old/commands/bar/binding_mode_indicator.c
similarity index 100%
rename from sway/commands/bar/binding_mode_indicator.c
rename to sway/old/commands/bar/binding_mode_indicator.c
diff --git a/sway/commands/bar/bindsym.c b/sway/old/commands/bar/bindsym.c
similarity index 100%
rename from sway/commands/bar/bindsym.c
rename to sway/old/commands/bar/bindsym.c
diff --git a/sway/commands/bar/colors.c b/sway/old/commands/bar/colors.c
similarity index 100%
rename from sway/commands/bar/colors.c
rename to sway/old/commands/bar/colors.c
diff --git a/sway/commands/bar/context_button.c b/sway/old/commands/bar/context_button.c
similarity index 100%
rename from sway/commands/bar/context_button.c
rename to sway/old/commands/bar/context_button.c
diff --git a/sway/commands/bar/font.c b/sway/old/commands/bar/font.c
similarity index 100%
rename from sway/commands/bar/font.c
rename to sway/old/commands/bar/font.c
diff --git a/sway/commands/bar/height.c b/sway/old/commands/bar/height.c
similarity index 100%
rename from sway/commands/bar/height.c
rename to sway/old/commands/bar/height.c
diff --git a/sway/commands/bar/hidden_state.c b/sway/old/commands/bar/hidden_state.c
similarity index 100%
rename from sway/commands/bar/hidden_state.c
rename to sway/old/commands/bar/hidden_state.c
diff --git a/sway/commands/bar/icon_theme.c b/sway/old/commands/bar/icon_theme.c
similarity index 100%
rename from sway/commands/bar/icon_theme.c
rename to sway/old/commands/bar/icon_theme.c
diff --git a/sway/commands/bar/id.c b/sway/old/commands/bar/id.c
similarity index 100%
rename from sway/commands/bar/id.c
rename to sway/old/commands/bar/id.c
diff --git a/sway/commands/bar/mode.c b/sway/old/commands/bar/mode.c
similarity index 100%
rename from sway/commands/bar/mode.c
rename to sway/old/commands/bar/mode.c
diff --git a/sway/commands/bar/modifier.c b/sway/old/commands/bar/modifier.c
similarity index 100%
rename from sway/commands/bar/modifier.c
rename to sway/old/commands/bar/modifier.c
diff --git a/sway/commands/bar/output.c b/sway/old/commands/bar/output.c
similarity index 100%
rename from sway/commands/bar/output.c
rename to sway/old/commands/bar/output.c
diff --git a/sway/commands/bar/pango_markup.c b/sway/old/commands/bar/pango_markup.c
similarity index 100%
rename from sway/commands/bar/pango_markup.c
rename to sway/old/commands/bar/pango_markup.c
diff --git a/sway/commands/bar/position.c b/sway/old/commands/bar/position.c
similarity index 100%
rename from sway/commands/bar/position.c
rename to sway/old/commands/bar/position.c
diff --git a/sway/commands/bar/secondary_button.c b/sway/old/commands/bar/secondary_button.c
similarity index 100%
rename from sway/commands/bar/secondary_button.c
rename to sway/old/commands/bar/secondary_button.c
diff --git a/sway/commands/bar/separator_symbol.c b/sway/old/commands/bar/separator_symbol.c
similarity index 100%
rename from sway/commands/bar/separator_symbol.c
rename to sway/old/commands/bar/separator_symbol.c
diff --git a/sway/commands/bar/status_command.c b/sway/old/commands/bar/status_command.c
similarity index 100%
rename from sway/commands/bar/status_command.c
rename to sway/old/commands/bar/status_command.c
diff --git a/sway/commands/bar/strip_workspace_numbers.c b/sway/old/commands/bar/strip_workspace_numbers.c
similarity index 100%
rename from sway/commands/bar/strip_workspace_numbers.c
rename to sway/old/commands/bar/strip_workspace_numbers.c
diff --git a/sway/commands/bar/swaybar_command.c b/sway/old/commands/bar/swaybar_command.c
similarity index 100%
rename from sway/commands/bar/swaybar_command.c
rename to sway/old/commands/bar/swaybar_command.c
diff --git a/sway/commands/bar/tray_output.c b/sway/old/commands/bar/tray_output.c
similarity index 100%
rename from sway/commands/bar/tray_output.c
rename to sway/old/commands/bar/tray_output.c
diff --git a/sway/commands/bar/tray_padding.c b/sway/old/commands/bar/tray_padding.c
similarity index 100%
rename from sway/commands/bar/tray_padding.c
rename to sway/old/commands/bar/tray_padding.c
diff --git a/sway/commands/bar/workspace_buttons.c b/sway/old/commands/bar/workspace_buttons.c
similarity index 100%
rename from sway/commands/bar/workspace_buttons.c
rename to sway/old/commands/bar/workspace_buttons.c
diff --git a/sway/commands/bar/wrap_scroll.c b/sway/old/commands/bar/wrap_scroll.c
similarity index 100%
rename from sway/commands/bar/wrap_scroll.c
rename to sway/old/commands/bar/wrap_scroll.c
diff --git a/sway/commands/bind.c b/sway/old/commands/bind.c
similarity index 100%
rename from sway/commands/bind.c
rename to sway/old/commands/bind.c
diff --git a/sway/commands/border.c b/sway/old/commands/border.c
similarity index 100%
rename from sway/commands/border.c
rename to sway/old/commands/border.c
diff --git a/sway/commands/client.c b/sway/old/commands/client.c
similarity index 100%
rename from sway/commands/client.c
rename to sway/old/commands/client.c
diff --git a/sway/commands/clipboard.c b/sway/old/commands/clipboard.c
similarity index 100%
rename from sway/commands/clipboard.c
rename to sway/old/commands/clipboard.c
diff --git a/sway/commands/commands.c b/sway/old/commands/commands.c
similarity index 100%
rename from sway/commands/commands.c
rename to sway/old/commands/commands.c
diff --git a/sway/commands/debuglog.c b/sway/old/commands/debuglog.c
similarity index 100%
rename from sway/commands/debuglog.c
rename to sway/old/commands/debuglog.c
diff --git a/sway/commands/default_border.c b/sway/old/commands/default_border.c
similarity index 100%
rename from sway/commands/default_border.c
rename to sway/old/commands/default_border.c
diff --git a/sway/commands/default_floating_border.c b/sway/old/commands/default_floating_border.c
similarity index 100%
rename from sway/commands/default_floating_border.c
rename to sway/old/commands/default_floating_border.c
diff --git a/sway/commands/exec.c b/sway/old/commands/exec.c
similarity index 100%
rename from sway/commands/exec.c
rename to sway/old/commands/exec.c
diff --git a/sway/commands/exec_always.c b/sway/old/commands/exec_always.c
similarity index 100%
rename from sway/commands/exec_always.c
rename to sway/old/commands/exec_always.c
diff --git a/sway/commands/exit.c b/sway/old/commands/exit.c
similarity index 100%
rename from sway/commands/exit.c
rename to sway/old/commands/exit.c
diff --git a/sway/commands/floating.c b/sway/old/commands/floating.c
similarity index 100%
rename from sway/commands/floating.c
rename to sway/old/commands/floating.c
diff --git a/sway/commands/floating_maximum_size.c b/sway/old/commands/floating_maximum_size.c
similarity index 100%
rename from sway/commands/floating_maximum_size.c
rename to sway/old/commands/floating_maximum_size.c
diff --git a/sway/commands/floating_minimum_size.c b/sway/old/commands/floating_minimum_size.c
similarity index 100%
rename from sway/commands/floating_minimum_size.c
rename to sway/old/commands/floating_minimum_size.c
diff --git a/sway/commands/floating_mod.c b/sway/old/commands/floating_mod.c
similarity index 100%
rename from sway/commands/floating_mod.c
rename to sway/old/commands/floating_mod.c
diff --git a/sway/commands/floating_scroll.c b/sway/old/commands/floating_scroll.c
similarity index 100%
rename from sway/commands/floating_scroll.c
rename to sway/old/commands/floating_scroll.c
diff --git a/sway/commands/focus.c b/sway/old/commands/focus.c
similarity index 100%
rename from sway/commands/focus.c
rename to sway/old/commands/focus.c
diff --git a/sway/commands/focus_follows_mouse.c b/sway/old/commands/focus_follows_mouse.c
similarity index 100%
rename from sway/commands/focus_follows_mouse.c
rename to sway/old/commands/focus_follows_mouse.c
diff --git a/sway/commands/font.c b/sway/old/commands/font.c
similarity index 100%
rename from sway/commands/font.c
rename to sway/old/commands/font.c
diff --git a/sway/commands/for_window.c b/sway/old/commands/for_window.c
similarity index 100%
rename from sway/commands/for_window.c
rename to sway/old/commands/for_window.c
diff --git a/sway/commands/force_focus_wrapping.c b/sway/old/commands/force_focus_wrapping.c
similarity index 100%
rename from sway/commands/force_focus_wrapping.c
rename to sway/old/commands/force_focus_wrapping.c
diff --git a/sway/commands/fullscreen.c b/sway/old/commands/fullscreen.c
similarity index 100%
rename from sway/commands/fullscreen.c
rename to sway/old/commands/fullscreen.c
diff --git a/sway/commands/gaps.c b/sway/old/commands/gaps.c
similarity index 100%
rename from sway/commands/gaps.c
rename to sway/old/commands/gaps.c
diff --git a/sway/commands/hide_edge_borders.c b/sway/old/commands/hide_edge_borders.c
similarity index 100%
rename from sway/commands/hide_edge_borders.c
rename to sway/old/commands/hide_edge_borders.c
diff --git a/sway/commands/include.c b/sway/old/commands/include.c
similarity index 100%
rename from sway/commands/include.c
rename to sway/old/commands/include.c
diff --git a/sway/commands/input.c b/sway/old/commands/input.c
similarity index 100%
rename from sway/commands/input.c
rename to sway/old/commands/input.c
diff --git a/sway/commands/input/accel_profile.c b/sway/old/commands/input/accel_profile.c
similarity index 100%
rename from sway/commands/input/accel_profile.c
rename to sway/old/commands/input/accel_profile.c
diff --git a/sway/commands/input/click_method.c b/sway/old/commands/input/click_method.c
similarity index 100%
rename from sway/commands/input/click_method.c
rename to sway/old/commands/input/click_method.c
diff --git a/sway/commands/input/drag_lock.c b/sway/old/commands/input/drag_lock.c
similarity index 100%
rename from sway/commands/input/drag_lock.c
rename to sway/old/commands/input/drag_lock.c
diff --git a/sway/commands/input/dwt.c b/sway/old/commands/input/dwt.c
similarity index 100%
rename from sway/commands/input/dwt.c
rename to sway/old/commands/input/dwt.c
diff --git a/sway/commands/input/events.c b/sway/old/commands/input/events.c
similarity index 100%
rename from sway/commands/input/events.c
rename to sway/old/commands/input/events.c
diff --git a/sway/commands/input/left_handed.c b/sway/old/commands/input/left_handed.c
similarity index 100%
rename from sway/commands/input/left_handed.c
rename to sway/old/commands/input/left_handed.c
diff --git a/sway/commands/input/middle_emulation.c b/sway/old/commands/input/middle_emulation.c
similarity index 100%
rename from sway/commands/input/middle_emulation.c
rename to sway/old/commands/input/middle_emulation.c
diff --git a/sway/commands/input/natural_scroll.c b/sway/old/commands/input/natural_scroll.c
similarity index 100%
rename from sway/commands/input/natural_scroll.c
rename to sway/old/commands/input/natural_scroll.c
diff --git a/sway/commands/input/pointer_accel.c b/sway/old/commands/input/pointer_accel.c
similarity index 100%
rename from sway/commands/input/pointer_accel.c
rename to sway/old/commands/input/pointer_accel.c
diff --git a/sway/commands/input/scroll_method.c b/sway/old/commands/input/scroll_method.c
similarity index 100%
rename from sway/commands/input/scroll_method.c
rename to sway/old/commands/input/scroll_method.c
diff --git a/sway/commands/input/tap.c b/sway/old/commands/input/tap.c
similarity index 100%
rename from sway/commands/input/tap.c
rename to sway/old/commands/input/tap.c
diff --git a/sway/commands/ipc.c b/sway/old/commands/ipc.c
similarity index 100%
rename from sway/commands/ipc.c
rename to sway/old/commands/ipc.c
diff --git a/sway/commands/kill.c b/sway/old/commands/kill.c
similarity index 100%
rename from sway/commands/kill.c
rename to sway/old/commands/kill.c
diff --git a/sway/commands/layout.c b/sway/old/commands/layout.c
similarity index 100%
rename from sway/commands/layout.c
rename to sway/old/commands/layout.c
diff --git a/sway/commands/log_colors.c b/sway/old/commands/log_colors.c
similarity index 100%
rename from sway/commands/log_colors.c
rename to sway/old/commands/log_colors.c
diff --git a/sway/commands/mark.c b/sway/old/commands/mark.c
similarity index 100%
rename from sway/commands/mark.c
rename to sway/old/commands/mark.c
diff --git a/sway/commands/mode.c b/sway/old/commands/mode.c
similarity index 100%
rename from sway/commands/mode.c
rename to sway/old/commands/mode.c
diff --git a/sway/commands/mouse_warping.c b/sway/old/commands/mouse_warping.c
similarity index 100%
rename from sway/commands/mouse_warping.c
rename to sway/old/commands/mouse_warping.c
diff --git a/sway/commands/move.c b/sway/old/commands/move.c
similarity index 100%
rename from sway/commands/move.c
rename to sway/old/commands/move.c
diff --git a/sway/commands/new_float.c b/sway/old/commands/new_float.c
similarity index 100%
rename from sway/commands/new_float.c
rename to sway/old/commands/new_float.c
diff --git a/sway/commands/new_window.c b/sway/old/commands/new_window.c
similarity index 100%
rename from sway/commands/new_window.c
rename to sway/old/commands/new_window.c
diff --git a/sway/commands/no_focus.c b/sway/old/commands/no_focus.c
similarity index 100%
rename from sway/commands/no_focus.c
rename to sway/old/commands/no_focus.c
diff --git a/sway/commands/orientation.c b/sway/old/commands/orientation.c
similarity index 100%
rename from sway/commands/orientation.c
rename to sway/old/commands/orientation.c
diff --git a/sway/commands/output.c b/sway/old/commands/output.c
similarity index 100%
rename from sway/commands/output.c
rename to sway/old/commands/output.c
diff --git a/sway/commands/permit.c b/sway/old/commands/permit.c
similarity index 100%
rename from sway/commands/permit.c
rename to sway/old/commands/permit.c
diff --git a/sway/commands/reload.c b/sway/old/commands/reload.c
similarity index 100%
rename from sway/commands/reload.c
rename to sway/old/commands/reload.c
diff --git a/sway/commands/resize.c b/sway/old/commands/resize.c
similarity index 100%
rename from sway/commands/resize.c
rename to sway/old/commands/resize.c
diff --git a/sway/commands/scratchpad.c b/sway/old/commands/scratchpad.c
similarity index 100%
rename from sway/commands/scratchpad.c
rename to sway/old/commands/scratchpad.c
diff --git a/sway/commands/seamless_mouse.c b/sway/old/commands/seamless_mouse.c
similarity index 100%
rename from sway/commands/seamless_mouse.c
rename to sway/old/commands/seamless_mouse.c
diff --git a/sway/commands/set.c b/sway/old/commands/set.c
similarity index 100%
rename from sway/commands/set.c
rename to sway/old/commands/set.c
diff --git a/sway/commands/show_marks.c b/sway/old/commands/show_marks.c
similarity index 100%
rename from sway/commands/show_marks.c
rename to sway/old/commands/show_marks.c
diff --git a/sway/commands/smart_gaps.c b/sway/old/commands/smart_gaps.c
similarity index 100%
rename from sway/commands/smart_gaps.c
rename to sway/old/commands/smart_gaps.c
diff --git a/sway/commands/split.c b/sway/old/commands/split.c
similarity index 100%
rename from sway/commands/split.c
rename to sway/old/commands/split.c
diff --git a/sway/commands/sticky.c b/sway/old/commands/sticky.c
similarity index 100%
rename from sway/commands/sticky.c
rename to sway/old/commands/sticky.c
diff --git a/sway/commands/unmark.c b/sway/old/commands/unmark.c
similarity index 100%
rename from sway/commands/unmark.c
rename to sway/old/commands/unmark.c
diff --git a/sway/commands/workspace.c b/sway/old/commands/workspace.c
similarity index 100%
rename from sway/commands/workspace.c
rename to sway/old/commands/workspace.c
diff --git a/sway/commands/workspace_auto_back_and_forth.c b/sway/old/commands/workspace_auto_back_and_forth.c
similarity index 100%
rename from sway/commands/workspace_auto_back_and_forth.c
rename to sway/old/commands/workspace_auto_back_and_forth.c
diff --git a/sway/commands/workspace_layout.c b/sway/old/commands/workspace_layout.c
similarity index 100%
rename from sway/commands/workspace_layout.c
rename to sway/old/commands/workspace_layout.c
diff --git a/sway/config.c b/sway/old/config.c
similarity index 88%
rename from sway/config.c
rename to sway/old/config.c
index aa40c49a..d14653e3 100644
--- a/sway/config.c
+++ b/sway/old/config.c
@@ -998,6 +998,7 @@ static void invoke_swaybar(struct bar_config *bar) {
 }
 
 static void terminate_swaybar(pid_t pid) {
+	return; // TODO WLR
 	int ret = kill(pid, SIGTERM);
 	if (ret != 0) {
 		sway_log(L_ERROR, "Unable to terminate swaybar [pid: %d]", pid);
@@ -1066,143 +1067,6 @@ void load_swaybars() {
 	list_free(bars);
 }
 
-void apply_input_config(struct input_config *ic, struct libinput_device *dev) {
-	if (!ic) {
-		return;
-	}
-
-	sway_log(L_DEBUG, "apply_input_config(%s)", ic->identifier);
-
-	if (ic->accel_profile != INT_MIN) {
-		sway_log(L_DEBUG, "apply_input_config(%s) accel_set_profile(%d)", ic->identifier, ic->accel_profile);
-		libinput_device_config_accel_set_profile(dev, ic->accel_profile);
-	}
-	if (ic->click_method != INT_MIN) {
-		sway_log(L_DEBUG, "apply_input_config(%s) click_set_method(%d)", ic->identifier, ic->click_method);
-		libinput_device_config_click_set_method(dev, ic->click_method);
-	}
-	if (ic->drag_lock != INT_MIN) {
-		sway_log(L_DEBUG, "apply_input_config(%s) tap_set_drag_lock_enabled(%d)", ic->identifier, ic->click_method);
-		libinput_device_config_tap_set_drag_lock_enabled(dev, ic->drag_lock);
-	}
-	if (ic->dwt != INT_MIN) {
-		sway_log(L_DEBUG, "apply_input_config(%s) dwt_set_enabled(%d)", ic->identifier, ic->dwt);
-		libinput_device_config_dwt_set_enabled(dev, ic->dwt);
-	}
-	if (ic->left_handed != INT_MIN) {
-		sway_log(L_DEBUG, "apply_input_config(%s) left_handed_set_enabled(%d)", ic->identifier, ic->left_handed);
-		libinput_device_config_left_handed_set(dev, ic->left_handed);
-	}
-	if (ic->middle_emulation != INT_MIN) {
-		sway_log(L_DEBUG, "apply_input_config(%s) middle_emulation_set_enabled(%d)", ic->identifier, ic->middle_emulation);
-		libinput_device_config_middle_emulation_set_enabled(dev, ic->middle_emulation);
-	}
-	if (ic->natural_scroll != INT_MIN) {
-		sway_log(L_DEBUG, "apply_input_config(%s) natural_scroll_set_enabled(%d)", ic->identifier, ic->natural_scroll);
-		libinput_device_config_scroll_set_natural_scroll_enabled(dev, ic->natural_scroll);
-	}
-	if (ic->pointer_accel != FLT_MIN) {
-		sway_log(L_DEBUG, "apply_input_config(%s) accel_set_speed(%f)", ic->identifier, ic->pointer_accel);
-		libinput_device_config_accel_set_speed(dev, ic->pointer_accel);
-	}
-	if (ic->scroll_method != INT_MIN) {
-		sway_log(L_DEBUG, "apply_input_config(%s) scroll_set_method(%d)", ic->identifier, ic->scroll_method);
-		libinput_device_config_scroll_set_method(dev, ic->scroll_method);
-	}
-	if (ic->send_events != INT_MIN) {
-		sway_log(L_DEBUG, "apply_input_config(%s) send_events_set_mode(%d)", ic->identifier, ic->send_events);
-		libinput_device_config_send_events_set_mode(dev, ic->send_events);
-	}
-	if (ic->tap != INT_MIN) {
-		sway_log(L_DEBUG, "apply_input_config(%s) tap_set_enabled(%d)", ic->identifier, ic->tap);
-		libinput_device_config_tap_set_enabled(dev, ic->tap);
-	}
-}
-
-void apply_output_config(struct output_config *oc, swayc_t *output) {
-	if (oc && oc->enabled == 0) {
-		destroy_output(output);
-		return;
-	}
-
-	if (oc && oc->width > 0 && oc->height > 0) {
-		output->width = oc->width;
-		output->height = oc->height;
-
-		sway_log(L_DEBUG, "Set %s size to %ix%i (%d)", oc->name, oc->width, oc->height, oc->scale);
-		// TODO WLR: modes
-		//struct wlc_size new_size = { .w = oc->width, .h = oc->height };
-		//wlc_output_set_resolution(output->handle, &new_size, (uint32_t)oc->scale);
-	} else if (oc) {
-		//const struct wlc_size *new_size = wlc_output_get_resolution(output->handle);
-		//wlc_output_set_resolution(output->handle, new_size, (uint32_t)oc->scale);
-	}
-
-	// TODO WLR: wlr_output_layout
-	// Find position for it
-	if (oc && oc->x != -1 && oc->y != -1) {
-		sway_log(L_DEBUG, "Set %s position to %d, %d", oc->name, oc->x, oc->y);
-		output->x = oc->x;
-		output->y = oc->y;
-	} else {
-		int x = 0;
-		for (int i = 0; i < root_container.children->length; ++i) {
-			swayc_t *c = root_container.children->items[i];
-			if (c->type == C_OUTPUT) {
-				if (c->width + c->x > x) {
-					x = c->width + c->x;
-				}
-			}
-		}
-		output->x = x;
-	}
-
-	if (!oc || !oc->background) {
-		// Look for a * config for background
-		int i = list_seq_find(config->output_configs, output_name_cmp, "*");
-		if (i >= 0) {
-			oc = config->output_configs->items[i];
-		} else {
-			oc = NULL;
-		}
-	}
-
-	int output_i;
-	for (output_i = 0; output_i < root_container.children->length; ++output_i) {
-		if (root_container.children->items[output_i] == output) {
-			break;
-		}
-	}
-
-	/* TODO WLR
-	if (oc && oc->background) {
-		if (output->bg_pid != 0) {
-			terminate_swaybg(output->bg_pid);
-		}
-
-		sway_log(L_DEBUG, "Setting background for output %d to %s", output_i, oc->background);
-
-		size_t bufsize = 12;
-		char output_id[bufsize];
-		snprintf(output_id, bufsize, "%d", output_i);
-		output_id[bufsize-1] = 0;
-
-		char *const cmd[] = {
-			"swaybg",
-			output_id,
-			oc->background,
-			oc->background_option,
-			NULL,
-		};
-
-		output->bg_pid = fork();
-		if (output->bg_pid == 0) {
-			execvp(cmd[0], cmd);
-		}
-	}
-	*/
-}
-
 char *do_var_replacement(char *str) {
 	int i;
 	char *find = str;
diff --git a/sway/tree/container.c b/sway/old/container.c
similarity index 100%
rename from sway/tree/container.c
rename to sway/old/container.c
diff --git a/sway/tree/criteria.c b/sway/old/criteria.c
similarity index 100%
rename from sway/tree/criteria.c
rename to sway/old/criteria.c
diff --git a/sway/tree/focus.c b/sway/old/focus.c
similarity index 100%
rename from sway/tree/focus.c
rename to sway/old/focus.c
diff --git a/sway/handlers.c b/sway/old/handlers.c
similarity index 100%
rename from sway/handlers.c
rename to sway/old/handlers.c
diff --git a/sway/input_state.c b/sway/old/input_state.c
similarity index 100%
rename from sway/input_state.c
rename to sway/old/input_state.c
diff --git a/sway/ipc-json.c b/sway/old/ipc-json.c
similarity index 100%
rename from sway/ipc-json.c
rename to sway/old/ipc-json.c
diff --git a/sway/ipc-server.c b/sway/old/ipc-server.c
similarity index 99%
rename from sway/ipc-server.c
rename to sway/old/ipc-server.c
index d4db4e7a..fd64e81b 100644
--- a/sway/ipc-server.c
+++ b/sway/old/ipc-server.c
@@ -1,10 +1,8 @@
 // See https://i3wm.org/docs/ipc.html for protocol information
-
 #ifndef __FreeBSD__
 // Any value will hide SOCK_CLOEXEC on FreeBSD (__BSD_VISIBLE=0)
 #define _XOPEN_SOURCE 700
 #endif
-
 #include <errno.h>
 #include <string.h>
 #include <sys/socket.h>
@@ -56,8 +54,6 @@ struct ipc_client {
 	char *write_buffer;
 };
 
-static list_t *ipc_get_pixel_requests = NULL;
-
 struct sockaddr_un *ipc_user_sockaddr(void);
 int ipc_handle_connection(int fd, uint32_t mask, void *data);
 int ipc_client_handle_readable(int client_fd, uint32_t mask, void *data);
@@ -97,7 +93,6 @@ void ipc_init(void) {
 	setenv("SWAYSOCK", ipc_sockaddr->sun_path, 1);
 
 	ipc_client_list = create_list();
-	ipc_get_pixel_requests = create_list();
 
 	ipc_event_source = wl_event_loop_add_fd(server.wl_event_loop, ipc_socket,
 			WL_EVENT_READABLE, ipc_handle_connection, NULL);
diff --git a/sway/tree/layout.c b/sway/old/layout.c
similarity index 100%
rename from sway/tree/layout.c
rename to sway/old/layout.c
diff --git a/sway/tree/output.c b/sway/old/output.c
similarity index 100%
rename from sway/tree/output.c
rename to sway/old/output.c
diff --git a/sway/security.c b/sway/old/security.c
similarity index 100%
rename from sway/security.c
rename to sway/old/security.c
diff --git a/sway/tree/workspace.c b/sway/old/workspace.c
similarity index 100%
rename from sway/tree/workspace.c
rename to sway/old/workspace.c
diff --git a/sway/server.c b/sway/server.c
index 940f28b3..8892b917 100644
--- a/sway/server.c
+++ b/sway/server.c
@@ -10,7 +10,6 @@
 // TODO WLR: make Xwayland optional
 #include <wlr/xwayland.h>
 #include "sway/server.h"
-#include "sway/input.h"
 #include "log.h"
 
 bool server_init(struct sway_server *server) {
@@ -23,7 +22,6 @@ bool server_init(struct sway_server *server) {
 	server->renderer = wlr_gles2_renderer_create(server->backend);
 	wl_display_init_shm(server->wl_display);
 
-	server->input = sway_input_create(server);
 	server->data_device_manager =
 		wlr_data_device_manager_create(server->wl_display);