V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
onsdriver
V2EX  ›  macOS

有没有什么软件可以把两个窗口粘起来

  •  1
     
  •   onsdriver · 2024-09-02 12:33:49 +08:00 · 2188 次点击
    这是一个创建于 371 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有没有什么软件可以把两个窗口粘起来,让它们被拖动的时候一起动

    第 1 条附言  ·  363 天前

    解决方案

    hammerspoon

    效果

    代码

    local function moveChatGPT()
        local targetFrame = hs.application.applicationsForBundleID("ru.keepcoder.Telegram")[1]:focusedWindow():frame()
        local gpt = hs.application.applicationsForBundleID("com.openai.chat")[1]:allWindows()[1]
        targetFrame.y = targetFrame.y + targetFrame.h
        targetFrame.h = targetFrame.h / 2
        gpt:setFrame(targetFrame)
    end
    
    local telegramWindowFilter = hs.window.filter.new(false):setAppFilter('Telegram')
    telegramWindowFilter:subscribe(hs.window.filter.windowMoved, moveChatGPT)
    
    10 条回复    2024-09-13 19:31:36 +08:00
    onsdriver
        1
    onsdriver  
    OP
       2024-09-02 12:40:07 +08:00
    这个需求还是太怪了吗
    chenxuuu
        2
    chenxuuu  
       2024-09-02 13:01:06 +08:00   ❤️ 1
    AquaSnap
    onsdriver
        3
    onsdriver  
    OP
       2024-09-02 15:03:35 +08:00
    @chenxuuu 好像不支持 MacOS

    > AquaSnap is compatible with all Windows versions, from Windows 7 to Windows 11, with true 64-bit support. We will do our absolute best to support all future Windows versions.
    onsdriver
        4
    onsdriver  
    OP
       2024-09-02 15:07:35 +08:00
    我去看看类似的软件,感谢!
    @chenxuuu
    onsdriver
        5
    onsdriver  
    OP
       2024-09-04 00:29:38 +08:00
    没找到什么靠谱的替代啊,AquaSnap 真是完美符合我所有的需求,但是不支持 MacOS😭😭😭😭

    继续蹲,走过路过的朋友支支招
    chenxuuu
        6
    chenxuuu  
       2024-09-04 10:33:30 +08:00
    如果是固定的几个软件,你用 hammerspoon 写个脚本就好了吧
    q534
        7
    q534  
       2024-09-05 11:15:01 +08:00
    好怪,好爱,等一个方案
    onsdriver
        8
    onsdriver  
    OP
       363 天前
    已经使用 hammerspoon 解决,虽然不是很丝滑但也足矣!!

    效果:


    代码:
    ```lua
    local function moveChatGPT()
    local targetFrame = hs.application.applicationsForBundleID("ru.keepcoder.Telegram")[1]:focusedWindow():frame()
    local gpt = hs.application.applicationsForBundleID("com.openai.chat")[1]:allWindows()[1]
    targetFrame.y = targetFrame.y + targetFrame.h
    targetFrame.h = targetFrame.h / 2
    gpt:setFrame(targetFrame)
    end

    local telegramWindowFilter = hs.window.filter.new(false):setAppFilter('Telegram')
    telegramWindowFilter:subscribe(hs.window.filter.windowMoved, moveChatGPT)
    ```

    @q534 可以参考我的
    @chenxuuu 感谢指路
    rukeypei
        9
    rukeypei  
       362 天前
    想不到还有这个需求跟脚本
    onsdriver
        10
    onsdriver  
    OP
       360 天前
    @rukeypei 用户的需求千奇百怪,自定义脚本永远的神
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1029 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:01 · PVG 03:01 · LAX 12:01 · JFK 15:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.