これは私を夢中にさせます: Emacs を起動時の画面解像度に合わせて最大化したいだけです。理想的には、あらゆる画面解像度で動作するクロスプラットフォーム (Windows & Linux) ソリューションが好きですが、ハードコードされたサイズでも Window XP だけでは動作しません。
ここに私が試したものがあります:
- 適切な高さ/幅で initial-frame-alist を設定する
- default-frame-alist の設定
- (Windows 固有のもの) emacs ウィンドウにメッセージを送信して、最大化するように指示します。
(w32-send-sys-command 61488)
どこかで見つけたこの機能を試しました:
(defun toggle-fullscreen () "toggles whether the currently selected frame consumes the entire display or is decorated with a window border" (interactive) (let ((f (selected-frame))) (modify-frame-parameters f `((fullscreen . ,(if (eq nil (frame-parameter f 'fullscreen)) 'fullboth nil))))))
- init ファイルの最初と最後で上記の方法を試し、他の init からの干渉を排除しようとしました。
残念ながら、上記のどれも機能しません!! 上記のいくつかについては、私の emacs ウィンドウのサイズが一瞬だけ正しく変更されてから、小さいデフォルト サイズに戻ることがわかります。初期化後に上記の方法を実行すると、emacs ウィンドウは正しくサイズ変更されます。ここで何が起こっているのですか?
[psこれには他にもSOの質問がありますが、どれもうまくいきません]
アップデート:
答えを見ると、init ファイル内の他の何かが問題を引き起こしていると思います。そして確かにそうです!試行錯誤の末、犯人を見つけました。次の行をコメントアウトすると、すべてが完全に機能します。
(tool-bar-mode -1)
ツールバーは、ウィンドウの最大化と一体何の関係があるのでしょうか?
問題は次のとおりです。ツールバーを無効にするにはどうすればよいですか (結局のところ、emacs のツールバーは見苦しく、貴重な画面領域を占有します)、両方の init ファイルでウィンドウを最大化するにはどうすればよいでしょうか? ツールバーがウィンドウのサイズに干渉するのはおそらくバグですか?
明確化: (tool-bar-mode -1) はツールバーをオフにしますが、この行は Emacs ウィンドウの最大化を妨げます。したがって、ウィンドウを最大化してツールバーをオフにする関数を配置しようとすると、最大化部分が失敗します。ツールバー部分がコメントアウトされている場合、最大化部分は正常に機能します。私がどのソリューションを使用するかは問題ではありません (私がリストした 4 つの中で)。
解決策:(または少なくとも今私にとって何がうまくいくか)
これはおそらく Emacs のバグです。回避策は、.emacs ではなく、レジストリからツールバーを無効にすることです。以下を .reg ファイルとして保存し、そのファイルを Windows エクスプローラーで実行します。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\GNU\Emacs]
"Emacs.Toolbar"="-1"
(このソリューションは、OtherMichael が提案したものの実用的なバージョンです)。