macOS 14 Sonoma下如何让emacsclient启动时默认原生全屏?
解决方案:MacOS 14 Sonoma下让Emacsclient自动原生全屏并获取焦点
环境
MacOS 14 Sonoma
emacs-plus / doomemacs
方法1:通过Emacs配置实现(推荐,一劳永逸)
在Doom Emacs的配置文件~/.doom.d/config.el中添加以下代码:
;; 窗口初始化完成后自动进入原生全屏并获取焦点 (add-hook 'window-setup-hook (lambda () (when (display-graphic-p) ;; 触发MacOS原生全屏(进入独立Space) (ns-toggle-fullscreen) ;; 强制让窗口获得输入焦点 (x-focus-frame nil))))
保存配置后执行doom sync生效,之后用emacsclient -c启动时,窗口会自动进入原生全屏并获取焦点。
方法2:修改启动命令或添加别名
如果不想修改Emacs配置,可直接在启动命令中加入执行代码:
emacsclient -c -e "(progn (ns-toggle-fullscreen) (x-focus-frame nil))"
也可以把这个命令设置成终端别名方便调用:
在~/.zshrc(或~/.bashrc,根据你使用的Shell)中添加:
alias ec='emacsclient -c -e "(progn (ns-toggle-fullscreen) (x-focus-frame nil))"'
执行source ~/.zshrc生效后,输入ec即可快速启动符合需求的Emacs窗口。
注意事项
确保Emacs后台服务已启动,可通过以下命令提前启动:
# Doom Emacs用户 doom daemon start # 普通emacs-plus用户 emacs --daemon
内容的提问来源于stack exchange,提问作者Tirtharaj Pramanik
相关产品推荐
相关产品推荐

