3

困っています。を押し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)

新しいフレームが作成されたことを確認しました。私のポイントは新しいバッファ running にありgnusます。ただし、最小化して復元するまで、フレームはディスプレイに表示されません。実行するM-x make-frameと、同じ動作になります。Cinnamon デスクトップで Linux Mint を実行しています。

4

1 に答える 1

1

機能をご覧くださいx-focus-frame

(when (fboundp 'x-focus-frame)
  (x-focus-frame nil))
于 2012-12-24T06:52:19.907 に答える