- e = menu_find_entry_id(menu, CLIENT_CLOSE);
- e->data.normal.enabled = frame->client->functions & OB_CLIENT_FUNC_CLOSE;
+ switch (e->id) {
+ case CLIENT_ICONIFY:
+ client_iconify(c, TRUE, FALSE);
+ /* the client won't be on screen anymore so hide the menu */
+ menu_frame_hide_all();
+ return; /* and don't update */
+ case CLIENT_RESTORE:
+ client_maximize(c, FALSE, 0);
+ break;
+ case CLIENT_MAXIMIZE:
+ client_maximize(c, TRUE, 0);
+ break;
+ case CLIENT_SHADE:
+ client_shade(c, !c->shaded);
+ break;
+ case CLIENT_DECORATE:
+ client_set_undecorated(c, !c->undecorated);
+ break;
+ case CLIENT_MOVE:
+ moveresize_start(c,0,0,0, prop_atoms.net_wm_moveresize_move_keyboard);
+ break;
+ case CLIENT_RESIZE:
+ moveresize_start(c,0,0,0,prop_atoms.net_wm_moveresize_size_keyboard);
+ break;
+ case CLIENT_CLOSE:
+ client_close(c);
+ break;
+ default:
+ g_assert_not_reached();
+ }