1. ホーム
  2. emacs

[解決済み] Emacsのウィンドウサイズはどのように設定するのですか?

2022-12-12 04:28:09

質問

私はemacsを起動している画面のサイズを検出し、それに応じて起動するウィンドウのサイズと位置を調整しようとしています(emacsの用語ではフレームだと思います)。私の.emacsをセットアップして、常に画面の左上付近に左上隅を持つ適度な大きさのウィンドウを取得しようとしています。

私は、これは 大きな であると思いますので、物事を少し狭めるために、私は Windows と (Debian) Linux 上の GNU Emacs 22 に最も興味があります。

どのように解決するのですか?

解像度に応じてサイズを変更したい場合は、次のような方法があります(特定のニーズに応じて、好ましい幅と解像度を調整します)。

(defun set-frame-size-according-to-resolution ()
  (interactive)
  (if window-system
  (progn
    ;; use 120 char wide window for largeish displays
    ;; and smaller 80 column windows for smaller displays
    ;; pick whatever numbers make sense for you
    (if (> (x-display-pixel-width) 1280)
           (add-to-list 'default-frame-alist (cons 'width 120))
           (add-to-list 'default-frame-alist (cons 'width 80)))
    ;; for the height, subtract a couple hundred pixels
    ;; from the screen height (for panels, menubars and
    ;; whatnot), then divide by the height of a char to
    ;; get the height we want
    (add-to-list 'default-frame-alist 
         (cons 'height (/ (- (x-display-pixel-height) 200)
                             (frame-char-height)))))))

(set-frame-size-according-to-resolution)

window-systemはemacsの新しいバージョンでは非推奨であることに注意してください。適切な代替は (display-graphic-p) . 参照 この回答 に対する質問 emacsがターミナルモードであることを検出する方法は? をご覧ください。