void grabbuttons(struct ws_win *, int);
void new_region(struct swm_screen *, int, int, int, int);
+void update_modkey(unsigned int);
struct layout {
void (*l_stack)(struct workspace *, struct swm_geometry *);
char *line, *cp, *var, *val;
size_t len, lineno = 0;
int i, sc;
+ unsigned int modkey;
DNPRINTF(SWM_D_MISC, "conf_load: filename %s\n", filename);
goto bad;
break;
+ case 'm':
+ if (!strncmp(var, "modkey", strlen("modkey"))) {
+ modkey = MODKEY;
+ if (!strncmp(val, "Mod2", strlen("Mod2")))
+ modkey = Mod2Mask;
+ else if (!strncmp(val, "Mod3", strlen("Mod3")))
+ modkey = Mod3Mask;
+ else if (!strncmp(val, "Mod4", strlen("Mod4")))
+ modkey = Mod4Mask;
+ else
+ modkey = Mod1Mask;
+ update_modkey(modkey);
+ } else
+ goto bad;
+ break;
+
case 'r':
if (!strncmp(var, "region", strlen("region")))
custom_region(val);
};
void
+update_modkey(unsigned int mod)
+{
+ int i;
+
+ for (i = 0; i < LENGTH(keys); i++)
+ if (keys[i].mod & ShiftMask)
+ keys[i].mod = mod | ShiftMask;
+ else
+ keys[i].mod = mod;
+
+ for (i = 0; i < LENGTH(buttons); i++)
+ if (buttons[i].mask & ShiftMask)
+ buttons[i].mask = mod | ShiftMask;
+ else
+ buttons[i].mask = mod;
+}
+
+void
updatenumlockmask(void)
{
unsigned int i, j;
# (non-standard driver-based multihead is not seen by scrotwm)
# region = screen[1]:1280x1024+0+0
# region = screen[1]:1280x1024+1280+0
+
+# mod key, (windows key is Mod4)
+# modkey = Mod1