1

Emacs を起動したときに、画面の左半分を埋めたいと思っています。私はこれを使用して達成します

;; set initial window size to the left half of the screen
(defun set-frame-pixel-size (frame width height)
  "Sets size of FRAME to WIDTH by HEIGHT, measured in pixels."
  (let ((pixels-per-char-width (/ (frame-pixel-width) (frame-width)))
        (pixels-per-char-height (/ (frame-pixel-height) (frame-height))))
    (set-frame-size frame
                    (floor (/ width pixels-per-char-width))
                    (floor (/ height pixels-per-char-height)))))

(defun use-left-half-screen ()
  (interactive)
  (let* ((excess-width 32)
         (excess-height 48)
         (half-screen-width (- (/ (x-display-pixel-width) 2) excess-width))
         (screen-height (- (x-display-pixel-height) excess-height)))
    (set-frame-pixel-size (selected-frame) half-screen-width screen-height)))

(if window-system
    (use-left-half-screen))

そして、それは美しく機能します。ただし、日中に同じコマンドを別の時間に呼び出したい場合があります。したがって、私はそうしますM-x use-left-half-screenが、何も起こりません。

つまり、M-: (set-frame-pixel-size (selected-frame) 1024 768)最初に(または同様のものを)実行しない限りです。私がそれを行い、マウスを使用してフレームサイズを変更しなければ、うまくいきますuse-left-half-screen。マウスまたは OS ショートカットを使用してフレーム サイズを変更するとすぐに、動作しなくなります。

私がどのようにM-x use-left-half-screen仕事をすることができるかについてのアイデアはありますか?

4

0 に答える 0