.../Source/Extensions/NSScreen+currentScreenForMouseLocation.swift
Line  | Count  | Source  | 
1  |  | //  | 
2  |  | //  NSScreen+mouseCoordinates.swift  | 
3  |  | //  CutBox  | 
4  |  | //  | 
5  |  | //  Created by Jason Milkins on 3/5/18.  | 
6  |  | //  Copyright © 2018-2023 ocodo. All rights reserved.  | 
7  |  | //  | 
8  |  |  | 
9  |  | import Cocoa  | 
10  |  |  | 
11  |  | var NSScreenTesting = false  | 
12  |  | var NSScreenMockScreen: NSScreen?  | 
13  |  | extension NSScreen { | 
14  | 11  |     static func currentScreenForMouseLocation() -> NSScreen? { | 
15  | 11  |         if NSScreenTesting { | 
16  | 7  |             return NSScreenMockScreen  | 
17  | 7  |         }  | 
18  | 4  |         let mouseLocation = NSEvent.mouseLocation  | 
19  | 7  |         return screens.first(where: { NSMouseInRect(mouseLocation, $0.frame, false) }) | 
20  | 11  |     }  | 
21  |  | }  |