From 9f90011ea28a4b0fde87c4478a793f9da8b71ea6 Mon Sep 17 00:00:00 2001 From: "Devin J. Pohly" Date: Tue, 16 Feb 2021 13:20:42 -0600 Subject: [PATCH 1/5] add note about wlroots-next branch --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f504672..92c6221 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ Feature *non-goals* include: ## Building dwl -dwl has only two dependencies: wlroots 0.12 and wayland-protocols. Simply install these and run `make`. +dwl has only two dependencies: wlroots 0.12 and wayland-protocols. Simply install these and run `make`. If you wish to build against a Git version of wlroots, check out the [wlroots-next branch](https://github.com/djpohly/dwl/tree/wlroots-next). To enable XWayland, you should also install xorg-xwayland and uncomment its flag in `config.mk`. From 87b16e6095379ce0e0a44c73926d5cbaf9a269d9 Mon Sep 17 00:00:00 2001 From: "Devin J. Pohly" Date: Mon, 1 Mar 2021 11:17:10 -0600 Subject: [PATCH 2/5] Defaults should match dwm/Xorg default behavior --- config.def.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.def.h b/config.def.h index 4aefa2b..ceb5b34 100644 --- a/config.def.h +++ b/config.def.h @@ -49,7 +49,7 @@ static const int repeat_delay = 600; /* Trackpad */ static const int tap_to_click = 1; -static const int natural_scrolling = 1; +static const int natural_scrolling = 0; #define MODKEY WLR_MODIFIER_ALT #define TAGKEYS(KEY,SKEY,TAG) \ From 2d71c9b9ff19d76ed3e78f67ed84d4ae03edd99d Mon Sep 17 00:00:00 2001 From: "Devin J. Pohly" Date: Mon, 1 Mar 2021 11:21:15 -0600 Subject: [PATCH 3/5] Add default menu command dwm config parity --- config.def.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/config.def.h b/config.def.h index ceb5b34..f287384 100644 --- a/config.def.h +++ b/config.def.h @@ -62,11 +62,13 @@ static const int natural_scrolling = 0; #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } /* commands */ -static const char *termcmd[] = { "alacritty", NULL }; +static const char *termcmd[] = { "alacritty", NULL }; +static const char *menucmd[] = { "bemenu-run", NULL }; static const Key keys[] = { /* Note that Shift changes certain key codes: c -> C, 2 -> at, etc. */ /* modifier key function argument */ + { MODKEY, XKB_p, spawn, {.v = menucmd} }, { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_Return, spawn, {.v = termcmd} }, { MODKEY, XKB_KEY_j, focusstack, {.i = +1} }, { MODKEY, XKB_KEY_k, focusstack, {.i = -1} }, From 02eed717ca912f126c1bbabc0a8a7fa19a197f3c Mon Sep 17 00:00:00 2001 From: "Devin J. Pohly" Date: Mon, 1 Mar 2021 11:22:08 -0600 Subject: [PATCH 4/5] add explanatory command about Ctrl-Alt-Bksp/Fx --- config.def.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config.def.h b/config.def.h index f287384..9384ef6 100644 --- a/config.def.h +++ b/config.def.h @@ -101,6 +101,8 @@ static const Key keys[] = { 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} }, + + /* 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} }, #define CHVT(n) { WLR_MODIFIER_CTRL|WLR_MODIFIER_ALT,XKB_KEY_XF86Switch_VT_##n, chvt, {.ui = (n)} } CHVT(1), CHVT(2), CHVT(3), CHVT(4), CHVT(5), CHVT(6), From fd498e1910d51def032d2b68f52cd89db7ba15f6 Mon Sep 17 00:00:00 2001 From: "Devin J. Pohly" Date: Mon, 1 Mar 2021 11:25:28 -0600 Subject: [PATCH 5/5] clarify a bit about status bars --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 92c6221..7fe130d 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ dwl is a compact, hackable compositor for Wayland based on [wlroots](https://git dwl is not meant to provide every feature under the sun. Instead, like dwm, it sticks to features which are necessary, simple, and straightforward to implement given the base on which it is built. Implemented default features are: -- Any features provided by dwm/Xlib: simple window borders, tags, keybindings, client rules, mouse move/resize. The built-in status bar is an exception to avoid taking a dependency on FreeType or Pango and increasing the SLOC +- Any features provided by dwm/Xlib: simple window borders, tags, keybindings, client rules, mouse move/resize. Providing a built-in status bar is an exception to this goal, to avoid dependencies on font rendering and/or drawing libraries when an external bar could work well. - Configurable multi-monitor layout support, including position and rotation - Configurable HiDPI/multi-DPI support - Various Wayland protocols @@ -21,7 +21,7 @@ dwl is not meant to provide every feature under the sun. Instead, like dwm, it s Features under consideration (possibly as patches) are: - Protocols made trivial by wlroots -- Communication from the compositor to status bars. A straightforward possibility would be to use stdout or a provided file descriptor. +- Provide information to external status bars via stdout or another file descriptor - Implement the input-inhibitor protocol to support screen lockers - Implement the idle-inhibit protocol which lets applications such as mpv disable idle monitoring - Layer shell popups (used by Waybar)