+ if (drag_window && button == 1) {
+ client_message(active_window_atom, drag_window, FromTool, CurrentTime, 0, 0 ,0);
+ }
+ else {
+ client_message(current_desktop_atom, DefaultRootWindow(DADisplay), desktop, 0, 0, 0, 0);
+ }
+}
+
+void release(int button, int state, int x, int y) {
+ if (button == drag_button) drag_window = 0;
+}
+
+void move(int x, int y) {
+ long dest_x, dest_y;
+
+ if (! drag_window) return;
+ if (x < 0 || y < 0) return;
+ if (x >= dockapp_width || y >= dockapp_height) return;
+
+ dest_x = (long) ((double) (x - drag_x) * scale);
+ dest_y = (long) ((double) (y - drag_y) * scale);
+
+ if (moveresize_supported) {
+ client_message(moveresize_window_atom, drag_window, StaticGravity | (3 << 8) | (FromTool << 12), drag_x, drag_y, 0, 0);
+ }
+ else {
+ XMoveWindow(DADisplay, drag_window, dest_x, dest_y);