gpt4 book ai didi

emacs - 检查当前帧是否不是 X 窗口的函数

转载 作者:行者123 更新时间:2023-12-04 05:49:56 25 4
gpt4 key购买 nike

如果当前的 emacs 框架是 X 窗口还是终端,是否可以从 elisp 函数内部进行检查?

我有一个最大化窗口的函数,它被设置为在创建新框架时运行。但是,当我打开仅限终端的 session 时,每当创建新框架时都会收到错误消息。

我希望函数检查它是否是 X 窗口,否则什么都不做。那可能吗?

为了记录,这是当前的功能:

(defun fullscreen (&optional f)     
(interactive) ;if called interactively, use current frame
(if f (select-frame f)) ;if called as hook, use new frame
(x-send-client-message nil 0 nil "_NET_WM_STATE" 32
'(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0))
(x-send-client-message nil 0 nil "_NET_WM_STATE" 32
'(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0))
)

最佳答案

你可以看看window-system功能。它接受一个帧可选参数(默认为当前帧)。或者,display-graphic-p更新(根据文档)并允许检查包含多个帧的整个显示。在你的例子中,你可以写:

(if (display-graphic-p) ...)

关于emacs - 检查当前帧是否不是 X 窗口的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10195621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com