diff --git a/config.h b/config.h index 10ad053..c10391f 100644 --- a/config.h +++ b/config.h @@ -64,8 +64,8 @@ static const struct xkb_rule_names xkb_rules = { .options = NULL, }; -static const int repeat_rate = 25; -static const int repeat_delay = 600; +static const int repeat_rate = 50; +static const int repeat_delay = 300; /* Trackpad */ static const int tap_to_click = 1; @@ -111,7 +111,8 @@ 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; /* If you want to use the windows key for MODKEY, use WLR_MODIFIER_LOGO */ -#define MODKEY WLR_MODIFIER_ALT +// #define MODKEY WLR_MODIFIER_ALT +#define MODKEY WLR_MODIFIER_LOGO #define TAGKEYS(KEY,SKEY,TAG) \ { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ @@ -123,9 +124,9 @@ static const enum libinput_config_tap_button_map button_map = LIBINPUT_CONFIG_TA #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } /* commands */ -static const char *termcmd[] = { "kitty", NULL }; -static const char *menucmd[] = { "wofi", "--show", "drun", NULL }; -static const char *browsercmd[] = { "firefox", NULL }; +static const char *termcmd[] = { "foot", NULL }; +static const char *menucmd[] = { "wmenu-run", NULL }; +static const char *browsercmd[] = { "qutebrowser", NULL }; static const Key keys[] = { /* Note that Shift changes certain key codes: c -> C, 2 -> at, etc. */ @@ -137,32 +138,28 @@ static const Key keys[] = { { MODKEY, XKB_KEY_k, focusstack, {.i = -1} }, { MODKEY, XKB_KEY_i, incnmaster, {.i = +1} }, { MODKEY, XKB_KEY_d, incnmaster, {.i = -1} }, - { MODKEY, XKB_KEY_h, setmfact, {.f = -0.05f} }, - { MODKEY, XKB_KEY_l, setmfact, {.f = +0.05f} }, + { MODKEY, XKB_KEY_Left, setmfact, {.f = -0.05f} }, + { MODKEY, XKB_KEY_Right, setmfact, {.f = +0.05f} }, { MODKEY, XKB_KEY_Return, zoom, {0} }, { MODKEY, XKB_KEY_Tab, view, {0} }, - { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_C, killclient, {0} }, + { MODKEY, XKB_KEY_q, killclient, {0} }, { MODKEY, XKB_KEY_t, setlayout, {.v = &layouts[0]} }, { MODKEY, XKB_KEY_f, setlayout, {.v = &layouts[1]} }, - { MODKEY, XKB_KEY_m, setlayout, {.v = &layouts[2]} }, + { MODKEY, XKB_KEY_z, setlayout, {.v = &layouts[2]} }, { MODKEY, XKB_KEY_v, togglefloating, {0} }, { MODKEY, XKB_KEY_e, togglefullscreen, {0} }, { MODKEY, XKB_KEY_0, view, {.ui = ~0} }, { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_parenright, tag, {.ui = ~0} }, - { MODKEY, XKB_KEY_comma, focusmon, {.i = WLR_DIRECTION_LEFT} }, - { MODKEY, XKB_KEY_period, focusmon, {.i = WLR_DIRECTION_RIGHT} }, - { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_less, tagmon, {.i = WLR_DIRECTION_LEFT} }, - { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_greater, tagmon, {.i = WLR_DIRECTION_RIGHT} }, - TAGKEYS( XKB_KEY_1, XKB_KEY_exclam, 0), - TAGKEYS( XKB_KEY_2, XKB_KEY_at, 1), - TAGKEYS( XKB_KEY_3, XKB_KEY_numbersign, 2), - TAGKEYS( XKB_KEY_4, XKB_KEY_dollar, 3), - TAGKEYS( XKB_KEY_5, XKB_KEY_percent, 4), - TAGKEYS( XKB_KEY_6, XKB_KEY_asciicircum, 5), - TAGKEYS( XKB_KEY_7, XKB_KEY_ampersand, 6), - TAGKEYS( XKB_KEY_8, XKB_KEY_asterisk, 7), - TAGKEYS( XKB_KEY_9, XKB_KEY_parenleft, 8), - { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_Q, quit, {0} }, + TAGKEYS( XKB_KEY_1, XKB_KEY_bracketright, 0), + TAGKEYS( XKB_KEY_2, XKB_KEY_braceright, 1), + TAGKEYS( XKB_KEY_3, XKB_KEY_parenright, 2), + TAGKEYS( XKB_KEY_4, XKB_KEY_bracketleft, 3), + TAGKEYS( XKB_KEY_5, XKB_KEY_braceleft, 4), + TAGKEYS( XKB_KEY_6, XKB_KEY_parenright, 5), + TAGKEYS( XKB_KEY_7, XKB_KEY_exclam, 6), + TAGKEYS( XKB_KEY_8, XKB_KEY_percent, 7), + TAGKEYS( XKB_KEY_9, XKB_KEY_at, 8), + { MODKEY, XKB_KEY_m, quit, {0} }, /* Ctrl-Alt-Backspace and Ctrl-Alt-Fx used to be handled by X server */ { WLR_MODIFIER_CTRL|WLR_MODIFIER_ALT,XKB_KEY_Terminate_Server, quit, {0} }, diff --git a/config.mk b/config.mk index eb08a05..6415ace 100644 --- a/config.mk +++ b/config.mk @@ -24,11 +24,11 @@ WLR_LIBS = `$(PKG_CONFIG) --libs wlroots-0.19` # -I$(PWD)/wlroots/0.19/include/wlroots-0.19 #WLR_LIBS = -Wl,-rpath,$(PWD)/wlroots/0.19/lib64 -L$(PWD)/wlroots/0.19/lib64 -lwlroots-0.19 -XWAYLAND = -XLIBS = +# XWAYLAND = +# XLIBS = # Uncomment to build XWayland support -#XWAYLAND = -DXWAYLAND -#XLIBS = xcb xcb-icccm +XWAYLAND = -DXWAYLAND +XLIBS = xcb xcb-icccm # dwl itself only uses C99 features, but wlroots' headers use anonymous unions (C11). # To avoid warnings about them, we do not use -std=c99 and instead of using the diff --git a/flake.nix b/flake.nix index 5060596..b44030b 100644 --- a/flake.nix +++ b/flake.nix @@ -25,6 +25,7 @@ wayland-scanner libinput pixman + git ]; # Add the necessary build dependencies for dwl buildInputs = with pkgs; [ @@ -33,6 +34,14 @@ wayland-protocols wlroots xorg.libxcb + xorg.xcbutil + xorg.xcbutilwm + xorg.xcbutilkeysyms + xorg.xcbutilimage + xorg.xcbutilcursor + xorg.xcbutilrenderutil + xorg.xcbutilerrors + xorg.xcbutilwm # ✅ for xcb_ewmh.h ]; # The build and installation process