起動時にEmacsフレームを最大化する方法は?


66

起動時にウィンドウを最大化する方法はありますか?

現在、キーボードでControl+ Windows Key+ Upを押しますが、毎回それを行うのは非常に面倒です。

Ubuntu 12.04でEmacs 24.4を使用しています。


1
emacsを最大化するためのキーの組み合わせを知りませんでした。それに感謝し、以下の答えもうまくいきました!
プラザンナ

どこから組み合わせを見つけましたか?<kbd>![Windows Key][oldwinlogo]</kbd>これは私にはうまくいきません:
Prasanna

回答:


71

Emacs 24.3と24.4でテストしたほか、WindowsとGNU / Linuxの両方でテストした別の方法があります。initファイルに以下を配置しました。

(add-to-list 'default-frame-alist '(fullscreen . maximized))

これは先ほど見つけたStackOverflowの回答から少し変更されたと思いますが、今はもう見つけられないようです。

編集:この方法のもう1つの利点は、Emacsサーバーに接続する新しいクライアントにも適用されることです(たとえばemacsclient -c)。


3
正確な答えのために+1。これを再び答えとして受け入れることができれば-私は本当にそうするでしょう!
プラザンナ

1
私はを使用してこのソリューションが好きですemacsclientが、それらを最大化して開始すると、ediffコントロールパネルのように正しく使用できなくなるいくつかのフレームがありますが、これに対する回避策はありますか?
-marcanuy

@marcanuy:私は頭の上の解決策を知りませんが、そのための新しい質問を投稿する価値があるかもしれません。
スコットウェルドン

31

...-frame-alistinitファイルでを調整して、フレームを最大化する方法をEmacsに伝えます。また、最大化する方法、正確には複数のオプションがあります。

alist オプション

次の2つの...-frame-alistオプションがあります。

  1. default-frame-alist (@Scott Weldonの回答のように)
  2. initial-frame-alist

を使用default-frame-alistすると、最初のフレームと作成した他のフレームの両方のすべてのフレームが最大化されます。それはあなたが望んでいることではないかもしれません(あるいは多分それは:私が判断するのは誰ですか?)。

を使用するとinitial-frame-alist、起動時にEmacsが作成するフレームのみが最大化されますが、作成する後続のフレームには影響しません。

最大化オプション

最大化オプションについては、マニュアルのこのノードを参照してください。短いバージョンでは、fullscreenパラメーターを次のように設定できます。

  • fullwidth (フレームをできるだけ広くし、垂直に触れないでください)
  • fullheight (フレームをできるだけ高くし、水平に触れないでください)
  • fullboth (高さと幅を画面のサイズに設定)
  • maximized (まあ、最大化する)

違いfullbothとはmaximized、あなたがすることはできません後者としながら、マウスでの元のサイズを変更することができるということです。

したがって、たとえば、これらの行は、1)最大化された初期フレームを作成し、2)後続のすべてのフレームでフルハイト(フルワイドではない)フレームを作成します。

(add-to-list 'initial-frame-alist '(fullscreen . maximized))
(add-to-list 'default-frame-alist '(fullscreen . fullheight))

3
実際、ediffなどのツールを使用する場合initial-frame-alistよりもはるかに便利ですdefault-frame-alist
ジョルダーノ14年


9

@Constantineの答えは、initファイルを変更することでこれを達成する方法をすでにカバーしています(Emacs 24.4を使用している場合)。

コマンドライン、ダッシュ、またはSynapsekrunnerなどのランチャーからEmacsを起動する場合、同じ結果を得る-mmためにオプション(短縮形--maximized)を指定できます。

emacs -mm

この-mmオプションはEmacs 23.2で初めて導入されたため、このソリューションは最新の安定版リリースに限定されません。


このソリューションとここに掲載されている他の提案(すべて素晴らしい)との違いは、起動時にEmacsフレームを最大化するかどうかをケースバイケースで決定できることです。

より永続的なソリューションが必要な場合はalias、次のコードをに追加して、上記のコマンドのを設定できます.bashrc

alias emacs='emacs -mm'

2
このソリューションのもう1つの利点は、emacsがすでに最大化されていることです。初期化ファイルの回避策により、起動時に最大化に切り替えられますが、これはちょっと面倒です。
および

1
この回答に追加emacs -fsするには、Emacsをフルスクリーンに最大化するか、最大化して最大化します。
Teemu Leisti

6

最大化されたEmacsを起動するには、initファイルに追加します。

;; Start maximised (cross-platf)
(add-hook 'window-setup-hook 'toggle-frame-maximized t)

あなたがフルスクリーンにしたい場合、または彼らが今言うように、気を散らさないモードにしたい場合:

;; Start fullscreen (cross-platf)
(add-hook 'window-setup-hook 'toggle-frame-fullscreen t)

これはWindowsでも機能します。


1

私は次を使用しています:

(when (eq system-type 'gnu/linux)
  (defun x11-maximize-frame ()
    "Maximize the current frame (to full screen)"
    (interactive)
    (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 '(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0))
    (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 '(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0)))
  (run-with-idle-timer 0.01 nil 'x11-maximize-frame)
  )

(when (eq system-type 'windows-nt)
  (w32-send-sys-command 61488)
)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.