ก๊วนซอฟท์แวร์ </softganz> SoftGang (Gang Software)

Web &amp; Software Developer Gang.

Hammerspoon: ทดลองเล่นดู

by Little Bear @20 พ.ย. 64 15:12 ( IP : 171...99 ) | Tags : macOS , 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 มาใช้งานไปก่อน

ที่มา: