当我启动 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
可以了。一旦我使用鼠标或操作系统快捷方式更改帧大小,它就会停止工作。
你对我如何创作有什么想法M-x use-left-half-screen
吗?