メインの開発環境はmac mini+FlexScanL885なのだが、外出先などではMacbook air 11インチを使用している。emacsのデフォルト フレーム サイズをFlexScanL885にあわせるとMacbook airでは、はみ出てしまう。逆にMacbook airにあわせると、FlexScanL885では狭すぎて開くたびにリサイズするなんてことになる。
じゃあ解像度に合わせて、動的に開くフレームサイズを決めれば良いんじゃねぇ。ということで下記の設定を書いてみた。
;; 画面の解像度によりフレームサイズを変化させる (when window-system (if (>= (x-display-pixel-width) 800) (setq width-gain 0.45) (setq width-gain 0.8)) (if (>= (x-display-pixel-height) 1000) (setq height-gain 0.7) (setq height-gain 0.87)) (set-frame-size (selected-frame) (floor (/ (* (x-display-pixel-width) width-gain) (frame-char-width))) (floor (/ (* (x-display-pixel-height) height-gain) (frame-char-height))))
横の解像度が800px以下の場合は、横のフレームサイズを ((横解像度*0.8)/1文字の横ピクセル数)、横の解像度が800px以上の場合は ((横解像度*0.45)/1文字の横ピクセル数) としている。
また、縦の解像度が1000px以下の場合は、縦のフレームサイズを ((縦解像度*0.87)/1文字の縦ピクセル数)、縦の解像度が1000px以上の場合は ((縦解像度*0.7)/1文字の縦ピクセル数) としている。
0 コメント:
コメントを投稿