Original: static gint get_real_pos(window_settings * ws, gint tobj, decor_t * d) { gint width = d->width; gint base=ws->left_space; switch(d->tobj_item_state[tobj]) { case 1: base=(width-ws->left_space-ws->right_space-d->tobj_size[0]-d->tobj_size[2])/2- (d->tobj_size[1]/2)+ws->left_space+d->tobj_size[0]; break; case 2: base=width-ws->right_space-d->tobj_size[2]; break; case 3: return -1; default: break; } return base+d->tobj_item_pos[tobj]; } Mine: static gint get_real_pos(window_settings * ws, gint tobj, decor_t * d) { switch(d->tobj_item_state[tobj]) { case 1: return ( 1 + (d->width + ws->left_space - ws->right_space + d->tobj_size[0] - d->tobj_size[1] - d->tobj_size[2]) / 2 ); case 2: return ( 2 + d->width - ws->right_space - d->tobj_size[2] ); case 3: return -1; default: return ( d->tobj_item_pos[tobj] + ws->left_space ); } }