for (int i = 0; i < xcb_get_property_value_length(preply); i++)
if (atom[i] == atoms[_NET_WM_WINDOW_TYPE_DOCK]) {
DLOG("Window is a dock.\n");
+ Output *t_out = get_output_containing(x, y);
+ if (t_out != c_ws->output) {
+ DLOG("Dock client requested to be on output %s by geometry (%d, %d)\n",
+ t_out->name, x, y);
+ new->workspace = t_out->current_workspace;
+ }
new->dock = true;
new->borderless = true;
new->titlebar_position = TITLEBAR_OFF;
new->force_reconfigure = true;
new->container = NULL;
- SLIST_INSERT_HEAD(&(c_ws->output->dock_clients), new, dock_clients);
+ SLIST_INSERT_HEAD(&(t_out->dock_clients), new, dock_clients);
/* If it’s a dock we can’t make it float, so we break */
new->floating = FLOATING_AUTO_OFF;
break;