移動所有視窗到第一屏

从雍和宫走到电影学院發表於2024-11-15

公司主機有兩個顯示器,一個是主、一個是擴充套件,安裝了todesk方便在家應急登陸。可有的時候回家登陸發現todesk免費版本只能看到主屏內容,我拉到第二屏的的視窗比如chrome、sublime這些看不到,該指令碼就是解決這個問題,適用於所有遠端桌面的使用者。

tell application "System Events"
	-- 要排除的應用程式名稱
	set appNames to {"iTerm2"}
	
	-- 獲取所有活動的視窗
	set allProcesses to (every process whose visible is true)
	
	repeat with appProcess in allProcesses
		try
			set appName to name of appProcess
			
			-- 列印日誌輸出當前的 appName
			log "Checking app: " & appName
			-- 判斷 appName 是否在排除列表中
			if appName is not in appNames then
				-- 獲取當前程序的視窗列表
				tell appProcess
					set windowList to every window
					repeat with aWindow in windowList
						-- 移動視窗到 (0, 0)
						set position of aWindow to {0, 0}
					end repeat
				end tell
			end if
		on error errMsg
			-- 處理出錯情況
		end try
	end repeat
end tell

相關文章