1 /* Copyright (c) 2012, Bastien Dejean 2 * All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are met: 6 * 7 * 1. Redistributions of source code must retain the above copyright notice, this 8 * list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright notice, 10 * this list of conditions and the following disclaimer in the documentation 11 * and/or other materials provided with the distribution. 12 * 13 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 14 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 17 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 18 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 19 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 20 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 22 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 */ 24 25 #ifndef BSPWM_SETTINGS_H 26 #define BSPWM_SETTINGS_H 27 28 #include "types.h" 29 30 #define POINTER_MODIFIER XCB_MOD_MASK_4 31 #define POINTER_MOTION_INTERVAL 17 32 #define EXTERNAL_RULES_COMMAND "" 33 #define STATUS_PREFIX "W" 34 35 #define NORMAL_BORDER_COLOR "#30302f" 36 #define ACTIVE_BORDER_COLOR "#474645" 37 #define FOCUSED_BORDER_COLOR "#817f7f" 38 #define PRESEL_FEEDBACK_COLOR "#f4d775" 39 40 #define PADDING {0, 0, 0, 0} 41 #define MONOCLE_PADDING {0, 0, 0, 0} 42 #define WINDOW_GAP 6 43 #define BORDER_WIDTH 1 44 #define SPLIT_RATIO 0.5 45 #define AUTOMATIC_SCHEME SCHEME_LONGEST_SIDE 46 #define REMOVAL_ADJUSTMENT true 47 48 #define PRESEL_FEEDBACK true 49 #define BORDERLESS_MONOCLE false 50 #define GAPLESS_MONOCLE false 51 #define SINGLE_MONOCLE false 52 53 #define FOCUS_FOLLOWS_POINTER false 54 #define POINTER_FOLLOWS_FOCUS false 55 #define POINTER_FOLLOWS_MONITOR false 56 #define CLICK_TO_FOCUS XCB_BUTTON_INDEX_1 57 #define SWALLOW_FIRST_CLICK false 58 #define IGNORE_EWMH_FOCUS false 59 #define IGNORE_EWMH_FULLSCREEN 0 60 #define IGNORE_EWMH_STRUTS false 61 62 #define CENTER_PSEUDO_TILED true 63 #define HONOR_SIZE_HINTS false 64 #define MAPPING_EVENTS_COUNT 1 65 66 #define REMOVE_DISABLED_MONITORS false 67 #define REMOVE_UNPLUGGED_MONITORS false 68 #define MERGE_OVERLAPPING_MONITORS false 69 70 extern char external_rules_command[MAXLEN]; 71 extern char status_prefix[MAXLEN]; 72 73 extern char normal_border_color[MAXLEN]; 74 extern char active_border_color[MAXLEN]; 75 extern char focused_border_color[MAXLEN]; 76 extern char presel_feedback_color[MAXLEN]; 77 78 extern padding_t padding; 79 extern padding_t monocle_padding; 80 extern int window_gap; 81 extern unsigned int border_width; 82 extern double split_ratio; 83 extern child_polarity_t initial_polarity; 84 extern automatic_scheme_t automatic_scheme; 85 extern bool removal_adjustment; 86 extern tightness_t directional_focus_tightness; 87 88 extern uint16_t pointer_modifier; 89 extern uint32_t pointer_motion_interval; 90 extern pointer_action_t pointer_actions[3]; 91 extern int8_t mapping_events_count; 92 93 extern bool presel_feedback; 94 extern bool borderless_monocle; 95 extern bool gapless_monocle; 96 extern bool single_monocle; 97 98 extern bool focus_follows_pointer; 99 extern bool pointer_follows_focus; 100 extern bool pointer_follows_monitor; 101 extern int8_t click_to_focus; 102 extern bool swallow_first_click; 103 extern bool ignore_ewmh_focus; 104 extern bool ignore_ewmh_struts; 105 extern state_transition_t ignore_ewmh_fullscreen; 106 107 extern bool center_pseudo_tiled; 108 extern bool honor_size_hints; 109 110 extern bool remove_disabled_monitors; 111 extern bool remove_unplugged_monitors; 112 extern bool merge_overlapping_monitors; 113 114 void run_config(int run_level); 115 void load_settings(void); 116 117 #endif 118