我遇到了麻烦。我想按 F11 并让Emacs创建一个新帧,然后设置其大小,然后启动gnus
。在此期间,我希望它将新框架带到前面。我似乎无法想出最后一部分。这是我的代码减去带到前面的部分:
(defun launch_gnus_new_frame ()
"Open a new frame and then launch gnus"
(interactive)
(let* (new_frame_gnus (new-frame))
(switch-to-buffer-other-frame new_frame_gnus)
(if window-system
(set-frame-size (selected-frame) 101 90))
(gnus)))
(global-set-key [f11] 'launch_gnus_new_frame)
任何想法都将不胜感激。谢谢!
编辑:这是我目前的代码。
(defun launch_gnus_new_frame ()
"Open a new frame and then launch gnus"
(interactive)
(let ((gmail_frame (make-frame '((name . "gmail") (window-system . x)))))
(select-frame-set-input-focus gmail_frame)
(if window-system
(set-frame-size (selected-frame) 101 90))
(gnus)))
(global-set-key [f11] 'launch_gnus_new_frame)
我已经确定已经创建了新帧,并且我的观点位于运行gnus
的新缓冲区中。但是,在我最小化并恢复之前,框架不在我的显示器上。如果我运行 M-x make-frame
我会得到相同的行为。我正在使用Cinnamon桌面运行Linux Mint。
答案 0 :(得分:1)
查看x-focus-frame
功能。
(when (fboundp 'x-focus-frame)
(x-focus-frame nil))