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

MacBook Pro 内置屏幕有办法一键切换横竖屏吗?另外带刘海的 MacBook Pro 屏幕旋转 90 度后会有大黑边,切换到其它分辨率可以去掉,但是系统提示会影响性能,感觉屏幕还变模糊了

  •  
  •   drymonfidelia · 3 天前 · 470 次点击

    我平常工作都是竖着用 Mac 写代码(反正是公司的电脑,坏了不用我出钱修,随便用),这样多一块竖屏屏幕 但是每次切换到竖屏都要按 Option 键打开设置隐藏选项,改旋转改分辨率,非常麻烦

    另外带刘海的 MacBook Pro 屏幕旋转 90 度后会有大黑边,切换到其它分辨率可以去掉,但是系统提示会影响性能,感觉屏幕还变模糊了,不知道是不是比例的问题,有 V 友知道吗?

    4 条回复    2024-12-19 18:53:20 +08:00
    element90
        1
    element90  
       3 天前   ❤️ 1
    macos 一键切换横竖屏(分辨率、刷新率...)需要安装一些工具和编写脚本,我这里可以提供。
    你需要先安装 homebrew , 然后使用以下命令进行安装和使用
    ```bash
    # 安装
    brew tap jakehilborn/jakehilborn && brew install displayplacer
    # 查看
    displayplacer list
    ```
    以我得为例,我有两个显示器(内置+外置),所以最后会显示这样一段配置命令:

    displayplacer "id:CD734E9A-7030-FBE1-D6EB-D493D1CCC796 res:1680x1050 color_depth:4 enabled:true scaling:on origin:(0,0) degree:0" "id:0E89A38C-1F87-6851-6F11-2497A1657713 res:2560x1440 hz:59 color_depth:8 enabled:true scaling:off origin:(1680,0) degree:0"

    一般第一个("CD734E9A-7030-FBE1-D6EB-D493D1CCC796")就是内置的显示器配置,而"0E89A38C-1F87-6851-6F11-2497A1657713",则是第二个外置显示屏。

    你可以通过 mac 的显示器偏好手动调整你的显示器设置,然后执行 displayplacer list 命令后,复制其配置信息,将其封装成 bash 脚本:
    ```bash
    funcion screen_vertical() {
    # 垂直的配置,以我得为例,我将外置显示器垂直 90 度 -> degree:90
    displayplacer "id:CD734E9A-7030-FBE1-D6EB-D493D1CCC796 res:1680x1050 color_depth:4 enabled:true scaling:on origin:(0,0) degree:0" "id:0E89A38C-1F87-6851-6F11-2497A1657713 res:2560x1440 hz:59 color_depth:8 enabled:true scaling:off origin:(1680,0) degree:90"
    }

    function screen_horizontal() {
    # 默认/横向的配置,第一次执行 displayplacer list 时显示的配置,或者你可以再次调整出正常配置后执行 displayplacer list 再看一遍 -> degree:0
    displayplacer "id:CD734E9A-7030-FBE1-D6EB-D493D1CCC796 res:1680x1050 color_depth:4 enabled:true scaling:on origin:(0,0) degree:0" "id:0E89A38C-1F87-6851-6F11-2497A1657713 res:2560x1440 hz:59 color_depth:8 enabled:true scaling:off origin:(1680,0) degree:0"
    }
    ```

    把上述 bash 放到~/.zshrc(zsh shell) 或者~/.bashrc(bash shell) , 一般现在 macos 用的是 zsh shell, 这样你开机之后就可以直接再终端直接使用 screen_vertical 和 screen_horizontal 切换显示器(垂直/横向)配置。

    做到这里也只是完成终端/脚本切换。

    可以通过自定义快捷键触发脚本,我这里使用的是 Alfred (想象大部分 mac 用户都会安装它)

    打开 Alfred 的配置,点开 Workflows ,在左侧面板最下方点击 "+" 号,添加一个自定义的 workflow (添加时问你创建的模板,选择 Blank Workflow 即可),然后基本上填写 name 然后点击 create 即可。

    右击空白处点 Triggers->Hotkey ,创建一个 hotkey 触发方式,里面设置自己想触发的组合快捷键
    继续右击空白处点 Actions->Run Script ,在 Script 处追加一行命令,比如 screen_vertical 或者 screen_horizontal 然后保存

    然后再用鼠标将面板上的两个组件连接在一切,这就完成了一个快捷键切换配置,你可以同样的方式再添加一个 workflow ,来完成不同快捷键切换不同配置(横竖屏)
    element90
        2
    element90  
       3 天前
    但是你的内置屏幕旋转后大黑边问题,我不太了解,我觉得是分辨率设置不到位,所以才会留黑边。
    另外就是,内置屏幕旋转之后你怎么使用?难道将 macbook 像一本书一样竖着放去看屏幕使用?有点奇葩
    whusnoopy
        3
    whusnoopy  
       3 天前   ❤️ 1
    我用 Better Display 这个 App 来管理多个显示器,看了下是支持对内部显示器做旋转的,只是不确定能否有一个快捷键实现的方式 https://github.com/waydabber/BetterDisplay#readme
    drymonfidelia
        4
    drymonfidelia  
    OP
       3 天前
    @element90 是的,像书一样用 macbook
    黑边是因为旋转后刘海那一整条都不会显示且不计算进屏幕分辨率了,屏幕的比例变了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2910 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:46 · PVG 21:46 · LAX 05:46 · JFK 08:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.