} else if (msgtype == prop_atoms.net_showing_desktop) {
screen_show_desktop(e->xclient.data.l[0] != 0);
} else if (msgtype == prop_atoms.ob_control) {
- if ((Atom)e->xclient.data.l[0] == prop_atoms.ob_reconfigure)
- action_run_string("reconfigure", NULL);
- else if ((Atom)e->xclient.data.l[0] == prop_atoms.ob_restart)
- action_run_string("restart", NULL);
+ if (e->xclient.data.l[0] == 1)
+ ob_reconfigure();
+ else if (e->xclient.data.l[0] == 2)
+ ob_restart();
}
break;
case PropertyNotify:
client->frame->size.left + client->frame->size.right;
gint fh = h +
client->frame->size.top + client->frame->size.bottom;
+ /* make this rude for size-only changes but not for position
+ changes.. */
+ gboolean moving = ((e->xconfigurerequest.value_mask & CWX) ||
+ (e->xconfigurerequest.value_mask & CWY));
+
client_find_onscreen(client, &newx, &newy, fw, fh,
- FALSE);
+ !moving);
if (e->xconfigurerequest.value_mask & CWX)
x = newx;
if (e->xconfigurerequest.value_mask & CWY)