mirror of
https://github.com/neon443/DockPhobia.git
synced 2026-03-11 06:49:12 +00:00
skyhigh: shows a window above everythign else
now just shows wherre the mouse can be warped
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
A966B4F82DE0852900C721A5 /* MouseTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = A966B4F72DE0852900C721A5 /* MouseTracker.swift */; };
|
||||
A98C20C62DE614180008D61C /* DPSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = A98C20C52DE614180008D61C /* DPSettings.swift */; };
|
||||
A9C9AF812DE7776A0039D7A5 /* DockSide.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9C9AF802DE777530039D7A5 /* DockSide.swift */; };
|
||||
A9C9AF832DE77CB70039D7A5 /* SkyHigh.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9C9AF822DE77CB70039D7A5 /* SkyHigh.swift */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
@@ -25,6 +26,7 @@
|
||||
A97798072DE485F200B6CB13 /* Config.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Config.xcconfig; sourceTree = "<group>"; };
|
||||
A98C20C52DE614180008D61C /* DPSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DPSettings.swift; sourceTree = "<group>"; };
|
||||
A9C9AF802DE777530039D7A5 /* DockSide.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DockSide.swift; sourceTree = "<group>"; };
|
||||
A9C9AF822DE77CB70039D7A5 /* SkyHigh.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SkyHigh.swift; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -76,6 +78,7 @@
|
||||
children = (
|
||||
A966B4EE2DE0842400C721A5 /* AppDelegate.swift */,
|
||||
A966B4F72DE0852900C721A5 /* MouseTracker.swift */,
|
||||
A9C9AF822DE77CB70039D7A5 /* SkyHigh.swift */,
|
||||
A98C20C52DE614180008D61C /* DPSettings.swift */,
|
||||
A9C9AF802DE777530039D7A5 /* DockSide.swift */,
|
||||
A94BEC102DE23ECE00D4811D /* Views */,
|
||||
@@ -159,6 +162,7 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
A98C20C62DE614180008D61C /* DPSettings.swift in Sources */,
|
||||
A9C9AF832DE77CB70039D7A5 /* SkyHigh.swift in Sources */,
|
||||
A966B4F82DE0852900C721A5 /* MouseTracker.swift in Sources */,
|
||||
A966B4F42DE0842500C721A5 /* AppDelegate.swift in Sources */,
|
||||
A9C9AF812DE7776A0039D7A5 /* DockSide.swift in Sources */,
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
import AppKit
|
||||
|
||||
@main
|
||||
@NSApplicationMain
|
||||
class AppDelegate: NSObject, NSApplicationDelegate {
|
||||
|
||||
public var statusItem: NSStatusItem!
|
||||
|
||||
@@ -23,6 +23,7 @@ class MouseTracker {
|
||||
var dockHeight: CGFloat = 0
|
||||
|
||||
var settings: DPSettingsModel
|
||||
var skyHigh = SkyHigh()
|
||||
|
||||
init(settings: DPSettingsModel) {
|
||||
print(DockSide())
|
||||
@@ -97,7 +98,7 @@ class MouseTracker {
|
||||
|
||||
func moveDockOrMouse(_ dockTo: DockSide) {
|
||||
if settings.settings.moveMouseInstead {
|
||||
print("move mouse")
|
||||
moveMouse()
|
||||
} else {
|
||||
moveDock(dockTo)
|
||||
}
|
||||
@@ -107,6 +108,24 @@ class MouseTracker {
|
||||
self.monitor = NSEvent.addGlobalMonitorForEvents(matching: .mouseMoved, handler: checkMouse)
|
||||
self.running = true
|
||||
print("started tracking")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
skyHigh.move()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
func stop() {
|
||||
@@ -118,6 +137,14 @@ class MouseTracker {
|
||||
print("stop tracking")
|
||||
}
|
||||
|
||||
func moveMouse() {
|
||||
let rangeW = screen.width*0.1...screen.width*0.9
|
||||
let posX = CGFloat.random(in: rangeW)
|
||||
let rangeH = screen.height*0.1...screen.height*0.9
|
||||
let posY = CGFloat.random(in: rangeH)
|
||||
CGDisplayMoveCursorToPoint(0, CGPoint(x: posX, y: posY))
|
||||
}
|
||||
|
||||
func moveDock(_ toSide: DockSide) {
|
||||
guard currentDockSide != toSide else { return }
|
||||
// let scriptHide = """
|
||||
|
||||
52
DockPhobia/SkyHigh.swift
Normal file
52
DockPhobia/SkyHigh.swift
Normal file
@@ -0,0 +1,52 @@
|
||||
//
|
||||
// SkyHigh.swift
|
||||
// DockPhobia
|
||||
//
|
||||
// Created by neon443 on 28/05/2025.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import Cocoa
|
||||
|
||||
class SkyHigh {
|
||||
private var window: NSWindow
|
||||
private var x = 1
|
||||
private var timer: Timer?
|
||||
|
||||
init() {
|
||||
guard let screen = NSScreen.main?.frame else { fatalError() }
|
||||
self.window = NSWindow(
|
||||
contentRect: CGRect(
|
||||
x: screen.width*0.05,
|
||||
y: screen.height*0.1,
|
||||
width: screen.width*0.9,
|
||||
height: screen.height*0.8
|
||||
),
|
||||
styleMask: .borderless,
|
||||
backing: .buffered,
|
||||
defer: false
|
||||
)
|
||||
window.backgroundColor = .init(srgbRed: 1, green: 1, blue: 1, alpha: 0.1)
|
||||
window.isOpaque = false
|
||||
window.level = NSWindow.Level.statusBar + 1
|
||||
window.ignoresMouseEvents = true
|
||||
window.hasShadow = true
|
||||
window.makeKeyAndOrderFront(nil)
|
||||
window.setFrameOrigin(NSPoint(x: screen.width*0.05, y: screen.height*0.1))
|
||||
}
|
||||
|
||||
func move() {
|
||||
x = 1
|
||||
timer?.invalidate()
|
||||
timer = Timer(timeInterval: 0.01, repeats: true) { [weak self] _ in
|
||||
guard let self = self else { return }
|
||||
guard x < 1001 else {
|
||||
timer?.invalidate()
|
||||
return
|
||||
}
|
||||
self.window.setFrameOrigin(NSPoint(x: 1000-self.x, y: 1000-self.x))
|
||||
self.x += 1
|
||||
}
|
||||
RunLoop.current.add(timer!, forMode: .common)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user