Emacs で Window(WIndows でいうところのウィンドウではなく、バッファが表示されている領域)のサイズをピクセル単位で取得するときは、
(* (frame-char-width) (frame-width)) ; 幅 (* (frame-char-height) (frame-height)); 高さ
で取得できる。
C-; を押したときに Window の大きさに応じて縦か横を分割する(大きいほうが半分になるように分割する)ようにしたくて調べた。
(defun split-window-smart () (interactive) (if (< (* (frame-char-width) (window-width)) (+ (* (frame-char-height) (window-height)) 30)) ; 30は調整用(タイトルバーなど) (split-window-vertically) (split-window-horizontally)) (other-window 1)) (global-set-key (kbd "C-;") 'split-window-smart)