diff --git a/buildconf b/buildconf index 5883691..2308e3f 100755 --- a/buildconf +++ b/buildconf @@ -1,24 +1,27 @@ -# buildconf +# spmenu buildconf +# See LICENSE file for copyright and license details. # # This is the default configuration used to build spmenu. The build.sh script reads it. -imlib2=true -pango=true -pangoxft=true -xinerama=true -openssl=true -fribidi=true -libconfig=true -cc=gcc -opt=-O2 -warn=true -install=true -# mac +# basic options +imlib2=true # enable imlib2, used for images. you must also enable openssl if this is set to true +pango=true # enable pango, for markup +pangoxft=true # enable pangoxft, for markup +xinerama=true # enable multi monitor support +openssl=true # enable support for openssl, used to calculate MD5 +fribidi=true # enable support for right to left languages +libconfig=true # enable configuration and themes +cc=gcc # compiler and linker +opt=-O2 # level of optimization +warn=true # warn about OS quirks +install=true # automatically install, if set to false an install will not be performed + +# macOS/OS X/Mac OS X if [ -d "/System/Library/Extensions" ]; then - imlib2=false - pango=false - pangoxft=false - openssl=false - prefix=/usr/local - makebin=gnumake + imlib2=false # currently unsupported on mac due to the use of pkg-config + pango=false # currently unsupported on mac due to the use of pkg-config + pangoxft=false # currently unsupported on mac due to the use of pkg-config + openssl=false # currently unsupported on mac due to the use of pkg-config + prefix=/usr/local # as of 10.15 catalina we can no longer write to /usr/bin and /usr/share + makebin=gnumake # on mac, the binary for GNU make is gnumake fi diff --git a/libs/conf/config.h b/libs/conf/config.h index a6f1316..c602def 100644 --- a/libs/conf/config.h +++ b/libs/conf/config.h @@ -1,3 +1,530 @@ #include "../theme/theme.h" +typedef struct { + char *key; + KeySym keysym; +} KeyList; + +typedef struct { + char *mod; + unsigned int modifier; +} ModList; + +typedef struct { + char *argument; + Arg arg; +} ArgList; + +typedef struct { + char *function; + void (*func)(Arg *); +} FuncList; + +// TODO: allow any value instead of this array +static ArgList al[] = { + { "0", {.i = 0 } }, + { "1", {.i = 1 } }, + { "2", {.i = 2 } }, + { "3", {.i = 3 } }, + { "4", {.i = 4 } }, + { "5", {.i = 5 } }, + { "6", {.i = 6 } }, + { "7", {.i = 7 } }, + { "8", {.i = 8 } }, + { "9", {.i = 9 } }, + { "10", {.i = 10 } }, + { "11", {.i = 11 } }, + { "12", {.i = 12 } }, + { "13", {.i = 13 } }, + { "14", {.i = 14 } }, + { "15", {.i = 15 } }, + { "16", {.i = 16 } }, + { "17", {.i = 17 } }, + { "18", {.i = 18 } }, + { "19", {.i = 19 } }, + { "20", {.i = 20 } }, + { "21", {.i = 21 } }, + { "22", {.i = 22 } }, + { "23", {.i = 23 } }, + { "24", {.i = 24 } }, + { "25", {.i = 25 } }, + { "26", {.i = 26 } }, + { "27", {.i = 27 } }, + { "28", {.i = 28 } }, + { "29", {.i = 29 } }, + { "30", {.i = 30 } }, + { "31", {.i = 31 } }, + { "32", {.i = 32 } }, + { "33", {.i = 33 } }, + { "34", {.i = 34 } }, + { "35", {.i = 35 } }, + { "36", {.i = 36 } }, + { "37", {.i = 37 } }, + { "38", {.i = 38 } }, + { "39", {.i = 39 } }, + { "40", {.i = 40 } }, + { "41", {.i = 41 } }, + { "42", {.i = 42 } }, + { "43", {.i = 43 } }, + { "44", {.i = 44 } }, + { "45", {.i = 45 } }, + { "46", {.i = 46 } }, + { "47", {.i = 47 } }, + { "48", {.i = 48 } }, + { "49", {.i = 49 } }, + { "50", {.i = 50 } }, + { "51", {.i = 51 } }, + { "52", {.i = 52 } }, + { "53", {.i = 53 } }, + { "54", {.i = 54 } }, + { "55", {.i = 55 } }, + { "56", {.i = 56 } }, + { "57", {.i = 57 } }, + { "58", {.i = 58 } }, + { "59", {.i = 59 } }, + { "60", {.i = 60 } }, + { "61", {.i = 61 } }, + { "62", {.i = 62 } }, + { "63", {.i = 63 } }, + { "64", {.i = 64 } }, + { "65", {.i = 65 } }, + { "66", {.i = 66 } }, + { "67", {.i = 67 } }, + { "68", {.i = 68 } }, + { "69", {.i = 69 } }, + { "70", {.i = 70 } }, + { "71", {.i = 71 } }, + { "72", {.i = 72 } }, + { "73", {.i = 73 } }, + { "74", {.i = 74 } }, + { "75", {.i = 75 } }, + { "76", {.i = 76 } }, + { "77", {.i = 77 } }, + { "78", {.i = 78 } }, + { "79", {.i = 79 } }, + { "80", {.i = 80 } }, + { "81", {.i = 81 } }, + { "82", {.i = 82 } }, + { "83", {.i = 83 } }, + { "84", {.i = 84 } }, + { "85", {.i = 85 } }, + { "86", {.i = 86 } }, + { "87", {.i = 87 } }, + { "88", {.i = 88 } }, + { "89", {.i = 89 } }, + { "90", {.i = 90 } }, + { "91", {.i = 91 } }, + { "92", {.i = 92 } }, + { "93", {.i = 93 } }, + { "94", {.i = 94 } }, + { "95", {.i = 95 } }, + { "96", {.i = 96 } }, + { "97", {.i = 97 } }, + { "98", {.i = 98 } }, + { "99", {.i = 99 } }, + { "100", {.i = 100 } }, + { "+0", {.i = +0 } }, + { "+1", {.i = +1 } }, + { "+2", {.i = +2 } }, + { "+3", {.i = +3 } }, + { "+4", {.i = +4 } }, + { "+5", {.i = +5 } }, + { "+6", {.i = +6 } }, + { "+7", {.i = +7 } }, + { "+8", {.i = +8 } }, + { "+9", {.i = +9 } }, + { "+10", {.i = +10 } }, + { "+11", {.i = +11 } }, + { "+12", {.i = +12 } }, + { "+13", {.i = +13 } }, + { "+14", {.i = +14 } }, + { "+15", {.i = +15 } }, + { "+16", {.i = +16 } }, + { "+17", {.i = +17 } }, + { "+18", {.i = +18 } }, + { "+19", {.i = +19 } }, + { "+20", {.i = +20 } }, + { "+21", {.i = +21 } }, + { "+22", {.i = +22 } }, + { "+23", {.i = +23 } }, + { "+24", {.i = +24 } }, + { "+25", {.i = +25 } }, + { "+26", {.i = +26 } }, + { "+27", {.i = +27 } }, + { "+28", {.i = +28 } }, + { "+29", {.i = +29 } }, + { "+30", {.i = +30 } }, + { "+31", {.i = +31 } }, + { "+32", {.i = +32 } }, + { "+33", {.i = +33 } }, + { "+34", {.i = +34 } }, + { "+35", {.i = +35 } }, + { "+36", {.i = +36 } }, + { "+37", {.i = +37 } }, + { "+38", {.i = +38 } }, + { "+39", {.i = +39 } }, + { "+40", {.i = +40 } }, + { "+41", {.i = +41 } }, + { "+42", {.i = +42 } }, + { "+43", {.i = +43 } }, + { "+44", {.i = +44 } }, + { "+45", {.i = +45 } }, + { "+46", {.i = +46 } }, + { "+47", {.i = +47 } }, + { "+48", {.i = +48 } }, + { "+49", {.i = +49 } }, + { "+50", {.i = +50 } }, + { "+51", {.i = +51 } }, + { "+52", {.i = +52 } }, + { "+53", {.i = +53 } }, + { "+54", {.i = +54 } }, + { "+55", {.i = +55 } }, + { "+56", {.i = +56 } }, + { "+57", {.i = +57 } }, + { "+58", {.i = +58 } }, + { "+59", {.i = +59 } }, + { "+60", {.i = +60 } }, + { "+61", {.i = +61 } }, + { "+62", {.i = +62 } }, + { "+63", {.i = +63 } }, + { "+64", {.i = +64 } }, + { "+65", {.i = +65 } }, + { "+66", {.i = +66 } }, + { "+67", {.i = +67 } }, + { "+68", {.i = +68 } }, + { "+69", {.i = +69 } }, + { "+70", {.i = +70 } }, + { "+71", {.i = +71 } }, + { "+72", {.i = +72 } }, + { "+73", {.i = +73 } }, + { "+74", {.i = +74 } }, + { "+75", {.i = +75 } }, + { "+76", {.i = +76 } }, + { "+77", {.i = +77 } }, + { "+78", {.i = +78 } }, + { "+79", {.i = +79 } }, + { "+80", {.i = +80 } }, + { "+81", {.i = +81 } }, + { "+82", {.i = +82 } }, + { "+83", {.i = +83 } }, + { "+84", {.i = +84 } }, + { "+85", {.i = +85 } }, + { "+86", {.i = +86 } }, + { "+87", {.i = +87 } }, + { "+88", {.i = +88 } }, + { "+89", {.i = +89 } }, + { "+90", {.i = +90 } }, + { "+91", {.i = +91 } }, + { "+92", {.i = +92 } }, + { "+93", {.i = +93 } }, + { "+94", {.i = +94 } }, + { "+95", {.i = +95 } }, + { "+96", {.i = +96 } }, + { "+97", {.i = +97 } }, + { "+98", {.i = +98 } }, + { "+99", {.i = +99 } }, + { "+100", {.i = +100 } }, + { "-0", {.i = -0 } }, + { "-1", {.i = -1 } }, + { "-2", {.i = -2 } }, + { "-3", {.i = -3 } }, + { "-4", {.i = -4 } }, + { "-5", {.i = -5 } }, + { "-6", {.i = -6 } }, + { "-7", {.i = -7 } }, + { "-8", {.i = -8 } }, + { "-9", {.i = -9 } }, + { "-10", {.i = -10 } }, + { "-11", {.i = -11 } }, + { "-12", {.i = -12 } }, + { "-13", {.i = -13 } }, + { "-14", {.i = -14 } }, + { "-15", {.i = -15 } }, + { "-16", {.i = -16 } }, + { "-17", {.i = -17 } }, + { "-18", {.i = -18 } }, + { "-19", {.i = -19 } }, + { "-20", {.i = -20 } }, + { "-21", {.i = -21 } }, + { "-22", {.i = -22 } }, + { "-23", {.i = -23 } }, + { "-24", {.i = -24 } }, + { "-25", {.i = -25 } }, + { "-26", {.i = -26 } }, + { "-27", {.i = -27 } }, + { "-28", {.i = -28 } }, + { "-29", {.i = -29 } }, + { "-30", {.i = -30 } }, + { "-31", {.i = -31 } }, + { "-32", {.i = -32 } }, + { "-33", {.i = -33 } }, + { "-34", {.i = -34 } }, + { "-35", {.i = -35 } }, + { "-36", {.i = -36 } }, + { "-37", {.i = -37 } }, + { "-38", {.i = -38 } }, + { "-39", {.i = -39 } }, + { "-40", {.i = -40 } }, + { "-41", {.i = -41 } }, + { "-42", {.i = -42 } }, + { "-43", {.i = -43 } }, + { "-44", {.i = -44 } }, + { "-45", {.i = -45 } }, + { "-46", {.i = -46 } }, + { "-47", {.i = -47 } }, + { "-48", {.i = -48 } }, + { "-49", {.i = -49 } }, + { "-50", {.i = -50 } }, + { "-51", {.i = -51 } }, + { "-52", {.i = -52 } }, + { "-53", {.i = -53 } }, + { "-54", {.i = -54 } }, + { "-55", {.i = -55 } }, + { "-56", {.i = -56 } }, + { "-57", {.i = -57 } }, + { "-58", {.i = -58 } }, + { "-59", {.i = -59 } }, + { "-60", {.i = -60 } }, + { "-61", {.i = -61 } }, + { "-62", {.i = -62 } }, + { "-63", {.i = -63 } }, + { "-64", {.i = -64 } }, + { "-65", {.i = -65 } }, + { "-66", {.i = -66 } }, + { "-67", {.i = -67 } }, + { "-68", {.i = -68 } }, + { "-69", {.i = -69 } }, + { "-70", {.i = -70 } }, + { "-71", {.i = -71 } }, + { "-72", {.i = -72 } }, + { "-73", {.i = -73 } }, + { "-74", {.i = -74 } }, + { "-75", {.i = -75 } }, + { "-76", {.i = -76 } }, + { "-77", {.i = -77 } }, + { "-78", {.i = -78 } }, + { "-79", {.i = -79 } }, + { "-80", {.i = -80 } }, + { "-81", {.i = -81 } }, + { "-82", {.i = -82 } }, + { "-83", {.i = -83 } }, + { "-84", {.i = -84 } }, + { "-85", {.i = -85 } }, + { "-86", {.i = -86 } }, + { "-87", {.i = -87 } }, + { "-88", {.i = -88 } }, + { "-89", {.i = -89 } }, + { "-90", {.i = -90 } }, + { "-91", {.i = -91 } }, + { "-92", {.i = -92 } }, + { "-93", {.i = -93 } }, + { "-94", {.i = -94 } }, + { "-95", {.i = -95 } }, + { "-96", {.i = -96 } }, + { "-97", {.i = -97 } }, + { "-98", {.i = -98 } }, + { "-99", {.i = -99 } }, + { "-100", {.i = -100 } }, +}; + +static FuncList fl[] = { + { "moveup", moveup }, + { "movedown", movedown }, + { "moveleft", moveleft }, + { "moveright", moveright }, + { "moveend", moveend }, + { "movestart", movestart }, + { "move", movenext }, + { "move", moveprev }, + { "paste", paste }, + { "pastesel", paste }, + { "restoresel", restoresel }, + { "clear", clear }, + { "clearins", clearins }, + { "viewhist", viewhist }, + { "moveword", moveword }, + { "moveword", moveword }, + { "deleteword", deleteword }, + { "movecursor", movecursor }, + { "movecursor", movecursor }, + { "navhistory", navhistory }, + { "navhistory", navhistory }, + { "backspace", backspace }, + { "selectitem", selectitem }, + { "quit", quit }, + { "complete", complete }, + { "setimgsize", setimgsize }, + { "setimgsize", setimgsize }, + { "toggleimg", toggleimg }, + { "defaultimg", defaultimg }, + { "rotateimg", rotateimg }, + { "flipimg", flipimg }, + { "setimgpos", setimgpos }, + { "setimgpos", setimgpos }, + { "setimggaps", setimggaps }, + { "setimggaps", setimggaps }, + { "setlines", setlines }, + { "setlines", setlines }, + { "setcolumns", setcolumns }, + { "togglehighlight",togglehighlight }, + { "setprofile", setprofile }, + { "switchmode", switchmode }, + { "spawn", spawn }, +}; + +// list of modifiers that can be used in the config file +static ModList ml[] = { + { "Ctrl+Shift", ShiftMask|ControlMask }, + { "Ctrl+Shift+Super", ShiftMask|ControlMask|Mod4Mask }, + { "Ctrl+Super", Mod4Mask|ControlMask }, + { "Ctrl+Alt", ControlMask|Mod1Mask }, + { "Ctrl+Alt+Shift", ShiftMask|Mod1Mask|ControlMask }, + { "Ctrl+Alt+Shift+Super", ControlMask|Mod1Mask|ShiftMask|Mod4Mask }, + { "Ctrl+Alt+Super", ControlMask|Mod1Mask|Mod4Mask }, + { "Alt+Shift", Mod1Mask|ShiftMask }, + { "Shift", ShiftMask }, + { "Ctrl", ControlMask }, + { "Alt", Mod1Mask }, + { "AltGr", Mod3Mask }, + { "Super", Mod4Mask }, + { "ShiftGr", Mod5Mask }, + { "None", 0 }, + { "0", 0 }, +}; + +// list of keys that can be used in the config file +// expand this array if you want more +static KeyList kl[] = { + { "None", 0 }, + { "Space", XK_space }, + { "Enter", XK_Return }, + { "Tab", XK_Tab }, + { "a", XK_a }, + { "b", XK_b }, + { "c", XK_c }, + { "d", XK_d }, + { "e", XK_e }, + { "f", XK_f }, + { "g", XK_g }, + { "h", XK_h }, + { "i", XK_i }, + { "j", XK_j }, + { "k", XK_k }, + { "l", XK_l }, + { "m", XK_m }, + { "n", XK_n }, + { "o", XK_o }, + { "p", XK_p }, + { "q", XK_q }, + { "r", XK_r }, + { "s", XK_s }, + { "t", XK_t }, + { "u", XK_u }, + { "v", XK_v }, + { "w", XK_w }, + { "x", XK_x }, + { "y", XK_y }, + { "z", XK_z }, + { "0", XK_0 }, + { "1", XK_1 }, + { "2", XK_2 }, + { "3", XK_3 }, + { "4", XK_4 }, + { "5", XK_5 }, + { "6", XK_6 }, + { "7", XK_7 }, + { "8", XK_8 }, + { "9", XK_9 }, + { "!", XK_exclam }, + { "\"", XK_quotedbl }, + { "#", XK_numbersign }, + { "$", XK_dollar }, + { "%", XK_percent }, + { "&", XK_ampersand }, + { "'", XK_apostrophe }, + { "(", XK_parenleft }, + { ")", XK_parenright }, + { "*", XK_asterisk }, + { "+", XK_plus }, + { ",", XK_comma }, + { "-", XK_minus }, + { ".", XK_period }, + { "/", XK_slash }, + { ":", XK_colon }, + { ";", XK_semicolon }, + { "<", XK_less }, + { "=", XK_equal }, + { ">", XK_greater }, + { "?", XK_question }, + { "@", XK_at }, + { "[", XK_bracketleft }, + { "\\", XK_backslash }, + { "]", XK_bracketright }, + { "_", XK_underscore }, + { "grave", XK_grave }, + { "{", XK_braceleft }, + { "bar", XK_bar }, + { "}", XK_braceright }, + { "~", XK_asciitilde }, + { "F1", XK_F1 }, + { "F2", XK_F2 }, + { "F3", XK_F3 }, + { "F4", XK_F4 }, + { "F5", XK_F5 }, + { "F6", XK_F6 }, + { "F7", XK_F7 }, + { "F8", XK_F8 }, + { "F9", XK_F9 }, + { "F10", XK_F10 }, + { "F11", XK_F11 }, + { "F12", XK_F12 }, + { "PageUp", XK_Page_Up }, + { "PageDown", XK_Page_Down }, + { "Home", XK_Home }, + { "End", XK_End }, + { "Delete", XK_Delete }, + { "PrintScr", XK_Print }, + { "Esc", XK_Escape }, + { "Pause", XK_Pause }, + { "ScrollLock", XK_Scroll_Lock }, + { "Backspace", XK_BackSpace }, + { "Up", XK_Up }, + { "Down", XK_Down }, + { "Left", XK_Left }, + { "Right", XK_Right }, + { "Next", XK_Next }, + { "Prior", XK_Prior }, +}; + +typedef struct { + char *click; + unsigned int button; +} ButtonType; + +typedef struct { + char *tclick; + unsigned int click; +} ClickType; + +static ButtonType btp[] = { + { "Left Click", Button1 }, + { "Middle Click", Button2 }, + { "Right Click", Button3 }, + { "Scroll Up", Button4 }, + { "Scroll Down", Button5 }, +}; + +static ClickType ctp[] = { + { "clickwindow", clickwindow }, + { "clickprompt", clickprompt }, + { "clickinput", clickinput }, + { "clicklarrow", clicklarrow }, + { "clickitem", clickitem }, + { "clickselitem", clickselitem }, + { "clickrarrow", clickrarrow }, + { "clicknumber", clicknumber }, + { "clickcaps", clickcaps }, + { "clickmode", clickmode }, +}; + static void conf_init(void); diff --git a/libs/key.h b/libs/key.h index 27698fd..e914c10 100644 --- a/libs/key.h +++ b/libs/key.h @@ -6,504 +6,6 @@ typedef struct { Arg arg; } Key; -#if USECONFIG -typedef struct { - char *key; - KeySym keysym; -} KeyList; - -typedef struct { - char *mod; - unsigned int modifier; -} ModList; - -typedef struct { - char *argument; - Arg arg; -} ArgList; - -typedef struct { - char *function; - void (*func)(Arg *); -} FuncList; - -// TODO: allow any value instead of this array -static ArgList al[] = { - { "0", {.i = 0 } }, - { "1", {.i = 1 } }, - { "2", {.i = 2 } }, - { "3", {.i = 3 } }, - { "4", {.i = 4 } }, - { "5", {.i = 5 } }, - { "6", {.i = 6 } }, - { "7", {.i = 7 } }, - { "8", {.i = 8 } }, - { "9", {.i = 9 } }, - { "10", {.i = 10 } }, - { "11", {.i = 11 } }, - { "12", {.i = 12 } }, - { "13", {.i = 13 } }, - { "14", {.i = 14 } }, - { "15", {.i = 15 } }, - { "16", {.i = 16 } }, - { "17", {.i = 17 } }, - { "18", {.i = 18 } }, - { "19", {.i = 19 } }, - { "20", {.i = 20 } }, - { "21", {.i = 21 } }, - { "22", {.i = 22 } }, - { "23", {.i = 23 } }, - { "24", {.i = 24 } }, - { "25", {.i = 25 } }, - { "26", {.i = 26 } }, - { "27", {.i = 27 } }, - { "28", {.i = 28 } }, - { "29", {.i = 29 } }, - { "30", {.i = 30 } }, - { "31", {.i = 31 } }, - { "32", {.i = 32 } }, - { "33", {.i = 33 } }, - { "34", {.i = 34 } }, - { "35", {.i = 35 } }, - { "36", {.i = 36 } }, - { "37", {.i = 37 } }, - { "38", {.i = 38 } }, - { "39", {.i = 39 } }, - { "40", {.i = 40 } }, - { "41", {.i = 41 } }, - { "42", {.i = 42 } }, - { "43", {.i = 43 } }, - { "44", {.i = 44 } }, - { "45", {.i = 45 } }, - { "46", {.i = 46 } }, - { "47", {.i = 47 } }, - { "48", {.i = 48 } }, - { "49", {.i = 49 } }, - { "50", {.i = 50 } }, - { "51", {.i = 51 } }, - { "52", {.i = 52 } }, - { "53", {.i = 53 } }, - { "54", {.i = 54 } }, - { "55", {.i = 55 } }, - { "56", {.i = 56 } }, - { "57", {.i = 57 } }, - { "58", {.i = 58 } }, - { "59", {.i = 59 } }, - { "60", {.i = 60 } }, - { "61", {.i = 61 } }, - { "62", {.i = 62 } }, - { "63", {.i = 63 } }, - { "64", {.i = 64 } }, - { "65", {.i = 65 } }, - { "66", {.i = 66 } }, - { "67", {.i = 67 } }, - { "68", {.i = 68 } }, - { "69", {.i = 69 } }, - { "70", {.i = 70 } }, - { "71", {.i = 71 } }, - { "72", {.i = 72 } }, - { "73", {.i = 73 } }, - { "74", {.i = 74 } }, - { "75", {.i = 75 } }, - { "76", {.i = 76 } }, - { "77", {.i = 77 } }, - { "78", {.i = 78 } }, - { "79", {.i = 79 } }, - { "80", {.i = 80 } }, - { "81", {.i = 81 } }, - { "82", {.i = 82 } }, - { "83", {.i = 83 } }, - { "84", {.i = 84 } }, - { "85", {.i = 85 } }, - { "86", {.i = 86 } }, - { "87", {.i = 87 } }, - { "88", {.i = 88 } }, - { "89", {.i = 89 } }, - { "90", {.i = 90 } }, - { "91", {.i = 91 } }, - { "92", {.i = 92 } }, - { "93", {.i = 93 } }, - { "94", {.i = 94 } }, - { "95", {.i = 95 } }, - { "96", {.i = 96 } }, - { "97", {.i = 97 } }, - { "98", {.i = 98 } }, - { "99", {.i = 99 } }, - { "100", {.i = 100 } }, - { "+0", {.i = +0 } }, - { "+1", {.i = +1 } }, - { "+2", {.i = +2 } }, - { "+3", {.i = +3 } }, - { "+4", {.i = +4 } }, - { "+5", {.i = +5 } }, - { "+6", {.i = +6 } }, - { "+7", {.i = +7 } }, - { "+8", {.i = +8 } }, - { "+9", {.i = +9 } }, - { "+10", {.i = +10 } }, - { "+11", {.i = +11 } }, - { "+12", {.i = +12 } }, - { "+13", {.i = +13 } }, - { "+14", {.i = +14 } }, - { "+15", {.i = +15 } }, - { "+16", {.i = +16 } }, - { "+17", {.i = +17 } }, - { "+18", {.i = +18 } }, - { "+19", {.i = +19 } }, - { "+20", {.i = +20 } }, - { "+21", {.i = +21 } }, - { "+22", {.i = +22 } }, - { "+23", {.i = +23 } }, - { "+24", {.i = +24 } }, - { "+25", {.i = +25 } }, - { "+26", {.i = +26 } }, - { "+27", {.i = +27 } }, - { "+28", {.i = +28 } }, - { "+29", {.i = +29 } }, - { "+30", {.i = +30 } }, - { "+31", {.i = +31 } }, - { "+32", {.i = +32 } }, - { "+33", {.i = +33 } }, - { "+34", {.i = +34 } }, - { "+35", {.i = +35 } }, - { "+36", {.i = +36 } }, - { "+37", {.i = +37 } }, - { "+38", {.i = +38 } }, - { "+39", {.i = +39 } }, - { "+40", {.i = +40 } }, - { "+41", {.i = +41 } }, - { "+42", {.i = +42 } }, - { "+43", {.i = +43 } }, - { "+44", {.i = +44 } }, - { "+45", {.i = +45 } }, - { "+46", {.i = +46 } }, - { "+47", {.i = +47 } }, - { "+48", {.i = +48 } }, - { "+49", {.i = +49 } }, - { "+50", {.i = +50 } }, - { "+51", {.i = +51 } }, - { "+52", {.i = +52 } }, - { "+53", {.i = +53 } }, - { "+54", {.i = +54 } }, - { "+55", {.i = +55 } }, - { "+56", {.i = +56 } }, - { "+57", {.i = +57 } }, - { "+58", {.i = +58 } }, - { "+59", {.i = +59 } }, - { "+60", {.i = +60 } }, - { "+61", {.i = +61 } }, - { "+62", {.i = +62 } }, - { "+63", {.i = +63 } }, - { "+64", {.i = +64 } }, - { "+65", {.i = +65 } }, - { "+66", {.i = +66 } }, - { "+67", {.i = +67 } }, - { "+68", {.i = +68 } }, - { "+69", {.i = +69 } }, - { "+70", {.i = +70 } }, - { "+71", {.i = +71 } }, - { "+72", {.i = +72 } }, - { "+73", {.i = +73 } }, - { "+74", {.i = +74 } }, - { "+75", {.i = +75 } }, - { "+76", {.i = +76 } }, - { "+77", {.i = +77 } }, - { "+78", {.i = +78 } }, - { "+79", {.i = +79 } }, - { "+80", {.i = +80 } }, - { "+81", {.i = +81 } }, - { "+82", {.i = +82 } }, - { "+83", {.i = +83 } }, - { "+84", {.i = +84 } }, - { "+85", {.i = +85 } }, - { "+86", {.i = +86 } }, - { "+87", {.i = +87 } }, - { "+88", {.i = +88 } }, - { "+89", {.i = +89 } }, - { "+90", {.i = +90 } }, - { "+91", {.i = +91 } }, - { "+92", {.i = +92 } }, - { "+93", {.i = +93 } }, - { "+94", {.i = +94 } }, - { "+95", {.i = +95 } }, - { "+96", {.i = +96 } }, - { "+97", {.i = +97 } }, - { "+98", {.i = +98 } }, - { "+99", {.i = +99 } }, - { "+100", {.i = +100 } }, - { "-0", {.i = -0 } }, - { "-1", {.i = -1 } }, - { "-2", {.i = -2 } }, - { "-3", {.i = -3 } }, - { "-4", {.i = -4 } }, - { "-5", {.i = -5 } }, - { "-6", {.i = -6 } }, - { "-7", {.i = -7 } }, - { "-8", {.i = -8 } }, - { "-9", {.i = -9 } }, - { "-10", {.i = -10 } }, - { "-11", {.i = -11 } }, - { "-12", {.i = -12 } }, - { "-13", {.i = -13 } }, - { "-14", {.i = -14 } }, - { "-15", {.i = -15 } }, - { "-16", {.i = -16 } }, - { "-17", {.i = -17 } }, - { "-18", {.i = -18 } }, - { "-19", {.i = -19 } }, - { "-20", {.i = -20 } }, - { "-21", {.i = -21 } }, - { "-22", {.i = -22 } }, - { "-23", {.i = -23 } }, - { "-24", {.i = -24 } }, - { "-25", {.i = -25 } }, - { "-26", {.i = -26 } }, - { "-27", {.i = -27 } }, - { "-28", {.i = -28 } }, - { "-29", {.i = -29 } }, - { "-30", {.i = -30 } }, - { "-31", {.i = -31 } }, - { "-32", {.i = -32 } }, - { "-33", {.i = -33 } }, - { "-34", {.i = -34 } }, - { "-35", {.i = -35 } }, - { "-36", {.i = -36 } }, - { "-37", {.i = -37 } }, - { "-38", {.i = -38 } }, - { "-39", {.i = -39 } }, - { "-40", {.i = -40 } }, - { "-41", {.i = -41 } }, - { "-42", {.i = -42 } }, - { "-43", {.i = -43 } }, - { "-44", {.i = -44 } }, - { "-45", {.i = -45 } }, - { "-46", {.i = -46 } }, - { "-47", {.i = -47 } }, - { "-48", {.i = -48 } }, - { "-49", {.i = -49 } }, - { "-50", {.i = -50 } }, - { "-51", {.i = -51 } }, - { "-52", {.i = -52 } }, - { "-53", {.i = -53 } }, - { "-54", {.i = -54 } }, - { "-55", {.i = -55 } }, - { "-56", {.i = -56 } }, - { "-57", {.i = -57 } }, - { "-58", {.i = -58 } }, - { "-59", {.i = -59 } }, - { "-60", {.i = -60 } }, - { "-61", {.i = -61 } }, - { "-62", {.i = -62 } }, - { "-63", {.i = -63 } }, - { "-64", {.i = -64 } }, - { "-65", {.i = -65 } }, - { "-66", {.i = -66 } }, - { "-67", {.i = -67 } }, - { "-68", {.i = -68 } }, - { "-69", {.i = -69 } }, - { "-70", {.i = -70 } }, - { "-71", {.i = -71 } }, - { "-72", {.i = -72 } }, - { "-73", {.i = -73 } }, - { "-74", {.i = -74 } }, - { "-75", {.i = -75 } }, - { "-76", {.i = -76 } }, - { "-77", {.i = -77 } }, - { "-78", {.i = -78 } }, - { "-79", {.i = -79 } }, - { "-80", {.i = -80 } }, - { "-81", {.i = -81 } }, - { "-82", {.i = -82 } }, - { "-83", {.i = -83 } }, - { "-84", {.i = -84 } }, - { "-85", {.i = -85 } }, - { "-86", {.i = -86 } }, - { "-87", {.i = -87 } }, - { "-88", {.i = -88 } }, - { "-89", {.i = -89 } }, - { "-90", {.i = -90 } }, - { "-91", {.i = -91 } }, - { "-92", {.i = -92 } }, - { "-93", {.i = -93 } }, - { "-94", {.i = -94 } }, - { "-95", {.i = -95 } }, - { "-96", {.i = -96 } }, - { "-97", {.i = -97 } }, - { "-98", {.i = -98 } }, - { "-99", {.i = -99 } }, - { "-100", {.i = -100 } }, -}; - -static FuncList fl[] = { - { "moveup", moveup }, - { "movedown", movedown }, - { "moveleft", moveleft }, - { "moveright", moveright }, - { "moveend", moveend }, - { "movestart", movestart }, - { "move", movenext }, - { "move", moveprev }, - { "paste", paste }, - { "pastesel", paste }, - { "restoresel", restoresel }, - { "clear", clear }, - { "clearins", clearins }, - { "viewhist", viewhist }, - { "moveword", moveword }, - { "moveword", moveword }, - { "deleteword", deleteword }, - { "movecursor", movecursor }, - { "movecursor", movecursor }, - { "navhistory", navhistory }, - { "navhistory", navhistory }, - { "backspace", backspace }, - { "selectitem", selectitem }, - { "quit", quit }, - { "complete", complete }, - { "setimgsize", setimgsize }, - { "setimgsize", setimgsize }, - { "toggleimg", toggleimg }, - { "defaultimg", defaultimg }, - { "rotateimg", rotateimg }, - { "flipimg", flipimg }, - { "setimgpos", setimgpos }, - { "setimgpos", setimgpos }, - { "setimggaps", setimggaps }, - { "setimggaps", setimggaps }, - { "setlines", setlines }, - { "setlines", setlines }, - { "setcolumns", setcolumns }, - { "togglehighlight",togglehighlight }, - { "setprofile", setprofile }, - { "switchmode", switchmode }, - { "spawn", spawn }, -}; - -// list of modifiers that can be used in the config file -static ModList ml[] = { - { "Ctrl+Shift", ShiftMask|ControlMask }, - { "Ctrl+Shift+Super", ShiftMask|ControlMask|Mod4Mask }, - { "Ctrl+Super", Mod4Mask|ControlMask }, - { "Ctrl+Alt", ControlMask|Mod1Mask }, - { "Ctrl+Alt+Shift", ShiftMask|Mod1Mask|ControlMask }, - { "Ctrl+Alt+Shift+Super", ControlMask|Mod1Mask|ShiftMask|Mod4Mask }, - { "Ctrl+Alt+Super", ControlMask|Mod1Mask|Mod4Mask }, - { "Alt+Shift", Mod1Mask|ShiftMask }, - { "Shift", ShiftMask }, - { "Ctrl", ControlMask }, - { "Alt", Mod1Mask }, - { "AltGr", Mod3Mask }, - { "Super", Mod4Mask }, - { "ShiftGr", Mod5Mask }, - { "None", 0 }, - { "0", 0 }, -}; - -// list of keys that can be used in the config file -// expand this array if you want more -static KeyList kl[] = { - { "None", 0 }, - { "Space", XK_space }, - { "Enter", XK_Return }, - { "Tab", XK_Tab }, - { "a", XK_a }, - { "b", XK_b }, - { "c", XK_c }, - { "d", XK_d }, - { "e", XK_e }, - { "f", XK_f }, - { "g", XK_g }, - { "h", XK_h }, - { "i", XK_i }, - { "j", XK_j }, - { "k", XK_k }, - { "l", XK_l }, - { "m", XK_m }, - { "n", XK_n }, - { "o", XK_o }, - { "p", XK_p }, - { "q", XK_q }, - { "r", XK_r }, - { "s", XK_s }, - { "t", XK_t }, - { "u", XK_u }, - { "v", XK_v }, - { "w", XK_w }, - { "x", XK_x }, - { "y", XK_y }, - { "z", XK_z }, - { "0", XK_0 }, - { "1", XK_1 }, - { "2", XK_2 }, - { "3", XK_3 }, - { "4", XK_4 }, - { "5", XK_5 }, - { "6", XK_6 }, - { "7", XK_7 }, - { "8", XK_8 }, - { "9", XK_9 }, - { "!", XK_exclam }, - { "\"", XK_quotedbl }, - { "#", XK_numbersign }, - { "$", XK_dollar }, - { "%", XK_percent }, - { "&", XK_ampersand }, - { "'", XK_apostrophe }, - { "(", XK_parenleft }, - { ")", XK_parenright }, - { "*", XK_asterisk }, - { "+", XK_plus }, - { ",", XK_comma }, - { "-", XK_minus }, - { ".", XK_period }, - { "/", XK_slash }, - { ":", XK_colon }, - { ";", XK_semicolon }, - { "<", XK_less }, - { "=", XK_equal }, - { ">", XK_greater }, - { "?", XK_question }, - { "@", XK_at }, - { "[", XK_bracketleft }, - { "\\", XK_backslash }, - { "]", XK_bracketright }, - { "_", XK_underscore }, - { "grave", XK_grave }, - { "{", XK_braceleft }, - { "bar", XK_bar }, - { "}", XK_braceright }, - { "~", XK_asciitilde }, - { "F1", XK_F1 }, - { "F2", XK_F2 }, - { "F3", XK_F3 }, - { "F4", XK_F4 }, - { "F5", XK_F5 }, - { "F6", XK_F6 }, - { "F7", XK_F7 }, - { "F8", XK_F8 }, - { "F9", XK_F9 }, - { "F10", XK_F10 }, - { "F11", XK_F11 }, - { "F12", XK_F12 }, - { "PageUp", XK_Page_Up }, - { "PageDown", XK_Page_Down }, - { "Home", XK_Home }, - { "End", XK_End }, - { "Delete", XK_Delete }, - { "PrintScr", XK_Print }, - { "Esc", XK_Escape }, - { "Pause", XK_Pause }, - { "ScrollLock", XK_Scroll_Lock }, - { "Backspace", XK_BackSpace }, - { "Up", XK_Up }, - { "Down", XK_Down }, - { "Left", XK_Left }, - { "Right", XK_Right }, - { "Next", XK_Next }, - { "Prior", XK_Prior }, -}; -#endif - static void updatenumlockmask(void); static void keypress(XEvent *e); static void grabkeyboard(void); diff --git a/libs/mouse.h b/libs/mouse.h index 626cff6..9c78b14 100644 --- a/libs/mouse.h +++ b/libs/mouse.h @@ -20,38 +20,5 @@ typedef struct { Arg arg; } Mouse; -#if USECONFIG -typedef struct { - char *click; - unsigned int button; -} ButtonType; - -typedef struct { - char *tclick; - unsigned int click; -} ClickType; - -static ButtonType btp[] = { - { "Left Click", Button1 }, - { "Middle Click", Button2 }, - { "Right Click", Button3 }, - { "Scroll Up", Button4 }, - { "Scroll Down", Button5 }, -}; - -static ClickType ctp[] = { - { "clickwindow", clickwindow }, - { "clickprompt", clickprompt }, - { "clickinput", clickinput }, - { "clicklarrow", clicklarrow }, - { "clickitem", clickitem }, - { "clickselitem", clickselitem }, - { "clickrarrow", clickrarrow }, - { "clicknumber", clicknumber }, - { "clickcaps", clickcaps }, - { "clickmode", clickmode }, -}; -#endif - static Mouse cbuttons[256]; static void buttonpress(XEvent *e);