add toggletag and toggleview
This commit is contained in:
		| @@ -32,7 +32,9 @@ static const struct xkb_rule_names xkb_rules = { | ||||
| #define MODKEY WLR_MODIFIER_ALT | ||||
| #define TAGKEYS(KEY,SKEY,TAG) \ | ||||
| 	{ MODKEY,                    KEY,            view,            {.ui = 1 << TAG} }, \ | ||||
| 	{ MODKEY|WLR_MODIFIER_SHIFT, SKEY,           tag,             {.ui = 1 << TAG} } | ||||
| 	{ MODKEY|WLR_MODIFIER_CTRL,  KEY,            toggleview,      {.ui = 1 << TAG} }, \ | ||||
| 	{ MODKEY|WLR_MODIFIER_SHIFT, SKEY,           tag,             {.ui = 1 << TAG} }, \ | ||||
| 	{ MODKEY|WLR_MODIFIER_CTRL|WLR_MODIFIER_SHIFT,SKEY,toggletag, {.ui = 1 << TAG} } | ||||
|  | ||||
| /* commands */ | ||||
| static const char *termcmd[]  = { "kitty", "-o", "linux_display_server=wayland", NULL }; | ||||
|   | ||||
							
								
								
									
										27
									
								
								dwl.c
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								dwl.c
									
									
									
									
									
								
							| @@ -154,6 +154,8 @@ static void spawn(const Arg *arg); | ||||
| static void tag(const Arg *arg); | ||||
| static void tile(Monitor *m); | ||||
| static void togglefloating(const Arg *arg); | ||||
| static void toggletag(const Arg *arg); | ||||
| static void toggleview(const Arg *arg); | ||||
| static void unmapnotify(struct wl_listener *listener, void *data); | ||||
| static void view(const Arg *arg); | ||||
| static Client *xytoclient(double x, double y, | ||||
| @@ -1116,6 +1118,31 @@ togglefloating(const Arg *arg) | ||||
| 	sel->isfloating = !sel->isfloating /* || sel->isfixed */; | ||||
| } | ||||
|  | ||||
| void | ||||
| toggletag(const Arg *arg) | ||||
| { | ||||
| 	unsigned int newtags; | ||||
| 	Client *sel = selclient(); | ||||
| 	if (!sel) | ||||
| 		return; | ||||
| 	newtags = sel->tags ^ (arg->ui & TAGMASK); | ||||
| 	if (newtags) { | ||||
| 		sel->tags = newtags; | ||||
| 		focus(NULL, NULL); | ||||
| 	} | ||||
| } | ||||
|  | ||||
| void | ||||
| toggleview(const Arg *arg) | ||||
| { | ||||
| 	unsigned int newtagset = selmon->tagset[selmon->seltags] ^ (arg->ui & TAGMASK); | ||||
|  | ||||
| 	if (newtagset) { | ||||
| 		selmon->tagset[selmon->seltags] = newtagset; | ||||
| 		focus(NULL, NULL); | ||||
| 	} | ||||
| } | ||||
|  | ||||
| void | ||||
| unmapnotify(struct wl_listener *listener, void *data) | ||||
| { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user