1

それを作成したフレームのアクティブなバッファを常に表示するemacsで新しいフレームを作成するためのショートカットが必要です。このようにして、フレームを別のワークスペースに移動して、別の emacs フレームの小さなプレビューのようなものを保持できます。

以下は、新しいフレームが常に親フレームのバッファを表示するようにする関数での私の試みです。get-active-buffer は疑似コードですが、それ以外はうまくいくはずです。

(defun display-active-buffer (parent-frame)
  (while t
    (let ((active-buffer (get-current-buffer parent-frame)))
      (cond (/= active-buffer (current-buffer))
        (switch-to-buffer-other-frame active-buffer)))))

本当に私はほとんどの場合、現在のフレームを使用するだけでなく、フレームを引数として取ることを除いて、現在のバッファーのように機能する get-current-buffer のような関数があることを知りたいだけです。また、親フレームの名前をこの関数に渡す方法を考え出す必要があります。また、これに無限のwhileループを使用することがどれほど賢明かはわかりません。もっと良い方法を知っている人がいたら教えてください。

これは emacs に追加すると非常に便利な機能になると思います。そのため、これらすべてを理解したら、この投稿を編集して、完成したコードを追加し、誰でも使用できるようにします。

4

1 に答える 1

3

なぜこれをやりたいのかわかりませんが、これはあなたが説明したことだと思います:

(defun make-frame-synced-to-current-frame-current-buffer ()
  (interactive)
  (let ((parent-frame (selected-frame))
        (synced-frame (make-frame)))
    (add-hook
     'window-configuration-change-hook
     `(lambda ()
        (if (eq (selected-frame) ,parent-frame)
            (save-excursion
              (select-frame ,synced-frame)
              (switch-to-buffer (window-buffer
                                 (frame-selected-window
                                  ,parent-frame)))
              (select-frame ,parent-frame)))))))
于 2013-01-06T05:32:43.560 に答える