mirror of
				https://codeberg.org/dwl/dwl.git
				synced 2025-11-03 09:01:45 -05:00 
			
		
		
		
	update config
This commit is contained in:
		
							parent
							
								
									507cd2e9fc
								
							
						
					
					
						commit
						b2123c8957
					
				
					 1 changed files with 249 additions and 85 deletions
				
			
		
							
								
								
									
										294
									
								
								config.def.h
									
										
									
									
									
								
							
							
						
						
									
										294
									
								
								config.def.h
									
										
									
									
									
								
							| 
						 | 
					@ -5,44 +5,104 @@
 | 
				
			||||||
                        (hex & 0xFF) / 255.0f }
 | 
					                        (hex & 0xFF) / 255.0f }
 | 
				
			||||||
/* appearance */
 | 
					/* appearance */
 | 
				
			||||||
static const int sloppyfocus               = 1;  /* focus follows mouse */
 | 
					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 bypass_surface_visibility = 1;  /* 1 means idle inhibitors will disable idle tracking even if it's surface isn't visible  */
 | 
				
			||||||
static const int smartborders              = 1;
 | 
					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 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 int monoclegaps               = 1;  /* 1 means outer gaps in monocle layout */
 | 
				
			||||||
static const unsigned int borderpx         = 1;  /* border pixel of windows */
 | 
					static const unsigned int borderpx         = 2;  /* border pixel of windows */
 | 
				
			||||||
static const unsigned int gappih           = 10; /* horiz inner gap between windows */
 | 
					static const unsigned int gappih           = 6;  /* horiz inner gap between windows */
 | 
				
			||||||
static const unsigned int gappiv           = 10; /* vert inner gap between windows */
 | 
					static const unsigned int gappiv           = 6;  /* vert inner gap between windows */
 | 
				
			||||||
static const unsigned int gappoh           = 10; /* horiz outer gap between windows and screen edge */
 | 
					static const unsigned int gappoh           = 6;  /* horiz outer gap between windows and screen edge */
 | 
				
			||||||
static const unsigned int gappov           = 10; /* vert 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             = NULL; /* theme from /usr/share/cursors/xorg-x11 or ${XCURSOR_PATH} */
 | 
					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 char cursorsize[]             = "24";
 | 
				
			||||||
static const float bordercolor[]           = COLOR(0x444444ff);
 | 
					static const float focuscolor[]            = COLOR(0x6000ffff);
 | 
				
			||||||
static const float focuscolor[]            = COLOR(0x005577ff);
 | 
					static const float bordercolor[]           = COLOR(0x000000B3);
 | 
				
			||||||
static const float urgentcolor[]           = COLOR(0xff0000ff);
 | 
					static const float urgentcolor[]           = COLOR(0xff0000ff);
 | 
				
			||||||
/* To conform the xdg-protocol, set the alpha to zero to restore the old behavior */
 | 
					/* 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 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 */
 | 
					/* tagging - TAGCOUNT must be no greater than 31 */
 | 
				
			||||||
#define TAGCOUNT (9)
 | 
					#define TAGCOUNT (10u)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* logging */
 | 
					/* logging */
 | 
				
			||||||
static int log_level = WLR_ERROR;
 | 
					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[] = {
 | 
					static const Rule rules[] = {
 | 
				
			||||||
	/* app_id     title       tags mask     isfloating   alpha           monitor */
 | 
						/* app_id      title       tags mask  isfloating opacity          monitor */
 | 
				
			||||||
	/* examples:
 | 
						/* 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) */
 | 
					/* layout(s) */
 | 
				
			||||||
static const Layout layouts[] = {
 | 
					static const Layout layouts[] = {
 | 
				
			||||||
	/* symbol     arrange function */
 | 
						/* symbol     arrange function */
 | 
				
			||||||
	{ "[]=",      tile },
 | 
						{ "[T]",      tile },
 | 
				
			||||||
	{ "><>",      NULL },    /* no layout function means floating behavior */
 | 
						{ "[F]",      NULL },    /* no layout function means floating behavior */
 | 
				
			||||||
	{ "[M]",      monocle },
 | 
						{ "[M]",      monocle },
 | 
				
			||||||
	{ NULL,       NULL },
 | 
						{ 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 },
 | 
						{ "eDP-1",    0.5,  1,      2,    &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, 0, 0, 0,   0,   120.000, 1,       0 },
 | 
				
			||||||
	*/
 | 
						*/
 | 
				
			||||||
	/* defaults */
 | 
						/* 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 */
 | 
					/* keyboard */
 | 
				
			||||||
static const struct xkb_rule_names xkb_rules = {
 | 
					static const struct xkb_rule_names xkb_rules = {
 | 
				
			||||||
	/* can specify fields: rules, model, layout, variant, options */
 | 
						/* can specify fields: rules, model, layout, variant, options */
 | 
				
			||||||
	/* example:
 | 
						0
 | 
				
			||||||
	.options = "ctrl:nocaps",
 | 
					 | 
				
			||||||
	*/
 | 
					 | 
				
			||||||
	.options = NULL,
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* numlock and capslock */
 | 
					 | 
				
			||||||
static const int numlock = 1;
 | 
					 | 
				
			||||||
static const int capslock = 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static const int repeat_rate = 25;
 | 
					static const int repeat_rate = 25;
 | 
				
			||||||
static const int repeat_delay = 600;
 | 
					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_FLAT
 | 
				
			||||||
LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE
 | 
					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;
 | 
					static const double accel_speed = 0.0;
 | 
				
			||||||
/* You can choose between:
 | 
					/* You can choose between:
 | 
				
			||||||
LIBINPUT_CONFIG_TAP_MAP_LRM -- 1/2/3 finger tap maps to left/right/middle
 | 
					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;
 | 
					static const enum libinput_config_tap_button_map button_map = LIBINPUT_CONFIG_TAP_MAP_LRM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Autostart */
 | 
					#define MODKEY  WLR_MODIFIER_LOGO
 | 
				
			||||||
static const char *const autostart[] = {
 | 
					#define ALTKEY  WLR_MODIFIER_ALT
 | 
				
			||||||
        "sh", "-c", "swaybg --image /xap/local/background", NULL,
 | 
					#define Control WLR_MODIFIER_CTRL
 | 
				
			||||||
        NULL /* terminate */
 | 
					#define Shift   WLR_MODIFIER_SHIFT
 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* If you want to use the windows key for MODKEY, use WLR_MODIFIER_LOGO */
 | 
					 | 
				
			||||||
#define MODKEY WLR_MODIFIER_ALT
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define TAGKEYS(KEY,TAG) \
 | 
					#define TAGKEYS(KEY,TAG) \
 | 
				
			||||||
	{ MODKEY,               KEY, view,       {.ui = 1 << TAG} }, \
 | 
						{ MODKEY,               KEY, view,       {.ui = 1 << TAG} }, \
 | 
				
			||||||
	{ MODKEY|WLR_MODIFIER_CTRL,  KEY,            toggleview,      {.ui = 1 << TAG} }, \
 | 
						{ MODKEY|Control,       KEY, toggleview, {.ui = 1 << TAG} }, \
 | 
				
			||||||
	{ MODKEY|WLR_MODIFIER_SHIFT, KEY,            tag,             {.ui = 1 << TAG} }, \
 | 
						{ MODKEY|Shift,         KEY, tag,        {.ui = 1 << TAG} }, \
 | 
				
			||||||
	{ MODKEY|WLR_MODIFIER_CTRL|WLR_MODIFIER_SHIFT,KEY,toggletag,  {.ui = 1 << TAG} }
 | 
						{ MODKEY|Control|Shift, KEY, toggletag,  {.ui = 1 << TAG} }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* helper for spawning shell commands in the pre dwm-5.0 fashion */
 | 
					/* helper for spawning shell commands in the pre dwm-5.0 fashion */
 | 
				
			||||||
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
 | 
					#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* commands */
 | 
					/* helper for run programs */
 | 
				
			||||||
static const char *termcmd[] = { "foot", NULL };
 | 
					#define RUN(...)   { .v = (const char*[]){ __VA_ARGS__, NULL } }
 | 
				
			||||||
static const char *menucmd[] = { "bemenu-run", NULL };
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "keys.h"
 | 
					#include "keys.h"
 | 
				
			||||||
 | 
					#define DEFAULT_STEP "2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* You'll probably wanna change some of these */
 | 
				
			||||||
static const Key keys[] = {
 | 
					static const Key keys[] = {
 | 
				
			||||||
	/* modifier                  key          function        argument */
 | 
					
 | 
				
			||||||
	{ MODKEY,                    Key_p,       spawn,          {.v = menucmd} },
 | 
						/* ------------------ Windows ------------------ */
 | 
				
			||||||
	{ MODKEY|WLR_MODIFIER_SHIFT, Key_Return,  spawn,          {.v = termcmd} },
 | 
					
 | 
				
			||||||
 | 
						/* Switch between windows */
 | 
				
			||||||
	{ MODKEY,              Key_j,           focusstack,       {.i = +1} },
 | 
						{ MODKEY,              Key_j,           focusstack,       {.i = +1} },
 | 
				
			||||||
	{ MODKEY,              Key_k,           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_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_h,           setmfact,         {.f = -0.05} },
 | 
				
			||||||
	{ MODKEY,              Key_l,           setmfact,         {.f = +0.05} },
 | 
						{ MODKEY,              Key_l,           setmfact,         {.f = +0.05} },
 | 
				
			||||||
	{ MODKEY,                    Key_Return,  zoom,           {0} },
 | 
					
 | 
				
			||||||
	{ MODKEY,                    Key_Tab,     view,           {0} },
 | 
						/* Change window opacity */
 | 
				
			||||||
	{ MODKEY|WLR_MODIFIER_SHIFT, Key_c,       killclient,     {0} },
 | 
						{ MODKEY,              Key_o,           setopacity,       {.f = +0.05} },
 | 
				
			||||||
	{ MODKEY,                    Key_o,       setopacity,     {.f = +0.1} },
 | 
						{ MODKEY|Shift,        Key_o,           setopacity,       {.f = -0.05} },
 | 
				
			||||||
	{ MODKEY|WLR_MODIFIER_SHIFT, Key_o,       setopacity,     {.f = -0.1} },
 | 
					
 | 
				
			||||||
	{ MODKEY,                    Key_t,       setlayout,      {.v = &layouts[0]} },
 | 
						/* Toggle floating */
 | 
				
			||||||
	{ MODKEY,                    Key_f,       setlayout,      {.v = &layouts[1]} },
 | 
						{ MODKEY|Control,      Key_f,           togglefloating,   {0} },
 | 
				
			||||||
	{ MODKEY,                    Key_m,       setlayout,      {.v = &layouts[2]} },
 | 
					
 | 
				
			||||||
	{ MODKEY,                    Key_space,   setlayout,      {0} },
 | 
						/* Toggle fullscreen */
 | 
				
			||||||
	{ MODKEY|WLR_MODIFIER_SHIFT, Key_space,   togglefloating, {0} },
 | 
						{ MODKEY|Shift,        Key_f,           togglefullscreen, {0} },
 | 
				
			||||||
	{ MODKEY,                    Key_e,       togglefullscreen, {0} },
 | 
					
 | 
				
			||||||
	{ MODKEY,                    Key_0,       view,           {.ui = ~0} },
 | 
						/* Cycle layouts */
 | 
				
			||||||
	{ MODKEY|WLR_MODIFIER_SHIFT, Key_0,       tag,            {.ui = ~0} },
 | 
						{ 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_comma,       focusmon,         {.i = WLR_DIRECTION_LEFT} },
 | 
				
			||||||
	{ MODKEY,              Key_period,      focusmon,         {.i = WLR_DIRECTION_RIGHT} },
 | 
						{ 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_1,                             0),
 | 
				
			||||||
	TAGKEYS(               Key_2,                             1),
 | 
						TAGKEYS(               Key_2,                             1),
 | 
				
			||||||
	TAGKEYS(               Key_3,                             2),
 | 
						TAGKEYS(               Key_3,                             2),
 | 
				
			||||||
| 
						 | 
					@ -176,11 +247,104 @@ static const Key keys[] = {
 | 
				
			||||||
	TAGKEYS(               Key_7,                             6),
 | 
						TAGKEYS(               Key_7,                             6),
 | 
				
			||||||
	TAGKEYS(               Key_8,                             7),
 | 
						TAGKEYS(               Key_8,                             7),
 | 
				
			||||||
	TAGKEYS(               Key_9,                             8),
 | 
						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 */
 | 
						/* Ctrl-Alt-Backspace and Ctrl-Alt-Fx used to be handled by X server */
 | 
				
			||||||
	{ WLR_MODIFIER_CTRL|WLR_MODIFIER_ALT,Key_BackSpace, quit, {0} },
 | 
						{ Control|ALTKEY,      Key_BackSpace,   quit,             {0} },
 | 
				
			||||||
#define CHVT(KEY,n) { WLR_MODIFIER_CTRL|WLR_MODIFIER_ALT, KEY, chvt, {.ui = (n)} }
 | 
					#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_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_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),
 | 
						CHVT(Key_F9, 9), CHVT(Key_F10, 10), CHVT(Key_F11, 11), CHVT(Key_F12, 12),
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue