swattign all the bugs

meybe fix memory leak
fix a lot of stuff, improvemetns
This commit is contained in:
neon443
2025-03-17 09:00:39 +00:00
parent 4930726372
commit b24df9a77c
7 changed files with 141 additions and 74 deletions

View File

@@ -1,18 +1,19 @@
from pynput.mouse import Button, Controller
from pynput.mouse import Controller
import subprocess
import time
import AppKit
import time
import pdb
from memory_profiler import profile
mouse = Controller()
#while True:
def getDockSide():
# pdb.set_trace()
script = "defaults read com.apple.Dock orientation"
result = subprocess.run(["bash", "-c", script], capture_output=True,text=True)
return result.stdout
formattedResult = result.stdout.strip()
return formattedResult
def moveDock(to):
script = f"""
@@ -43,7 +44,6 @@ def getScreenSize():
return []
screenSize = getScreenSize()
print(f"Screen size: {screenSize}")
def getDockHeight():
screen = AppKit.NSScreen.mainScreen()
@@ -53,67 +53,88 @@ def getDockHeight():
dockHeight = fullHeight - visibleHeight
percentage = (dockHeight / fullHeight)
return percentage+0.05 # increase size
return percentage
screenSize = getScreenSize()
print(getDockHeight())
print(getScreenSize())
moveDock("bottom")
dockSide = "bottom"
dockHeight = getDockHeight()
# moveDock("bottom")
dockSide = getDockSide()
startedOutAt = dockSide
print()
dockFromBottom = screenSize[1]-(screenSize[1]*dockHeight)
def calcDockFromBottom():
# screenSize = getScreenSize()
dockHeight = getDockHeight()
return screenSize[1]-(screenSize[1]*dockHeight)
dockFromBottom = calcDockFromBottom()
print(dockFromBottom)
print()
dockFromLeft = screenSize[1]*dockHeight
def calcDockFromLeft():
# screenSize = getScreenSize()
dockHeight = getDockHeight()
return screenSize[1]*dockHeight
dockFromLeft = calcDockFromLeft()
print(dockFromLeft)
print()
dockFromRight = screenSize[1]*dockHeight
dockFromRight = screenSize[0]-(screenSize[1]*dockHeight)
def calcDockFromRight():
# screenSize = getScreenSize()
dockHeight = getDockHeight()
return screenSize[0]-(screenSize[1]*dockHeight)
dockFromRight = calcDockFromRight()
print(dockFromRight)
@profile
def run_loop():
global dockSide, dockFromBottom, dockFromLeft, dockFromRight, startedOutAt
while True:
# for i in range(0,100000):
if dockSide == "bottom":
if mouse.position[1] > dockFromBottom:
if mouse.position[0] < screenSize[0]/2:
moveDock("right")
dockSide = "right"
#if mouse is at bottom and is on the left
else:
moveDock("left")
dockSide = "left"
#mouse is at bottom but on the right of screen
# neverbeenside = False
elif dockSide == "left":
if mouse.position[0] < dockFromLeft:
if mouse.position[1] < screenSize[1]/2:
moveDock("bottom")
dockSide = "bottom"
#mouse is at left but top half
else:
moveDock("right")
dockSide = "right"
#mouse is at left but bottom half
elif dockSide == "right":
if mouse.position[0] > dockFromRight:
if mouse.position[1] < screenSize[1]/2:
moveDock("bottom")
dockSide = "bottom"
#mouse is at right but top half
else:
moveDock("left")
dockSide = "left"
#mouse is at right but bottom half
if startedOutAt == "":
continue
elif startedOutAt == "bottom" and dockSide != "bottom":
# started at bottom, dock is at side, recalc the actuation distance from sides
dockFromLeft = calcDockFromLeft()
dockFromRight = calcDockFromRight()
startedOutAt = ""
elif startedOutAt == "right" or startedOutAt == "left" and dockSide == "bottom":
#started on the side, now at bottom recalc the distance from bottom
dockFromBottom = calcDockFromBottom()
startedOutAt = ""
time.sleep(0.001)
while True:
# print(dockSide)
if dockSide == "bottom":
if mouse.position[1] > dockFromBottom:
if mouse.position[0] < screenSize[0]/2:
moveDock("right")
dockSide = "right"
#if mouse is at bottom and is on the left
else:
moveDock("left")
dockSide = "left"
#mouse is at bottom but on the right of screen
elif dockSide == "left":
if mouse.position[0] < dockFromLeft:
if mouse.position[1] < screenSize[1]/2:
moveDock("bottom")
dockSide = "bottom"
#mouse is at left but top half
else:
moveDock("right")
dockSide = "right"
#mouse is at left but bottom half
elif dockSide == "right":
if mouse.position[0] > dockFromRight:
if mouse.position[1] < screenSize[1]/2:
moveDock("bottom")
dockSide = "bottom"
#mouse is at right but top half
else:
moveDock("left")
dockSide = "left"
#mouse is at right but bottom half
# time.sleep(0.01)
run_loop()