]> git.sur5r.net Git - i3/i3/blobdiff - include/config.h
Merge branch 'master' into next
[i3/i3] / include / config.h
index bff8e63994b752b60dd895e1651a2ba69f14d26e..b0f22417ab038715812c1c537ab43576909e7a02 100644 (file)
@@ -10,8 +10,7 @@
  * bindings mode).
  *
  */
-#ifndef I3_CONFIG_H
-#define I3_CONFIG_H
+#pragma once
 
 #include <stdbool.h>
 #include "queue.h"
@@ -99,6 +98,7 @@ struct Config {
     int container_stack_limit;
     int container_stack_limit_value;
     int default_border_width;
+    int default_floating_border_width;
 
     /** Default orientation for new containers */
     int default_orientation;
@@ -109,6 +109,16 @@ struct Config {
      * It is not planned to add any different focus models. */
     bool disable_focus_follows_mouse;
 
+    /** By default, when switching focus to a window on a different output
+     * (e.g. focusing a window on workspace 3 on output VGA-1, coming from
+     * workspace 2 on LVDS-1), the mouse cursor is warped to the center of
+     * that window.
+     *
+     * With the mouse_warping option, you can control when the mouse cursor
+     * should be warped. "none" disables warping entirely, whereas "output"
+     * is the default behavior described above. */
+    warping_t mouse_warping;
+
     /** Remove borders if they are adjacent to the screen edge.
      * This is useful if you are reaching scrollbar on the edge of the
      * screen or do not want to waste a single pixel of displayspace.
@@ -231,10 +241,13 @@ struct Barconfig {
     char *socket_path;
 
     /** Bar display mode (hide unless modifier is pressed or show in dock mode or always hide in invisible mode) */
-    enum { M_DOCK = 0, M_HIDE = 1, M_INVISIBLE = 2 } mode;
+    enum { M_DOCK = 0,
+           M_HIDE = 1,
+           M_INVISIBLE = 2 } mode;
 
     /* The current hidden_state of the bar, which indicates whether it is hidden or shown */
-    enum { S_HIDE = 0, S_SHOW = 1 } hidden_state;
+    enum { S_HIDE = 0,
+           S_SHOW = 1 } hidden_state;
 
     /** Bar modifier (to show bar when in hide mode). */
     enum {
@@ -248,8 +261,17 @@ struct Barconfig {
         M_MOD5 = 7
     } modifier;
 
+    /** Command that should be run when mouse wheel up button is pressed over
+     * i3bar to override the default behavior. */
+    char *wheel_up_cmd;
+
+    /** Command that should be run when mouse wheel down button is pressed over
+     * i3bar to override the default behavior. */
+    char *wheel_down_cmd;
+
     /** Bar position (bottom by default). */
-    enum { P_BOTTOM = 0, P_TOP = 1 } position;
+    enum { P_BOTTOM = 0,
+           P_TOP = 1 } position;
 
     /** Command that should be run to execute i3bar, give a full path if i3bar is not
      * in your $PATH.
@@ -268,6 +290,10 @@ struct Barconfig {
      * zero. */
     bool hide_workspace_buttons;
 
+    /** Strip workspace numbers? Configuration option is
+     * 'strip_workspace_numbers yes'. */
+    bool strip_workspace_numbers;
+
     /** Hide mode button? Configuration option is 'binding_mode_indicator no'
      * but we invert the bool for the same reason as hide_workspace_buttons.*/
     bool hide_binding_mode_indicator;
@@ -309,12 +335,6 @@ struct Barconfig {
  */
 void load_configuration(xcb_connection_t *conn, const char *override_configfile, bool reload);
 
-/**
- * Translates keysymbols to keycodes for all bindings which use keysyms.
- *
- */
-void translate_keysyms(void);
-
 /**
  * Ungrabs all keys, to be called before re-grabbing the keys because of a
  * mapping_notify event or a configuration file reload
@@ -322,30 +342,11 @@ void translate_keysyms(void);
  */
 void ungrab_all_keys(xcb_connection_t *conn);
 
-/**
- * Grab the bound keys (tell X to send us keypress events for those keycodes)
- *
- */
-void grab_all_keys(xcb_connection_t *conn, bool bind_mode_switch);
-
-/**
- * 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.
- *
- */void update_barconfig();
-
-/**
- * Returns a pointer to the Binding with the specified modifiers and keycode
- * or NULL if no such binding exists.
  *
  */
-Binding *get_binding(uint16_t modifiers, bool key_release, xcb_keycode_t keycode);
+void update_barconfig();
 
 /**
  * Kills the configerror i3-nagbar process, if any.
@@ -357,5 +358,3 @@ Binding *get_binding(uint16_t modifiers, bool key_release, xcb_keycode_t keycode
  *
  */
 void kill_configerror_nagbar(bool wait_for_it);
-
-#endif