update config

This commit is contained in:
Leonardo Hernández Hernández 2023-05-08 12:39:19 -06:00
parent 507cd2e9fc
commit b2123c8957
No known key found for this signature in database
GPG key ID: E538897EE11B9624

View file

@ -5,44 +5,104 @@
(hex & 0xFF) / 255.0f }
/* appearance */
static const int sloppyfocus = 1; /* focus follows mouse */
static const int bypass_surface_visibility = 0; /* 1 means idle inhibitors will disable idle tracking even if it's surface isn't visible */
static const int smartborders = 1;
static const int bypass_surface_visibility = 1; /* 1 means idle inhibitors will disable idle tracking even if it's surface isn't visible */
static const int numlock = 1;
static const int capslock = 0;
static const int smartborders = 0;
static const int smartgaps = 0; /* 1 means no outer gap when there is only one window */
static const int monoclegaps = 0; /* 1 means outer gaps in monocle layout */
static const unsigned int borderpx = 1; /* border pixel of windows */
static const unsigned int gappih = 10; /* horiz inner gap between windows */
static const unsigned int gappiv = 10; /* vert inner gap between windows */
static const unsigned int gappoh = 10; /* horiz outer gap between windows and screen edge */
static const unsigned int gappov = 10; /* vert outer gap between windows and screen edge */
static const char *cursortheme = NULL; /* theme from /usr/share/cursors/xorg-x11 or ${XCURSOR_PATH} */
static const int monoclegaps = 1; /* 1 means outer gaps in monocle layout */
static const unsigned int borderpx = 2; /* border pixel of windows */
static const unsigned int gappih = 6; /* horiz inner gap between windows */
static const unsigned int gappiv = 6; /* vert inner gap between windows */
static const unsigned int gappoh = 6; /* horiz outer gap between windows and screen edge */
static const unsigned int gappov = 6; /* vert outer gap between windows and screen edge */
static const char *cursortheme = "breeze_cursors"; /* theme from ${XCURSOR_PATH} or /usr/share/cursors/xorg-x11 if emtpy*/
static const char cursorsize[] = "24";
static const float bordercolor[] = COLOR(0x444444ff);
static const float focuscolor[] = COLOR(0x005577ff);
static const float focuscolor[] = COLOR(0x6000ffff);
static const float bordercolor[] = COLOR(0x000000B3);
static const float urgentcolor[] = COLOR(0xff0000ff);
/* To conform the xdg-protocol, set the alpha to zero to restore the old behavior */
static const float fullscreen_bg[] = {0.1, 0.1, 0.1, 0.0}; /* You can also use glsl colors */
static const float default_opacity = 0.75;
static const float default_opacity = 0.95;
/* tagging - TAGCOUNT must be no greater than 31 */
#define TAGCOUNT (9)
#define TAGCOUNT (10u)
/* logging */
static int log_level = WLR_ERROR;
static const char *const autostart[] = {
/* from https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland */
"import-gsettings", NULL,
/* I don't really care about gammastep errors */
"sh", "-c", "gammastep 2> /dev/null", NULL,
"sh", "-c", "ulimit -c unlimited; fnott", NULL, /* https://codeberg.org/dnkl/fnott */
"swayidle", "-w", NULL,
"foot", "--log-level=error", "--server", NULL,
/* chbg is a script that print a random image. */
"sh", "-c", "wbg $(chbg --print)", NULL, /* https://codeberg.org/dnkl/wbg */
"sh", "-c", "ulimit -c unlimited; yambar --log-level=error", NULL,
"sh", "-c", "ulimit -c unlimited; yambar --log-level=error -c ~/.config/yambar/config-bottom.yml", NULL,
"sh", "-c", "pgrep -u ${USER} -x wireplumber 2>&1 > /dev/null || gentoo-pipewire-launcher restart", NULL,
"sh", "-c", "pgrep -u ${USER} -x emacs 2>&1 > /dev/null || emacs --fg-daemon", NULL,
"keepassxc", NULL,
NULL /* terminate */
};
static const Rule rules[] = {
/* app_id title tags mask isfloating alpha monitor */
/* app_id title tags mask isfloating opacity monitor */
/* examples:
{ "Gimp", NULL, 0, 1, default_alpha, -1 },
{ "Alacritty",NULL, 1 << 2, 0, 1.0, -1 },
*/
{ "firefox", NULL, 1 << 8, 0, default_opacity, -1 },
{ "tag1", NULL, 1 << 0, 0, default_opacity, -1 },
{ "tag2", NULL, 1 << 1, 0, default_opacity, -1 },
{ "tag3", NULL, 1 << 2, 0, default_opacity, -1 },
{ "tag4", NULL, 1 << 3, 0, default_opacity, -1 },
{ "tag5", NULL, 1 << 4, 0, default_opacity, -1 },
{ "tag6", NULL, 1 << 5, 0, default_opacity, -1 },
{ "tag7", NULL, 1 << 6, 0, default_opacity, -1 },
{ "tag8", NULL, 1 << 7, 0, default_opacity, -1 },
{ "tag9", NULL, 1 << 8, 0, default_opacity, -1 },
{ "tag0", NULL, 1 << 9, 0, default_opacity, -1 },
{ "KeePassXC", NULL, 0, 1, default_opacity, -1 },
{ "firefox", NULL, 1 << 0, 0, default_opacity, -1 },
{ "chromium", NULL, 1 << 0, 0, default_opacity, -1 },
{ "Emacs", NULL, 1 << 1, 0, 1, -1 },
{ "emacs", NULL, 1 << 1, 0, 1, -1 },
{ "Alacritty", NULL, 1 << 2, 0, 1, -1 },
{ "foot", NULL, 1 << 2, 0, 1, -1 },
{ NULL, "Passwords.kdbx", 1 << 3, 0, default_opacity, -1 },
{ NULL, "TOTP.kdbx", 1 << 3, 0, default_opacity, -1 },
{ NULL, "Unlock Database", 0 , 1, default_opacity, -1 },
{ "office", NULL, 1 << 4, 0, default_opacity, -1 },
{ "zathura", NULL, 1 << 4, 0, default_opacity, -1 },
{ "imv", NULL, 1 << 5, 0, 1, -1 },
{ "zoom", NULL, 1 << 6, 0, default_opacity, -1 },
{ "mpv", NULL, 1 << 6, 0, 1, -1 },
{ "telegram", NULL, 1 << 8, 0, default_opacity, -1 },
{"thunderbird",NULL, 1 << 8, 0, default_opacity, -1 },
{ "weechat", NULL, 1 << 8, 0, 1, -1 },
{ "neomutt", NULL, 1 << 8, 0, 1, -1 },
{ "wlroots", NULL, 1 << 9, 0, 1, -1 },
};
/* layout(s) */
static const Layout layouts[] = {
/* symbol arrange function */
{ "[]=", tile },
{ "><>", NULL }, /* no layout function means floating behavior */
{ "[T]", tile },
{ "[F]", NULL }, /* no layout function means floating behavior */
{ "[M]", monocle },
{ NULL, NULL },
};
@ -56,22 +116,16 @@ static const MonitorRule monrules[] = {
{ "eDP-1", 0.5, 1, 2, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, 0, 0, 0, 0, 120.000, 1, 0 },
*/
/* defaults */
{ NULL, 0.55, 1, 1, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, 0, 0, 0, 0, 0, 0, 1},
{ NULL, 0.55, 1, 1, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, 0, 0, 0, 0, 40.005, 0, 0 },
};
/* keyboard */
static const struct xkb_rule_names xkb_rules = {
/* can specify fields: rules, model, layout, variant, options */
/* example:
.options = "ctrl:nocaps",
*/
.options = NULL,
0
};
/* numlock and capslock */
static const int numlock = 1;
static const int capslock = 0;
static const int repeat_rate = 25;
static const int repeat_delay = 600;
@ -109,7 +163,7 @@ static const uint32_t send_events_mode = LIBINPUT_CONFIG_SEND_EVENTS_ENABLED;
LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT
LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE
*/
static const enum libinput_config_accel_profile accel_profile = LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE;
static const enum libinput_config_accel_profile accel_profile = LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT;
static const double accel_speed = 0.0;
/* You can choose between:
LIBINPUT_CONFIG_TAP_MAP_LRM -- 1/2/3 finger tap maps to left/right/middle
@ -117,56 +171,73 @@ LIBINPUT_CONFIG_TAP_MAP_LMR -- 1/2/3 finger tap maps to left/middle/right
*/
static const enum libinput_config_tap_button_map button_map = LIBINPUT_CONFIG_TAP_MAP_LRM;
/* Autostart */
static const char *const autostart[] = {
"sh", "-c", "swaybg --image /xap/local/background", NULL,
NULL /* terminate */
};
/* If you want to use the windows key for MODKEY, use WLR_MODIFIER_LOGO */
#define MODKEY WLR_MODIFIER_ALT
#define MODKEY WLR_MODIFIER_LOGO
#define ALTKEY WLR_MODIFIER_ALT
#define Control WLR_MODIFIER_CTRL
#define Shift WLR_MODIFIER_SHIFT
#define TAGKEYS(KEY,TAG) \
{ MODKEY, KEY, view, {.ui = 1 << TAG} }, \
{ MODKEY|WLR_MODIFIER_CTRL, KEY, toggleview, {.ui = 1 << TAG} }, \
{ MODKEY|WLR_MODIFIER_SHIFT, KEY, tag, {.ui = 1 << TAG} }, \
{ MODKEY|WLR_MODIFIER_CTRL|WLR_MODIFIER_SHIFT,KEY,toggletag, {.ui = 1 << TAG} }
{ MODKEY|Control, KEY, toggleview, {.ui = 1 << TAG} }, \
{ MODKEY|Shift, KEY, tag, {.ui = 1 << TAG} }, \
{ MODKEY|Control|Shift, KEY, toggletag, {.ui = 1 << TAG} }
/* helper for spawning shell commands in the pre dwm-5.0 fashion */
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
/* commands */
static const char *termcmd[] = { "foot", NULL };
static const char *menucmd[] = { "bemenu-run", NULL };
/* helper for run programs */
#define RUN(...) { .v = (const char*[]){ __VA_ARGS__, NULL } }
#include "keys.h"
#define DEFAULT_STEP "2"
/* You'll probably wanna change some of these */
static const Key keys[] = {
/* modifier key function argument */
{ MODKEY, Key_p, spawn, {.v = menucmd} },
{ MODKEY|WLR_MODIFIER_SHIFT, Key_Return, spawn, {.v = termcmd} },
/* ------------------ Windows ------------------ */
/* Switch between windows */
{ MODKEY, Key_j, focusstack, {.i = +1} },
{ MODKEY, Key_k, focusstack, {.i = -1} },
{ MODKEY|Control|Shift,Key_Return, zoom, {0} },
/* Change window sizes */
{ MODKEY, Key_i, incnmaster, {.i = +1} },
{ MODKEY, Key_d, incnmaster, {.i = -1} },
{ MODKEY|Shift, Key_i, incnmaster, {.i = -1} },
{ MODKEY, Key_h, setmfact, {.f = -0.05} },
{ MODKEY, Key_l, setmfact, {.f = +0.05} },
{ MODKEY, Key_Return, zoom, {0} },
{ MODKEY, Key_Tab, view, {0} },
{ MODKEY|WLR_MODIFIER_SHIFT, Key_c, killclient, {0} },
{ MODKEY, Key_o, setopacity, {.f = +0.1} },
{ MODKEY|WLR_MODIFIER_SHIFT, Key_o, setopacity, {.f = -0.1} },
{ MODKEY, Key_t, setlayout, {.v = &layouts[0]} },
{ MODKEY, Key_f, setlayout, {.v = &layouts[1]} },
{ MODKEY, Key_m, setlayout, {.v = &layouts[2]} },
{ MODKEY, Key_space, setlayout, {0} },
{ MODKEY|WLR_MODIFIER_SHIFT, Key_space, togglefloating, {0} },
{ MODKEY, Key_e, togglefullscreen, {0} },
{ MODKEY, Key_0, view, {.ui = ~0} },
{ MODKEY|WLR_MODIFIER_SHIFT, Key_0, tag, {.ui = ~0} },
/* Change window opacity */
{ MODKEY, Key_o, setopacity, {.f = +0.05} },
{ MODKEY|Shift, Key_o, setopacity, {.f = -0.05} },
/* Toggle floating */
{ MODKEY|Control, Key_f, togglefloating, {0} },
/* Toggle fullscreen */
{ MODKEY|Shift, Key_f, togglefullscreen, {0} },
/* Cycle layouts */
{ MODKEY, Key_Tab, cyclelayout, {.i = +1 } },
{ MODKEY|Shift, Key_Tab, cyclelayout, {.i = -1 } },
/* Focus next - prev monitor */
{ MODKEY, Key_comma, focusmon, {.i = WLR_DIRECTION_LEFT} },
{ MODKEY, Key_period, focusmon, {.i = WLR_DIRECTION_RIGHT} },
{ MODKEY|WLR_MODIFIER_SHIFT, Key_comma, tagmon, {.i = WLR_DIRECTION_LEFT} },
{ MODKEY|WLR_MODIFIER_SHIFT, Key_period, tagmon, {.i = WLR_DIRECTION_RIGHT} },
/* Send window to next - prev monitor */
{ MODKEY|Shift, Key_comma, tagmon, {.i = WLR_DIRECTION_LEFT} },
{ MODKEY|Shift, Key_period, tagmon, {.i = WLR_DIRECTION_RIGHT} },
/* Kill window */
{ MODKEY, Key_w, killclient, {0} },
/* Quit dwl */
{ MODKEY|Control, Key_q, quit, {0} },
/* ---------------- Workspaces ----------------- */
TAGKEYS( Key_1, 0),
TAGKEYS( Key_2, 1),
TAGKEYS( Key_3, 2),
@ -176,11 +247,104 @@ static const Key keys[] = {
TAGKEYS( Key_7, 6),
TAGKEYS( Key_8, 7),
TAGKEYS( Key_9, 8),
{ MODKEY|WLR_MODIFIER_SHIFT, Key_q, quit, {0} },
TAGKEYS( Key_0, 9),
/* Switch between the last tag and the current */
{ MODKEY, Key_slash, view, {0} },
{ MODKEY|Shift, Key_slash, view, {.ui = ~0} },
/* ------------------- Apps -------------------- */
{ MODKEY, Key_m, spawn, RUN("fuzzel_run") },
{ MODKEY|Shift, Key_m, spawn, RUN("fuzzel") },
{ MODKEY, Key_d, spawn, RUN("fnott-select-n-run", "dismiss") },
{ MODKEY|Shift, Key_d, spawn, RUN("fnottctl", "dismiss") },
{ MODKEY|Control, Key_d, spawn, RUN("fnottctl", "dismiss" "all") },
{ MODKEY, Key_a, spawn, RUN("fnott-select-n-run", "actions") },
{ MODKEY|Shift, Key_a, spawn, RUN("fnottctl", "actions") },
/* Terminal emulators */
{ MODKEY, Key_Return, spawn, RUN("footclient") },
{ MODKEY|Shift, Key_Return, spawn, SHCMD("alacritty msg create-window || alacritty") },
/* Browsers */
{ MODKEY, Key_b, spawn, RUN("firefox") },
{ MODKEY|Shift, Key_b, spawn, RUN("chromium") },
{ MODKEY, Key_e, spawn, RUN("emacsclient", "-r", "-a", "") },
{ MODKEY, Key_c, spawn, RUN("nextcloud") },
{ MODKEY|Shift, Key_c, spawn, RUN("nextcloud", "--background") },
/* Screenshot */
{ MODKEY, Key_s, spawn, SHCMD("grim - | swappy -f -") },
{ MODKEY|Shift, Key_s, spawn, SHCMD("grim -g \"$(slurp)\" - | swappy -f -") },
/* Music Players */
{ MODKEY, Key_p, spawn, RUN("mpv", "--no-terminal") },
/* Mail client */
{ MODKEY, Key_n, spawn, RUN("footclient", "-a", "neomutt", "startneomutt") },
{ MODKEY|Shift, Key_n, spawn, RUN("footclient", "-a", "weechat", "startweechat") },
{ MODKEY, Key_t, spawn, RUN("thunderbird") },
/* ----------------- Hardware ------------------ */
/* Shutdown computer */
{ ALTKEY|Control, Key_Delete, spawn, RUN("loginctl", "poweroff") },
/* Restart computer */
{ ALTKEY|Control, Key_Insert, spawn, RUN("loginctl", "reboot") },
/* Hibernate computer */
{ MODKEY|Control, Key_Delete, spawn, RUN("loginctl", "hibernate") },
/* Suspend computer */
{ MODKEY|Control, Key_Insert, spawn, RUN("loginctl", "suspend") },
/* rfkill */
{ 0, Key_XF86RFKill, spawn, RUN("toggle-rfkill") },
/* Volume */
{ 0, Key_XF86AudioLowerVolume, spawn, RUN("wpctl", "set-volume", "@DEFAULT_AUDIO_SINK@", DEFAULT_STEP"%-")},
{ 0, Key_XF86AudioRaiseVolume, spawn, RUN("wpctl", "set-volume", "@DEFAULT_AUDIO_SINK@", DEFAULT_STEP"%+")},
{ 0, Key_XF86AudioMute, spawn, RUN("wpctl", "set-mute", "@DEFAULT_AUDIO_SINK@", "toggle")},
{ 0, Key_XF86MonBrightnessDown, spawn, RUN("brightnessctl", "set", DEFAULT_STEP"%-") },
{ 0, Key_XF86MonBrightnessUp, spawn, RUN("brightnessctl", "set", "+"DEFAULT_STEP"%") },
/* ------------ Control music players ------------ */
/* Previus or next song */
{ 0, Key_XF86AudioPrev, spawn, RUN("playerctl", "-i", "spotify", "previous") },
{ 0, Key_XF86AudioNext, spawn, RUN("playerctl", "-i", "spotify", "next") },
{ MODKEY, Key_XF86AudioPrev, spawn, RUN("playerctl", "-p", "spotify", "previous") },
{ MODKEY, Key_XF86AudioNext, spawn, RUN("playerctl", "-p", "spotify", "next") },
/* Play or pause */
{ 0, Key_XF86AudioPlay, spawn, RUN("playerctl", "-i", "spotify", "play-pause") },
{ MODKEY, Key_XF86AudioPlay, spawn, RUN("playerctl", "-p", "spotify", "play-pause") },
/* Volume (all except spotify) */
{ MODKEY, Key_XF86AudioLowerVolume, spawn, RUN("playerctl", "-i", "spotify", "volume", "0.0"DEFAULT_STEP"-") },
{ MODKEY, Key_XF86AudioRaiseVolume, spawn, RUN("playerctl", "-i", "spotify", "volume", "0.0"DEFAULT_STEP"+") },
/* Volume (only for spotify) */
{ ALTKEY, Key_XF86AudioLowerVolume, spawn, RUN("vol_spotify", "-"DEFAULT_STEP"%") },
{ ALTKEY, Key_XF86AudioLowerVolume, spawn, RUN("vol_spotify", "+"DEFAULT_STEP"%") },
{ ALTKEY, Key_XF86AudioMute, spawn, RUN("vol_spotify", "toggle-mute")},
/* Outputs power on/off */
{ MODKEY|Control, Key_o, spawn, SHCMD("for o in $(wlr-randr | awk '/^[^[:space:]]+/ {printf $1}'); do\n"
"wlr-randr --output \"${o}\" --toggle\n"
"done")},
/* ------------------- TTY's ------------------- */
/* Ctrl-Alt-Backspace and Ctrl-Alt-Fx used to be handled by X server */
{ WLR_MODIFIER_CTRL|WLR_MODIFIER_ALT,Key_BackSpace, quit, {0} },
#define CHVT(KEY,n) { WLR_MODIFIER_CTRL|WLR_MODIFIER_ALT, KEY, chvt, {.ui = (n)} }
{ Control|ALTKEY, Key_BackSpace, quit, {0} },
#define CHVT(KEY,n) { Control|ALTKEY, KEY, chvt, {.ui = (n)} }
CHVT(Key_F1, 1), CHVT(Key_F2, 2), CHVT(Key_F3, 3), CHVT(Key_F4, 4),
CHVT(Key_F5, 5), CHVT(Key_F6, 6), CHVT(Key_F7, 7), CHVT(Key_F8, 8),
CHVT(Key_F9, 9), CHVT(Key_F10, 10), CHVT(Key_F11, 11), CHVT(Key_F12, 12),