From 9c7e3d61414a846c6b85d62f76177a30a255423a Mon Sep 17 00:00:00 2001 From: okan Date: Fri, 29 Dec 2017 20:03:46 +0000 Subject: Convert menu-exec-wm from an abritrary exec menu, into a config-based menu from which one may configure (wm ) (and choose) specific window managers to replace the running one. 'wm cwm cwm' is included by default. No objections and seems sensible to sthen. --- parse.y | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'parse.y') diff --git a/parse.y b/parse.y index e7eaf18..b8a72cb 100644 --- a/parse.y +++ b/parse.y @@ -1,4 +1,4 @@ -/* $OpenBSD: parse.y,v 1.68 2017/04/26 21:10:54 okan Exp $ */ +/* $OpenBSD: parse.y,v 1.69 2017/12/29 20:03:46 okan Exp $ */ /* * Copyright (c) 2002, 2003, 2004 Henning Brauer @@ -70,7 +70,7 @@ typedef struct { %token BINDKEY UNBINDKEY BINDMOUSE UNBINDMOUSE %token FONTNAME STICKY GAP -%token AUTOGROUP COMMAND IGNORE +%token AUTOGROUP COMMAND IGNORE WM %token YES NO BORDERWIDTH MOVEAMOUNT %token COLOR SNAPDIST %token ACTIVEBORDER INACTIVEBORDER URGENCYBORDER @@ -146,6 +146,16 @@ main : FONTNAME STRING { free($2); free($3); } + | WM STRING string { + if (!conf_wm_add(conf, $2, $3)) { + yyerror("wm name/path too long"); + free($2); + free($3); + YYERROR; + } + free($2); + free($3); + } | AUTOGROUP NUMBER STRING { if ($2 < 0 || $2 > 9) { yyerror("invalid autogroup"); @@ -317,6 +327,7 @@ lookup(char *s) { "unbind-mouse", UNBINDMOUSE}, { "ungroupborder", UNGROUPBORDER}, { "urgencyborder", URGENCYBORDER}, + { "wm", WM}, { "yes", YES} }; const struct keywords *p; -- cgit v1.2.3-2-gb3c3