+struct lcmd_arg arg_foreground[] = {
+ { "window", 1, ARG_NUM },
+ { "flag", 1, ARG_ANY },
+ 0
+};
+
+l_foreground(v, a)
+register struct value *v, *a;
+{
+ struct ww *w;
+ char flag;
+
+ if ((w = vtowin(a)) == 0)
+ return;
+ v->v_type = V_NUM;
+ v->v_num = isfg(w);
+ flag = vtobool(++a, 1, v->v_num);
+ if (flag == v->v_num)
+ return;
+ deletewin(w);
+ addwin(w, flag ? 0 : 1);
+ reframe();
+}
+
+struct lcmd_arg arg_background[] = {
+ { "window", 1, ARG_NUM },
+ { "flag", 1, ARG_ANY },
+ 0
+};
+
+l_background(v, a)
+register struct value *v, *a;
+{
+ struct ww *w;
+ char flag;
+
+ if ((w = vtowin(a)) == 0)
+ return;
+ v->v_type = V_NUM;
+ v->v_num = isbg(w);
+ flag = vtobool(++a, 1, v->v_num);
+ if (flag == v->v_num)
+ return;
+ deletewin(w);
+ addwin(w, flag ? 3 : 2);
+ reframe();
+}
+