- if (cme->data.l[0] == 1 || /* _NET_WM_STATE_ADD */
- (cme->data.l[0] == 2 && /* _NET_WM_STATE_TOGGLE */
- win->state != ST_FULL))
- sys_show(win, ST_FULL);
- else
- sys_show(win, ST_SHOW);
+ state_t next = (cme->data.l[0] == 1 || /* _NET_WM_STATE_ADD */
+ (cme->data.l[0] == 2 && /* _NET_WM_STATE_TOGGLE */
+ win->state != ST_FULL)) ? ST_FULL : ST_SHOW;
+ wm_handle_state(win, win->state, next);
+ sys_show(win, next);