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

Mac 的多桌面管理真是混乱,简单地学一下 windows 不好么

  •  
  •   BeyondReach · 2024-03-14 23:55:20 +08:00 · 6213 次点击
    这是一个创建于 380 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我就想让窗口 a 固定在桌面 1 ,窗口 b 和窗口 c 固定在桌面 2 ,在 Mac 里就是做不到!

    因为每次把一个窗口全屏后,它就会被转到新建一个桌面。

    我知道如果只是把窗口最大化,而不是全屏,它就不会新建桌面,但是问题是 Mac 里只提供了全屏的快捷键,没有最大化的快捷键。

    而如果要用鼠标(非苹果鼠标)让窗口最大化你知道有多么困难吗?

    首先需要鼠标移动到左上角,按住 alt 键,点到那个小得要命的绿色小圆点上,这样才能让窗口最大化,而不是全屏

    所以我用软件将鼠标左侧功能键设置为 ctrl+win+F ,这样就可以直接按这个键,将窗口全屏了,再按一次,就回到原来的状态

    但是这样操作之后,窗口就会在不同桌面上乱飞了。 因为当我把全屏的窗口 a 退出全屏状态后,它就会被自动移动到桌面 2 上去,然后窗口 a 、b 、c 就在同一个桌面了,这时系统只有一个桌面

    这时我再把窗口 a 全屏,它就会变成桌面 2 ,窗口 b 和窗口 c 就在桌面 1

    真是太混乱了

    大家有什么好的软件可以解决 Mac 上的这个问题么?

    71 条回复    2024-05-06 16:13:53 +08:00
    srwxyz
        1
    srwxyz  
       2024-03-15 00:04:51 +08:00 via iPhone
    你说,有没有一种可能,mac 提供了一种快捷键,一按啪就最大化了🤨或者找个窗口管理软件,我天天这么按 不过记不得了哪个了 肌肉记忆
    MasterCai
        2
    MasterCai  
       2024-03-15 00:06:23 +08:00 via iPhone
    Magnet
    GabrielleBellamy
        3
    GabrielleBellamy  
       2024-03-15 00:15:10 +08:00   ❤️ 4
    这个描述有点抽象,不确定有没有看懂。我有几个想法:

    1-macOS 在管理窗口上是有点问题,把某个窗口 pin 在某个 space 里,这个我不是很清楚,但是把某个窗口送到某个桌面,这个功能很难做,但是 Amethyst 可以做到,推荐一下。[ianyh/Amethyst: Automatic tiling window manager for macOS à la xmonad.]( https://github.com/ianyh/Amethyst?cmdf=Amethyst+github)


    2-不知道是不是把自动排列桌面的选项打开了?如果是说 space 乱序的话可以关掉这个。( Windows 其实也没有多桌面管理吧我记得……

    3-我建议去看看 1Piece 这个软件:[1Piece - Multifunctional App for Mac]( https://app1piece.com/?cmdf=1piece+),基本想要的桌面管理功能应有尽有。文中提到的非全屏的最大化,我就用的是它的这个快捷键(左上角第一个 maximize ),很方便。
    lance6716
        4
    lance6716  
       2024-03-15 00:24:58 +08:00 via Android
    > 如果要用鼠标(非苹果鼠标)让窗口最大化你知道有多么困难吗?

    印象中我是双击标题那个横条
    BeyondReach
        5
    BeyondReach  
    OP
       2024-03-15 00:56:04 +08:00
    @lance6716 这个方法不错,比我帖子里说到的方法简单很多

    不过还是比绑定快捷键到鼠标的功能键上稍微麻烦一点,因为按鼠标上的按钮只需要按一下,而且不需要移动鼠标,只要鼠标在窗口的范围内都可以直接操作
    seres
        6
    seres  
       2024-03-15 01:19:25 +08:00
    Mission Control 先新建个桌面 2 ,在桌面 2 打开 bc
    或者试试控制中心里的新功能:stage Manager
    1014982466
        7
    1014982466  
       2024-03-15 01:32:54 +08:00   ❤️ 7
    Mac 的文件管理和窗口管理就是屎,我这样的果粉也洗不动
    台前调度那更是屎上雕花
    BeyondReach
        8
    BeyondReach  
    OP
       2024-03-15 01:42:39 +08:00
    @GabrielleBellamy 大神啊,这两个软件太强大了,而且还都是免费的。

    感觉应该能解决我提到的问题。

    我安装了,先研究一下具体怎么用,到时再来汇报使用情况。
    BeyondReach
        9
    BeyondReach  
    OP
       2024-03-15 01:45:31 +08:00
    @seres

    新建桌面这个方法肯定是无法解决我的问题的

    我有时需要把一个窗口在全屏和半屏之间切换,在对几个桌面的窗口执行这个操作之后,窗口所在的桌面的顺序就会乱掉

    台前调度 和我提到的这个问题好像也没啥关系
    stinkytofu
        10
    stinkytofu  
       2024-03-15 02:11:29 +08:00
    @1014982466 #7 确实没什么好洗的,Mac 的桌面管理太垃圾了, 就算装各种窗口管理软件也赶不上 windows 好用, 如果它不是类 Unix 系统, 开发比较方便, 我真的想咬咬牙回到 Windows 算了。
    gzlock
        11
    gzlock  
       2024-03-15 02:26:22 +08:00
    不是洗,有没有可能是类似的专利都已经被微软申请了,再怎么折腾都已经绕不开微软的专利了,就躺平了
    Chad0000
        12
    Chad0000  
       2024-03-15 02:30:10 +08:00 via iPhone
    编译 app 的时候会用 mac ,平时都用 windows ,不得不说确实垃圾,尤其是不能关闭指定屏幕:因为我的需求是某个显示屏连两个电脑,信号自动切换,需要编译的时候就分给 mac 。然后 mac 插上就强制占用屏幕。
    shelken
        13
    shelken  
       2024-03-15 02:31:00 +08:00 via iPhone
    你的所有问题用一个 app 就可以解决,https://rectangleapp.com
    还有想要最大化窗口,双击程序顶部标题栏
    HENQIGUAI
        14
    HENQIGUAI  
       2024-03-15 07:48:45 +08:00
    文件管理和多桌面多任务确实腊鸡。
    superedlimited
        15
    superedlimited  
       2024-03-15 08:04:04 +08:00 via iPhone
    装个 raycast ,有惊喜
    niubiman
        16
    niubiman  
       2024-03-15 08:25:22 +08:00
    @1014982466 那明明是屎上泼粪
    noahlias
        17
    noahlias  
       2024-03-15 08:36:07 +08:00
    为什么不装个 yabai
    BeyondReach
        18
    BeyondReach  
    OP
       2024-03-15 08:58:19 +08:00
    @superedlimited 请问 raycast 里哪个功能能解决我提到的问题呢
    lancelock
        19
    lancelock  
       2024-03-15 08:58:59 +08:00
    rectangle 开源免费的。就几个快捷键,最大化、左半屏右半屏这些,满足我需求了
    BeyondReach
        20
    BeyondReach  
    OP
       2024-03-15 09:00:30 +08:00
    @gzlock 将窗口固定在指定的桌面,这个算啥专利啊,不可能,绝对不可能!
    BeyondReach
        21
    BeyondReach  
    OP
       2024-03-15 09:02:04 +08:00
    @lancelock 我也在用 rectagle ,用它把窗口调成左半屏右半屏的功能,但是这些和我帖子里要解决的问题不一样
    BeyondReach
        22
    BeyondReach  
    OP
       2024-03-15 09:03:35 +08:00
    @noahlias yabai 据说比上面高手 @GabrielleBellamy 提到的 Amethyst 复杂点,要编写配置文档,我先研究研究
    nidongpinyinme
        23
    nidongpinyinme  
       2024-03-15 09:07:34 +08:00
    程序坞里在软件上右键->选项里面,不是有个分配给哪个桌面的选项吗,说的是这个吗
    neochen13
        24
    neochen13  
       2024-03-15 09:13:21 +08:00
    使用 contexts 吧
    noahlias
        25
    noahlias  
       2024-03-15 09:16:35 +08:00
    @BeyondReach 不复杂 官方文档简易明了
    RyougiShiki
        26
    RyougiShiki  
       2024-03-15 09:22:13 +08:00
    双击标题栏最大化。mac 更想让你用全屏,一个屏一个软件保持专注和最大视野,这时就需要搭配三指左右滑动来切换工作区,我一般把 ide 之类的工具放单独工作区,主工作区放浏览器、聊天软件等各种软件、主工作区 alt tab 或三指向上从众多软件中找到目标。剩余的管理用 cmd H 隐藏窗口、cmd M 最小化来去掉不常用的。关键点,要大量使用触摸板和三指操作,mac 的体验跟自家硬件绑定。
    #9 设置里/桌面/关闭自动根据最近使用窗口排列桌面,这个功能是最近一两个大版本更新的,反而使顺序混乱,关掉就好。
    #12 相同场景,我的显示器会保持先接入的那台电脑的视频信号。
    nothingistrue
        27
    nothingistrue  
       2024-03-15 09:30:59 +08:00   ❤️ 1
    @gzlock #11 第一,纯软件是申请不了专利的。第二,微软向来只要授权费不禁用。第三,靠交叉专利强制相互共享的很多,靠专利卖钱的很多,靠专利抢钱的也不少,靠专利逼死小公司/个人也很常见,但是靠专利禁售竞争对手,或者宁愿自我禁售也不给钱的大公司,真没几个。
    caocong
        28
    caocong  
       2024-03-15 09:35:54 +08:00
    全屏和最大化是两个功能,win 上没有 mac 全屏这种功能,我用的 Parallels Toolbox 的窗口管理器还挺好用
    shoudeliao
        29
    shoudeliao  
       2024-03-15 09:40:40 +08:00
    系统设置-桌面与程序坞-调度中心-根据最近的使用情况自动重新排列空间-取消勾选
    Dock-对应程序图标-右键-选项-分配给-显示器 1 上的桌面
    配合 Magnet
    满足我当前需求了,但是同一个程序能不能多个窗口分配给不同桌面我就没试过了
    shoudeliao
        30
    shoudeliao  
       2024-03-15 09:41:29 +08:00
    @shoudeliao 补充,分配给 这个功能类似于 开启这个程序自动将程序移动到对应桌面
    shoudeliao
        31
    shoudeliao  
       2024-03-15 09:42:43 +08:00
    @shoudeliao #29 还需要再配合调度中心的快捷键
    kawaiidora
        32
    kawaiidora  
       2024-03-15 09:42:54 +08:00 via Android   ❤️ 2
    @gzlock Ubuntu 也能用,是因为微软比较宽容?
    qweruiop
        33
    qweruiop  
       2024-03-15 09:50:03 +08:00
    yabai 解决所有问题。。。
    maninfog
        34
    maninfog  
       2024-03-15 09:52:04 +08:00 via iPhone
    别装乱七八糟的了,直接 raycast
    whusnoopy
        35
    whusnoopy  
       2024-03-15 09:54:24 +08:00
    rectangle 除了左半屏右半屏,也有「最大化」的快捷键设定,默认是 Opt+Cmd+Enter ,这个最大化就是 Windows 下的在当前桌面最大化,而不是新开一个桌面独占最大
    wowawesome
        36
    wowawesome  
       2024-03-15 10:01:27 +08:00
    我用 Raycast 解决搜索和窗口快捷键
    agagega
        37
    agagega  
       2024-03-15 10:07:13 +08:00 via iPhone
    如果你用触控板,可以试试 Swish 这个软件,快捷键+手势可以实现调整窗口大小和移动到某个桌面的操作。
    flyfish01
        38
    flyfish01  
       2024-03-15 10:13:08 +08:00
    桌面 1 ,桌面 2 ,桌面 3 不是可以弄很多个吗?按一下 F3 还可以全局预览,在顶部左右遍有添加新桌面,那个才是真正的桌面 2 ,自己鼠标定义个左右滑屏幕的快捷键呗,另外新出的台前调度虽然不好用,不过也能解决的说的 ‘窗口 a 固定在桌面 1 ,窗口 b 和窗口 c 固定在桌面 2 ’ 的问题啊。。。楼上讲的那个软件也可以用, 说白了你还是用 win 的那套逻辑思维在用 mac ,windows 是将软件最大化只是窗口最大化,和 mac 的双击导航栏差不多,mac 的最大化指的是一个工作桌面只有这一个软件或者叫全屏幕
    rioshikelong121
        39
    rioshikelong121  
       2024-03-15 10:30:43 +08:00
    please use Moom
    lancelock
        40
    lancelock  
       2024-03-15 11:22:16 +08:00
    @BeyondReach 他也可以最大化啊,你帖子里不是说最大化困难吗?
    kawaiidora
        41
    kawaiidora  
       2024-03-15 12:06:31 +08:00   ❤️ 1
    我觉得主要原因是“学微软是万万不能的”,台前调度属于占用屏幕空间切效果远不如任务栏的东西
    yulgang
        42
    yulgang  
       2024-03-15 13:13:40 +08:00
    macOS 的窗口管理逻辑确实很糟糕
    brucmao
        43
    brucmao  
       2024-03-15 13:32:04 +08:00
    Jitouch 支持手势左右半屏,窗口最大化这种
    wsjjacky
        44
    wsjjacky  
       2024-03-15 13:34:19 +08:00

    Better Touch Tool 谁用谁知道 ¯\_(ツ)_/¯
    parthenon2007
        45
    parthenon2007  
       2024-03-15 13:59:17 +08:00   ❤️ 2
    再吐槽一个,macOS 原生不支持通过右键新建文件,却给用户洗脑,要通过 App 来创建文件。每次现在 App 里创建文件,然后再选保存目录,真的烦死。
    a1b2c3T
        46
    a1b2c3T  
       2024-03-15 14:11:34 +08:00 via iPhone
    @1014982466 之前用了段时间 mac ,一直没搞明白那个文件管理是个什么机制,感觉还不如 ios 自带的那个文件管理…还有之前看别人吹那个触摸板手势,我感觉也不如 windows 的好用,估计也是我用习惯了吧
    cander0815
        47
    cander0815  
       2024-03-15 14:29:02 +08:00
    在 设置 -> 调度中心 -> 根据最近的使用情况自动重新排列空间 这个关了,就不会桌面来回自己改变自己的顺序了
    BeyondReach
        48
    BeyondReach  
    OP
       2024-03-15 17:38:46 +08:00
    @cander0815 这个选项我是关着的
    BeyondReach
        49
    BeyondReach  
    OP
       2024-03-16 12:28:42 +08:00
    @GabrielleBellamy 1Piece 中可以为 Maximize 提供快捷键的方式正是我需要的,下面网友们提到的 Rectangle 也可以为窗口最大化设置快捷键

    现在有一个小问题,之前 Mac 中的全屏快捷键 ctrl+win+F ,是可以在全屏和原始状态之间进行切换的,这样我只需要绑定一个鼠标上的功能键为 ctrl+win+F ,就可以对窗口状态进行切换

    1Piece 中可以为 Maximize 并没有这个切换的功能,稍微有那么一丢丢不方便
    BeyondReach
        50
    BeyondReach  
    OP
       2024-03-16 12:31:54 +08:00
    @flyfish01 可能你的理解和我的理解不太一样

    我的意思是:窗口全屏之后就会自己新建一个桌面打开,如果在桌面 1 、桌面 2 上的窗口随机进行全屏和复原的操作,窗口所在的桌面就会发生变化,我想避免这种情况的发生。
    BeyondReach
        51
    BeyondReach  
    OP
       2024-03-16 12:36:08 +08:00
    @shoudeliao #30 “分配给桌面”这个功能也是解决我的问题的一个方法

    我目前用 rectangle ,功能和 Magnet 差不多
    BeyondReach
        52
    BeyondReach  
    OP
       2024-03-16 12:37:15 +08:00
    @qweruiop 有时我放在某个桌面的窗口会很多,yabai 平铺式的展示窗口的方法不太适合这样的桌面呢
    BeyondReach
        53
    BeyondReach  
    OP
       2024-03-16 12:39:21 +08:00
    @whusnoopy 多谢了,使用“最大化”代替“全屏”应该是解决我的问题的关键

    现在有一个小问题,之前 Mac 中的全屏快捷键 ctrl+win+F ,是可以在全屏和原始状态之间进行切换的,这样我只需要绑定一个鼠标上的功能键为 ctrl+win+F ,就可以对窗口状态进行切换

    rectangle 中可以为 Maximize 设置快捷键,但是这个快捷键并没有切换的功能,稍微有那么一丢丢不方便
    BeyondReach
        54
    BeyondReach  
    OP
       2024-03-16 12:41:56 +08:00
    @RyougiShiki 我也是这个思路来创建桌面的。

    我一直搞不清楚 cmd H 隐藏窗口、cmd M 最小化的 区别

    我使用非苹果鼠标,不过通过 Mac Mouse Fix 这个软件,可以设置按住中键左右滑动来切换桌面,也相当方便了
    GabrielleBellamy
        55
    GabrielleBellamy  
       2024-03-16 14:21:41 +08:00
    @BeyondReach 这样🤔全屏我很少用到,我用的是 BetterTouchTool 在触控板上从左侧二指右滑,使当前聚焦页面全屏。
    whusnoopy
        56
    whusnoopy  
       2024-03-16 15:17:58 +08:00
    @BeyondReach #53

    搜到一个可能可以解决你问题的答案,刚在 macOS 14.4 测试可用

    原答案 https://superuser.com/a/1648700

    步骤:

    1. 打开「系统设置」
    2. 打开「键盘」(最下面倒数第四个)
    3. 打开「键盘快捷键」
    4. 左边选择「 App 快捷键」
    5. 点「+」号新增快捷键
    6. 选择「所有应用程序」(默认就是这个)
    7. 「菜单标题」字段里输入「 Zoom 」
    8. 在「键盘快捷键」里录入自己要的快捷键(比如我用 Ctrl+Opt+Cmd+Enter 做的测试)
    9. 完成。按你说的,把鼠标的某个功能键绑定为这个快捷键就行
    BeyondReach
        57
    BeyondReach  
    OP
       2024-03-16 16:39:19 +08:00
    @whusnoopy #56

    多谢多谢!!

    解决我问题的关键就是这个“Zoom”-缩放窗口的操作!!!

    我在 @wsjjacky 的回复里,了解到 BTT 这个神级软件。用这个软件设置鼠标功能键绑定“缩放光标下的窗口”功能,也就是“Zoom”这个功能后,就可以用鼠标的一个功能键,让窗口在最大化和之前设置的状态(比如左半屏)之间循环切换了
    BeyondReach
        58
    BeyondReach  
    OP
       2024-03-16 16:40:20 +08:00
    @wsjjacky

    感谢,试了一下,BTT 确实是这个神级软件

    根据你的提醒,我尝试了用这个软件设置鼠标功能键绑定“缩放光标下的窗口”功能后,就可以用鼠标的一个功能键,让窗口在最大化和之前设置的状态(比如左半屏)之间循环切换了
    BeyondReach
        59
    BeyondReach  
    OP
       2024-03-16 17:00:08 +08:00
    @whusnoopy #56 不好意思,我试了一下你提到的方法,好像“zoom”只能将窗口居中,并以屏幕的 80%左右的大小显示,并不能实现窗口最大化的效果。

    不知道你的机子上是不是也是这样?
    SydFloyd
        60
    SydFloyd  
       2024-03-16 22:04:01 +08:00
    这是我最用不惯的一点,打不了游戏我买之前就知道,窗口管理逻辑太他妈难用,dock 也不好用,hide 和 minmize 还不一样,真的不如 windows 易用
    wsjjacky
        61
    wsjjacky  
       2024-03-16 22:26:21 +08:00
    @BeyondReach 这是一个用了就回不去的软件,有非常多的玩法,可以充分发掘鼠标、键盘和触控板的潜能。
    bravecarrot
        62
    bravecarrot  
       2024-03-17 20:18:39 +08:00 via iPhone
    这个确实挺垃圾的 我已经习惯了
    godpeo
        63
    godpeo  
       2024-03-17 22:21:31 +08:00 via iPhone
    @wsjjacky mark
    c1wx
        64
    c1wx  
       2024-03-19 22:12:31 +08:00
    @BeyondReach #57 不用这么复杂,rectangle 支持设置快捷键恢复到上一个窗口页面大小,在快捷键设置页中设置`others - restore`就行了。
    c1wx
        65
    c1wx  
       2024-03-19 22:13:19 +08:00
    @parthenon2007 #45 你下载 Qmenu 试试,或者直接用 Qspace 。
    houshuu
        66
    houshuu  
       2024-03-19 23:34:44 +08:00 via iPhone
    raycast 有类似于窗口管理器的功能,比如左边 1/2 ,中间 3/4 什么的。yabai 可能更好,但大部分公司应该都不允许把系统保护关闭吧
    parthenon2007
        67
    parthenon2007  
       2024-03-20 09:42:48 +08:00
    @c1wx #65 谢谢推荐,我现在凑活着用 Qspace ,用田字格布局时,布局有时会乱掉,很烦。
    zealotpuppy
        68
    zealotpuppy  
       2024-03-20 12:09:03 +08:00   ❤️ 1
    @gzlock 不可能,因为 linux 的桌面管理器都比 mac 的好用
    msdurex
        69
    msdurex  
       2024-03-21 10:12:11 +08:00
    按住 Option 按钮 点击绿色全屏按钮,你就会发是你要的“充满整个屏幕”
    brucmao
        70
    brucmao  
       327 天前
    @BeyondReach #58 请问怎么设置鼠标一个功能键在最大化和之前状态循环切换呢,是设置高级条件么?
    brucmao
        71
    brucmao  
       327 天前
    @brucmao #70 明白了,只需要单独绑定“缩放光标下访的窗口”就可以了,不需要再绑定最大化,另外我用的 mx master 3s ,BTT 不能识别功能键,只能用 logi options+ 给功能键分配一个快捷键,然后在 BTT 绑定这个快捷键
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   903 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:35 · PVG 05:35 · LAX 14:35 · JFK 17:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.