(msWindowManager: MsWindowManager)
| 30 | throttledCheckUnderPointer: (this: MsDndManager) => void; |
| 31 | |
| 32 | constructor(msWindowManager: MsWindowManager) { |
| 33 | super(); |
| 34 | this.msWindowManager = msWindowManager; |
| 35 | this.signalMap = new Map(); |
| 36 | this.dragInProgress = null; |
| 37 | this.inputGrabber = new InputGrabber(); |
| 38 | this.observe(this.msWindowManager, 'ms-window-created', () => { |
| 39 | this.listenForMsWindowsSignal(); |
| 40 | }); |
| 41 | this.listenForMsWindowsSignal(); |
| 42 | |
| 43 | this.observe( |
| 44 | global.workspace_manager, |
| 45 | 'active-workspace-changed', |
| 46 | () => { |
| 47 | if (this.dragInProgress !== null) { |
| 48 | const newMsWorkspace = |
| 49 | Me.msWorkspaceManager!.getActivePrimaryMsWorkspace(); |
| 50 | if (this.dragInProgress.msWindow.metaWindow) { |
| 51 | this.dragInProgress.msWindow.metaWindow.change_workspace_by_index( |
| 52 | global.workspace_manager.get_active_workspace_index(), |
| 53 | true |
| 54 | ); |
| 55 | } else { |
| 56 | Me.msWorkspaceManager!.setWindowToMsWorkspace( |
| 57 | this.dragInProgress.msWindow, |
| 58 | newMsWorkspace |
| 59 | ); |
| 60 | } |
| 61 | |
| 62 | this.dragInProgress.originalParent = |
| 63 | newMsWorkspace.msWorkspaceActor.tileableContainer; |
| 64 | } |
| 65 | } |
| 66 | ); |
| 67 | |
| 68 | this.observe( |
| 69 | global.display, |
| 70 | 'grab-op-begin', |
| 71 | (display, metaWindow, op) => { |
| 72 | if (op === Meta.GrabOp.MOVING) { |
| 73 | const msWindow = metaWindow.msWindow; |
| 74 | if ( |
| 75 | msWindow && |
| 76 | msWindow.metaWindow === metaWindow && |
| 77 | !msWindow.followMetaWindow |
| 78 | ) { |
| 79 | //global.display.end_grab_op(global.get_current_time()); |
| 80 | this.startDrag(msWindow); |
| 81 | } |
| 82 | } |
| 83 | } |
| 84 | ); |
| 85 | |
| 86 | this.observe(this.inputGrabber, 'captured-event', (_, event) => { |
| 87 | if (this.dragInProgress !== null) { |
| 88 | const [stageX, stageY] = event.get_coords(); |
| 89 | const msWindowDragged = this.dragInProgress.msWindow; |
nothing calls this directly
no test coverage detected