config.def.h (9179B)
1 /* See LICENSE file for copyright and license details. */ 2 3 #include <X11/XF86keysym.h> // Habilita teclas multimídia 4 #define TERMCLASS "St" 5 6 /**************************** 7 * APARÊNCIA 8 ****************************/ 9 static const unsigned int borderpx = 1; /* largura da borda das janelas */ 10 static const unsigned int snap = 32; /* pixel de snap */ 11 static const int swallowfloating = 0; /* 1 significa engolir janelas flutuantes por padrão */ 12 static const int showbar = 1; /* 0 = não mostrar barra */ 13 static const int topbar = 1; /* 0 = barra inferior */ 14 static const char *fonts[] = { "FiraCode Nerd Font Mono:size=10", "Noto Emoji:size=10" }; 15 static const char dmenufont[] = "FiraCode Nerd Font Mono:size=10"; 16 17 //static const char *colors[][3] = { 18 // /* fg bg border */ 19 // [SchemeNorm] = { "#bbbbbb", "#222222", "#444444" }, 20 // [SchemeSel] = { "#eeeeee", "#005577", "#005577" }, 21 //}; 22 23 static const char *colors[][3] = { 24 /* fg bg border */ 25 [SchemeNorm] = { "#c0c0c0", "#1a1a1a", "#3a3a3a" }, 26 [SchemeSel] = { "#f0f0f0", "#2b2b2b", "#ffffff" }, // borda branca 27 }; 28 29 30 /**************************** 31 * TAGS 32 ****************************/ 33 static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; 34 35 /**************************** 36 * REGRAS DE JANELAS 37 ****************************/ 38 static const Rule rules[] = { 39 /* class instance title tags mask isfloating isterminal noswallow monitor */ 40 { "Gimp", NULL, NULL, 0, 1, 0, 0, -1 }, 41 { "Firefox", NULL, NULL, 1 << 8, 0, 0, -1, -1 }, 42 { "St", NULL, NULL, 0, 0, 1, 0, -1 }, 43 { "st-256color", NULL, NULL, 0, 0, 1, 0, -1 }, 44 { NULL, NULL, "scratchpad", 0, 1, 1, 0, -1 }, 45 { NULL, NULL, "Event Tester", 0, 0, 0, 1, -1 }, 46 }; 47 48 /**************************** 49 * LAYOUTS 50 ****************************/ 51 static const float mfact = 0.55; /* proporção da área master [0.05..0.95] */ 52 static const int nmaster = 1; /* número de janelas na área master */ 53 static const int resizehints = 1; /* respeitar hints de tamanho em tiles */ 54 static const int lockfullscreen = 1; /* força foco na janela fullscreen */ 55 static const int refreshrate = 120; /* taxa de atualização de mover/redimensionar janelas */ 56 57 static const Layout layouts[] = { 58 /* símbolo função de arranjo */ 59 { "[]=", tile }, /* padrão */ 60 { "><>", NULL }, /* flutuante */ 61 { "[M]", monocle }, 62 }; 63 64 /**************************** 65 * DEFINIÇÕES DE TECLAS 66 ****************************/ 67 #define MODKEY Mod4Mask 68 #define TAGKEYS(KEY,TAG) \ 69 { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ 70 { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ 71 { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ 72 { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} } 73 74 /* helper para executar comandos shell */ 75 #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } 76 77 /**************************** 78 * COMANDOS 79 ****************************/ 80 static char dmenumon[2] = "0"; /* monitor do dmenu */ 81 static const char *screenshot_full[] = { "sh", "-c", "maim ~/pictures/print/full_$(date +%s).png", NULL }; 82 static const char *screenshot_clip[] = { "sh", "-c", "maim -s | xclip -selection clipboard -t image/png", NULL }; 83 static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, NULL }; 84 static const char *termcmd[] = { "st", NULL }; 85 static const char *vimcmd[] = { "st", "-e", "vim", NULL }; 86 static const char scratchpadname[] = "scratchpad"; 87 static const char *scratchpadcmd[] = { "st", "-t", scratchpadname, "-g", "120x34", NULL }; 88 static const char *browsercmd[] = { "firefox", NULL }; 89 static const char *emailcmd[] = { "st", "-e", "aerc", NULL }; 90 static const char *abookcmd[] = { "st", "-e", "abook", "--datafile", ".local/share/abook/addressbook", NULL }; 91 static const char *filecmd[] = { "st", "-e", "lf", NULL }; 92 static const char *dmenu_sys_cmd[] = { "sys", NULL }; 93 static const char *dmenu_pass_cmd[] = { "pass-menu", NULL }; 94 static const char *clip_cmd[] = { "clip", NULL }; 95 96 /**************************** 97 * DEFINIÇÃO DE TECLAS 98 ****************************/ 99 static const Key keys[] = { 100 /* Vim */ 101 { MODKEY, XK_n, spawn, {.v = vimcmd } }, 102 103 /* dmenu e scripts personalizados */ 104 { MODKEY|ShiftMask, XK_q, spawn, {.v = dmenu_sys_cmd } }, 105 { MODKEY|ShiftMask, XK_p, spawn, {.v = dmenu_pass_cmd } }, 106 { MODKEY, XK_space, spawn, {.v = dmenucmd } }, 107 { MODKEY, XK_c, spawn, {.v = clip_cmd } }, 108 109 /* Terminal, navegador e apps */ 110 { MODKEY, XK_Return, spawn, {.v = termcmd } }, 111 { MODKEY|ShiftMask, XK_Return, togglescratch, {.v = scratchpadcmd } }, 112 { MODKEY, XK_b, spawn, {.v = browsercmd } }, 113 { MODKEY, XK_e, spawn, {.v = emailcmd } }, 114 { MODKEY, XK_r, spawn, {.v = filecmd } }, 115 { MODKEY, XK_a, spawn, {.v = abookcmd } }, 116 117 /* Tecla PrintScreen*/ 118 { 0, XK_Print, spawn, {.v = screenshot_full } }, 119 { MODKEY, XK_Print, spawn, {.v = screenshot_clip } }, 120 121 /* Gerenciamento de janelas */ 122 { MODKEY|ShiftMask, XK_b, togglebar, {0} }, 123 { MODKEY, XK_j, focusstack, {.i = +1 } }, 124 { MODKEY, XK_k, focusstack, {.i = -1 } }, 125 { MODKEY, XK_i, incnmaster, {.i = +1 } }, 126 { MODKEY, XK_d, incnmaster, {.i = -1 } }, 127 { MODKEY, XK_h, setmfact, {.f = -0.05} }, 128 { MODKEY, XK_l, setmfact, {.f = +0.05} }, 129 { MODKEY|ShiftMask, XK_Return, zoom, {0} }, 130 { MODKEY, XK_Tab, view, {0} }, 131 { MODKEY, XK_q, killclient, {0} }, 132 { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, 133 { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, 134 { MODKEY, XK_o, setlayout, {.v = &layouts[2]} }, 135 { MODKEY, XK_grave, setlayout, {0} }, 136 { MODKEY|ShiftMask, XK_grave, togglefloating, {0} }, 137 { MODKEY, XK_0, view, {.ui = ~0 } }, 138 { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } }, 139 { MODKEY, XK_comma, focusmon, {.i = -1 } }, 140 { MODKEY, XK_period, focusmon, {.i = +1 } }, 141 { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, 142 { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, 143 144 /* Áudio */ 145 { 0, XF86XK_AudioLowerVolume, spawn, SHCMD("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-") }, 146 { 0, XF86XK_AudioRaiseVolume, spawn, SHCMD("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+") }, 147 { 0, XF86XK_AudioMute, spawn, SHCMD("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle") }, 148 149 /* Brilho */ 150 { 0, XF86XK_MonBrightnessUp, spawn, SHCMD("brightnessctl set +5%") }, 151 { 0, XF86XK_MonBrightnessDown, spawn, SHCMD("brightnessctl set 5%-") }, 152 153 /* Alternar entre monitores */ 154 { MODKEY, XK_Left, focusmon, {.i = -1 } }, 155 { MODKEY|ShiftMask, XK_Left, tagmon, {.i = -1 } }, 156 { MODKEY, XK_Right, focusmon, {.i = +1 } }, 157 { MODKEY|ShiftMask, XK_Right, tagmon, {.i = +1 } }, 158 159 /* Teclas de TAGS */ 160 TAGKEYS( XK_1, 0), 161 TAGKEYS( XK_2, 1), 162 TAGKEYS( XK_3, 2), 163 TAGKEYS( XK_4, 3), 164 TAGKEYS( XK_5, 4), 165 TAGKEYS( XK_6, 5), 166 TAGKEYS( XK_7, 6), 167 TAGKEYS( XK_8, 7), 168 TAGKEYS( XK_9, 8), 169 170 // { MODKEY|ShiftMask, XK_q, quit, {0} }, 171 }; 172 173 /**************************** 174 * BOTÕES DO MOUSE 175 ****************************/ 176 static const Button buttons[] = { 177 { ClkLtSymbol, 0, Button1, setlayout, {0} }, 178 { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} }, 179 { ClkWinTitle, 0, Button2, zoom, {0} }, 180 { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, 181 { ClkClientWin, MODKEY, Button1, movemouse, {0} }, 182 { ClkClientWin, MODKEY, Button2, togglefloating, {0} }, 183 { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, 184 { ClkTagBar, 0, Button1, view, {0} }, 185 { ClkTagBar, 0, Button3, toggleview, {0} }, 186 { ClkTagBar, MODKEY, Button1, tag, {0} }, 187 { ClkTagBar, MODKEY, Button3, toggletag, {0} }, 188 };