]> git.sur5r.net Git - i3/i3/commitdiff
Move switch_mode to bindings.[ch]
authorTony Crisci <tony@dubstepdish.com>
Mon, 14 Apr 2014 18:52:56 +0000 (14:52 -0400)
committerMichael Stapelberg <michael@stapelberg.de>
Tue, 15 Apr 2014 15:46:59 +0000 (17:46 +0200)
include/bindings.h
include/config.h
src/bindings.c
src/config.c

index 265320245126261bef24c03f363e46317d42bcb8..d309790278b8af3f1240e79d10952c203f80757c 100644 (file)
@@ -42,3 +42,9 @@ Binding *get_keyboard_binding(uint16_t modifiers, bool key_release, xcb_keycode_
  *
  */
 void translate_keysyms(void);
+
+/**
+ * Switches the key bindings to the given mode, if the mode exists
+ *
+ */
+void switch_mode(const char *new_mode);
index 0c3e25db2214fea50b2a75db208a3235de5ab056..0bd68b9a5e4df75f1cb5dfb93b9c05c13f0979dc 100644 (file)
@@ -315,12 +315,6 @@ void load_configuration(xcb_connection_t *conn, const char *override_configfile,
  */
 void ungrab_all_keys(xcb_connection_t *conn);
 
-/**
- * Switches the key bindings to the given mode, if the mode exists
- *
- */
-void switch_mode(const char *new_mode);
-
 /**
  * Sends the current bar configuration as an event to all barconfig_update listeners.
  * This update mechnism currently only includes the hidden_state and the mode in the config.
index 5dfe54728c9b82242fe0ba4ca48d1bea24e23946..c3e9c1b28ad91686e36a20d2874c2f8d23f27957 100644 (file)
@@ -229,3 +229,33 @@ void translate_keysyms(void) {
              bind->number_keycodes);
     }
 }
+
+/*
+ * Switches the key bindings to the given mode, if the mode exists
+ *
+ */
+void switch_mode(const char *new_mode) {
+    struct Mode *mode;
+
+    DLOG("Switching to mode %s\n", new_mode);
+
+    SLIST_FOREACH(mode, &modes, modes) {
+        if (strcasecmp(mode->name, new_mode) != 0)
+            continue;
+
+        ungrab_all_keys(conn);
+        bindings = mode->bindings;
+        translate_keysyms();
+        grab_all_keys(conn, false);
+
+        char *event_msg;
+        sasprintf(&event_msg, "{\"change\":\"%s\"}", mode->name);
+
+        ipc_send_event("mode", I3_IPC_EVENT_MODE, event_msg);
+        FREE(event_msg);
+
+        return;
+    }
+
+    ELOG("ERROR: Mode not found\n");
+}
index a8e66314fbba2eff3e4c912dedb3a254a07df70e..0f06511f986aeadadbd31f4f0b7d5be719429d19 100644 (file)
@@ -30,36 +30,6 @@ void ungrab_all_keys(xcb_connection_t *conn) {
     xcb_ungrab_key(conn, XCB_GRAB_ANY, root, XCB_BUTTON_MASK_ANY);
 }
 
-/*
- * Switches the key bindings to the given mode, if the mode exists
- *
- */
-void switch_mode(const char *new_mode) {
-    struct Mode *mode;
-
-    LOG("Switching to mode %s\n", new_mode);
-
-    SLIST_FOREACH(mode, &modes, modes) {
-        if (strcasecmp(mode->name, new_mode) != 0)
-            continue;
-
-        ungrab_all_keys(conn);
-        bindings = mode->bindings;
-        translate_keysyms();
-        grab_all_keys(conn, false);
-
-        char *event_msg;
-        sasprintf(&event_msg, "{\"change\":\"%s\"}", mode->name);
-
-        ipc_send_event("mode", I3_IPC_EVENT_MODE, event_msg);
-        FREE(event_msg);
-
-        return;
-    }
-
-    ELOG("ERROR: Mode not found\n");
-}
-
 /*
  * Sends the current bar configuration as an event to all barconfig_update listeners.
  * This update mechnism currently only includes the hidden_state and the mode in the config.