1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Emacsの初期設定:どんなモニタでもフレームを最大表示する設定

Last updated at Posted at 2024-05-31

課題:ノートPC本体、外部モニタでEmacsを使う際にきちんと最大フレームにならない!

Emacsを立ち上げた時に、フレームが画面いっぱいに広がってくれると嬉しいです。しかし、ノートPCで作業することも、外部モニタ(職場・自宅など複数の外部モニタあり)につないで作業することもあり、一つの環境に設定をあわせても他の環境では最適でなかったりしました。

解決策

フレームが最大にならない場合でも、タイトルバーをダブルクリックすると、良い感じにフレームが広がってくれます。きっとなにか良い設定方法があるのでは?とChatGPTさんと対話を繰り返して、良い方法が見つかりました。

この設定により、Emacsを起動するたびに手動でウィンドウを最大化する手間を省くことができます。

1. Emacsの設定ファイルにコードを追加

まず、Emacsの設定ファイル(通常は ~/.emacs または ~/.emacs.d/init.el)に以下のコードを追加します。

;; フレームをフルスクリーンモードで起動してから最大化する
(defun maximize-frame ()
  "Maximize the current frame."
  (interactive)
  (set-frame-parameter nil 'fullscreen 'maximized))

(add-hook 'window-setup-hook 'maximize-frame)

2. コードの詳細な説明

このコードは、Emacsが起動する際にフレーム(ウィンドウ)を自動的に最大化するためのものです。各部分の機能について詳しく説明します。

2-1. 関数の定義

(defun maximize-frame ()
  "Maximize the current frame."
  (interactive)
  (set-frame-parameter nil 'fullscreen 'maximized))

maximize-frame という関数を定義しています。この関数は、現在のフレームを最大化するためのものです。set-frame-parameter 関数を使用して、フレームのパラメータを変更し、fullscreenmaximized に設定しています。これにより、フレームが全画面表示になります。

  • set-frame-parameter の引数:

    • FRAME: パラメータを設定するフレームを指定します。nil を指定すると、現在のフレームが対象になります。
    • PARAMETER: 設定するパラメータの名前を指定します。この場合は fullscreen です。
    • VALUE: パラメータに設定する値を指定します。この場合は maximized です。
  • nil の意味:
    ここでの nil は、現在のフレームを指します。つまり、以下のコードは「現在のフレームの fullscreen パラメータを maximized に設定する」という意味になります。

    (set-frame-parameter nil 'fullscreen 'maximized)
    
  • fullscreen パラメータと maximized 値:

    • fullscreen パラメータは、フレームの全画面表示モードを制御します。
    • maximized 値は、フレームを最大化することを意味します。これにより、フレームが画面全体を占めるようになりますが、ウィンドウマネージャの装飾(タイトルバーやウィンドウ枠)は残ります。

2-2. フックの追加

(add-hook 'window-setup-hook 'maximize-frame)

window-setup-hookmaximize-frame 関数を追加しています。これにより、Emacsが起動してウィンドウが設定された後に maximize-frame 関数が実行され、フレームが最大化されます。

3. コードの実行方法

Emacsを再起動するか、設定ファイルを再読み込みすることで、この設定が適用されます。設定ファイルの再読み込みは M-x eval-buffer コマンドを使用して行うことができます。

これで、Emacsを起動するたびにフレームが自動的にフルスクリーンモードで最大化されるようになります。手動で最大化する手間が省け、作業環境が整いやすくなりました!

まとめ

Emacsのフレームを自動的に最大化する設定は、効率的な作業環境を整えるのに役立ちます。今回紹介したコードを設定ファイルに追加するだけで、Emacsを起動するたびにフレームがフルスクリーンモードで最大化されるようになります。ぜひ試してみてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?