2013-06-06 7 views
6

私はマルチスクリーンディスプレイを持っています。 emacs(Windows 7のGNU Emacs 24.2.1(i386-mingw-nt6.1.7601))では、物理的なスクリーンの数を決めて、別のスクリーンで起こるようにするにはどうすればいいですか?たとえば、別の画面で新しいフレームを開きたい場合や、Emacsが起動しているフレームを別の画面に移動したい場合があります。emacs内で、物理的な画面をどのように参照しますか?

答えて

6

私は、これらの機能は、Windows上で動作するかどうかわからないんだけど、Linux、およびMac OS X上で使用することができます:

  • x-display-screens:モニター
  • x-display-pixel-width数:Emacsのが含まれている現在の画面(スクリーン窓)x-display-pixel-height
  • 幅:現在の画面の高さ
  • set-frame-widthset-frame-height
  • のサイズを変更:あなたは別の画面で新しいフレームを作成したい場合は、あなたが行うことができます例えばフレーム

を移動:

1280はあなたの最初の画面の幅である
(when (and (display-graphic-p) (= (display-screens) 2)) 
    (make-frame) 
    (set-frame-position (selected-frame) 1280 0)) 

+0

また、私の設定を見てみることもできますhttps://github.com/tungd/dotfiles/blob/master/emacs/init.el#L278 – tungd

+0

x-display-screensは私のWindowsでのEmacsの実装。 "1(#o1、#x1)"を返し、3つの画面があります。ディスプレイ画面も同じことを返します。 – kc2001

+0

'x-display-pixel-width'についてはどうですか?あなたの画面の幅のようなものが返ってきたら、それでも役に立つでしょう。 – tungd

2

チェックアウトPOS-tip.elコード(http://www.emacswiki.org/emacs/pos-tip.el

それはそうおそらくあなたはそれにいくつかの互換性のある層を見つけることができるXとWindowsで動作しますと言います。

+0

ポインタに感謝しますが、x-display-pixel-widthとfriendsを使って画面の計算をしているように見えます。 – kc2001

+0

あなたはそれを試しましたか?最初にインストールしてそれを使用して動作することを確認してみませんか? – tkf

関連する問題