Hammerspoon
Hammerspoon
Hammerspoon: ทดลองเล่นดู
เพิ่งลองเอามาเล่นดู จากปัญหาเมื่อเปิดเครื่องกลับจาก sleep บางครั้ง app จะถูกย้ายจาก extend display มากองรวมกันอยู่ที่หน้าจอของ laptop display ต้องมาเสียเวลาลากแต่ app ไปยังตำแหน่งประจำ
Hammerspoon สามารถทำเรื่องนี้ได้ แต่ต้องเขียนโปรแกรม ลองดูอยู่เป็นชั่วโมง ก็สามารถทำอะไรได้หลายอย่าง ลองดูจาก Getting Started with Hammerspoon
ได้มาประมาณนี้ แต่ยังไม่ work ตามที่ต้องการ คงต้องเขียนอีกเยอะ
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "R", function() hs.reload() end) function reloadConfig(files) doReload = false for _,file in pairs(files) do if file:sub(-4) == ".lua" then doReload = true end end if doReload then hs.reload() end end myWatcher = hs.pathwatcher.new(os.getenv("HOME") .. "/.hammerspoon/", reloadConfig):start() hs.alert.show("HammerSpoon config loaded") hs.application.enableSpotlightForNameSearches(true) local laptopScreen = "Built-in Retina Display" local BenQScreen = "BenQ EW3270U" local DellScreen = "S2718H/HX" local windowLayout = { {"Safari", nil, BenQScreen, nil, nil, hs.geometry.rect(1800, 0, 1000, 1400)}, {nil, "LINE", BenQScreen, nil, nil, hs.geometry.rect(1800, 1430, 800, 800)}, {"ForkLift", nil, BenQScreen, nil, nil, hs.geometry.rect(2500, 1200, 1600, 980)}, {nil,"Users", BenQScreen, hs.layout.right50, nil, nil}, -- {"Google Chrome", nil, BenQScreen, nil, nil, hs.geometry.rect(2200, 0, 1000, 1400)}, } hs.layout.apply(windowLayout) print("APPLICATION " , hs.application.frontmostApplication()) print(hs.window.focusedWindow():application():title())
สรุป ณ ตอนนี้คือ ติดตั้ง โปรแกรม Stay มาใช้งานไปก่อน
ที่มา: