如何让 dock 栏中只显示当前桌面上的应用 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
AndyBlocker
V2EX    macOS

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

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

    用了一段时间还是很不习惯 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  
       2024-09-28 00:42:25 +08:00
    我也只想让 dock 显示当前桌面正在运行的 app ,有这样的软件么
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1190 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 17:31 PVG 01:31 LAX 10:31 JFK 13:31
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86