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

如何让 dock 栏中只显示当前桌面上的应用

  •  
  •   AndyBlocker · 2023-01-14 11:29:56 +08:00 · 1590 次点击
    这是一个创建于 690 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用了一段时间还是很不习惯 Mac 这个 Dock 栏的逻辑,现在用 AltTab 解决了 Tab 切换程序的时候老是跑到另一个桌面去的问题,dock 栏只能隐藏起来眼不见心不烦。但是在另一个桌面也想打开新的浏览器 /其他在另一个桌面打开过的应用的时候就非要快捷键或者右键,有什么办法可以让每个桌面拥有自己的 dock 栏吗

    7 条回复    2024-09-28 00:42:25 +08:00
    lanfox
        1
    lanfox  
       2023-01-14 13:14:25 +08:00 via iPhone
    试试 uBar 这个 APP 。
    GabrielleBellamy
        2
    GabrielleBellamy  
       2023-01-14 17:23:18 +08:00   ❤️ 1
    最近在做相关功能,所以了解了不少。如果要每个桌面显示当前桌面打开的应用,就我所知,非常难实现。

    ActiveDock 2 应该可以为每个单独的桌面添加独立的 dock (记不太清了,记得好像是)。但是之前用的时候觉得这个软件太卡顿,体验不好。Contexts 也是同类软件,但这个软件能不能单独显示当前桌面的窗口我也不太记得了。之前用的时候觉得这个软件还是不太好看,以及似乎太老了,更新动力不足。uBar 是我现在在使用的软件,但我刚看了一下,好像只能分显示屏显示,以及可以根据桌面分组,但是不能一个桌面显示一组。(或者我没摸到诀窍)

    从代码角度来说,如果一个软件的窗口被最小化了,那么它会在任何桌面上都被认为是当前桌面的窗口。这样的结果是,没法用“获取当前桌面的活动窗口”的方法获取准确的窗口信息,因为其他桌面的最小化 /隐藏窗口也会被识别进来。如果你使用原生的 AppleScript 去命令就是这样的结果。另外从 10.8 开始 mac 就在 AppleScript 上移除了跳转桌面的变量,原生的命令如果不加上其他语言模拟动作,似乎就无法指令窗口在桌面之间移动。可以理解为,苹果不希望你这么做,它更希望你使用 UI 界面上那些拖拽的方式管理窗口。如果你希望移动窗口到某一个桌面,像 Amethyst 、Stay 这样的软件还有这样的功能。

    如果是希望对窗口进行最大化或者最小化的操作,这个也比较困难,因为原生的 AppleScript 指令对一些窗口不管用,另外像 Finder 这样的软件在代码上与其他软件的最小化窗口有不一样的写法(其他窗口用“miniturize”,Finder 用的是“collapse”去命令)。但是像 Wins 这样的软件把一键隐藏全部窗口的功能做得很不错。如果你需要也可以试试。
    AndyBlocker
        3
    AndyBlocker  
    OP
       2023-01-14 23:36:10 +08:00 via iPhone
    @GabrielleBellamy 感谢,好详细的回答😂看来我只能继续习惯这个逻辑了
    songquan
        4
    songquan  
       2023-01-15 08:26:18 +08:00
    @lanfox 这个 app 确实很好,但是感觉开发者不是很积极了,目前有类似 docker 重叠、内存溢出等 bug ,一直没人修复,联系开发者也没有回复,macrumors 的论坛上本来有开发者答疑,近两年不知道为什么没有了……很可惜
    ferrum
        5
    ferrum  
       2023-01-16 18:29:47 +08:00
    [SwitchGlass]( https://hypercritical.co/switchglass/) 可以做到这点。

    但 macOS 的窗口管理 API 都比较旧,有些东西年久失修,有些私有 API 因为 Mac App Store 的问题而无法使用,所以在多桌面的情况下,这个 App 使用起来也不算特别流畅。

    付费下载应用,谨慎下载。
    AndyBlocker
        6
    AndyBlocker  
    OP
       2023-01-16 21:24:09 +08:00
    @ferrum 看介绍好像确实是实现了只显示当前桌面活跃的应用,不过好像不是为了代替 dock 而是补充 dock 而设计的,感觉购买欲望不是很强😂
    BeyondReach
        7
    BeyondReach  
       67 天前
    我也只想让 dock 显示当前桌面正在运行的 app ,有这样的软件么
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5379 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 07:45 · PVG 15:45 · LAX 23:45 · JFK 02:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.