[解決済み] emacsがターミナルモードであることを検出する方法は?
2023-06-26 22:59:26
質問
私の
.emacs
ファイルには、グラフィカルモードでのみ意味をなすコマンドがあります (たとえば
(set-frame-size (selected-frame) 166 100)
). これらをターミナルモードではなく、グラフィカルモードでのみ実行するにはどうすればよいでしょうか (すなわち
emacs -nw
).
ありがとうございます。
どのように解決するのですか?
この
window-system
変数は Emacs がどのウィンドウシステムで動作しているかを Lisp プログラムに伝えます。指定できる値は
- x
- EmacsはXを使用してフレームを表示しています。
- w32
- Emacs は MS-Windows ネイティブ GUI を使用してフレームを表示しています。
- ns
- EmacsはNextstepインターフェース(GNUstepとMac OS Xで使用)を使用してフレームを表示しています。
- pc
- EmacsはMS-DOSのdirect screen writesを使ってフレームを表示しています。
- 無
- Emacsは文字ベースの端末にフレームを表示しています。
から ドキュメント .
Edit
: どうやら window-system は非推奨で、代わりに
display-graphic-p
に変更されたようです (source: C-h f window-system RET on emacs 23.3.1)。
(display-graphic-p &optional DISPLAY)
Return non-nil if DISPLAY is a graphic display.
Graphical displays are those which are capable of displaying several
frames and several different fonts at once. This is true for displays
that use a window system such as X, and false for text-only terminals.
DISPLAY can be a display name, a frame, or nil (meaning the selected
frame's display).
つまり、あなたがやりたいことは:
(if (display-graphic-p)
(progn
;; if graphic
(your)
(code))
;; else (optional)
(your)
(code))
そして、else節がない場合は、そのまま。
;; more readable :)
(when (display-graphic-p)
(your)
(code))
関連
-
[解決済み】ログアウトと再ログインをせずに.bashrcの設定を再読み込みする方法とは?
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] git に自分の好きなエディタを使わせてコミットするにはどうしたらいいですか?
-
[解決済み] ターミナルで現在の行をクリア/削除するにはどうすればよいですか?
-
[解決済み] EmacsとVimの違い
-
[解決済み] Emacsがバックアップファイルを作成する方法を制御するにはどうすればよいですか?
-
[解決済み] emacsの分割画面の大きさを変えるには?
-
[解決済み] Emacsでファイルの読み取り/書き込みモードを変更するには?
-
[解決済み] Emacsの現在のバッファ以外のすべてのバッファを閉じる
-
[解決済み] ラムダとキーのバインドで "Wrong type argument: commandp" エラー
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Emacsは私を良いプログラマーにしてくれますか?[クローズド]
-
[解決済み] Emacsのデフォルトフォルダを変更する
-
[解決済み] Emacsのウィンドウサイズはどのように設定するのですか?
-
[解決済み] Emacsでウェルカムスクリーンを隠すことができない
-
[解決済み] Emacs Lispにおけるsetqとsetq-defaultの相違点
-
[解決済み] Emacs、前のウィンドウに切り替える
-
[解決済み] Emacs: 起動時に前回のセッションのバッファを再オープンしますか?
-
[解決済み] Stack Overflowのマークダウン用Emacsモード
-
[解決済み] ラムダとキーのバインドで "Wrong type argument: commandp" エラー
-
[解決済み] Idoモードが賢すぎる、ファイル名を補完しないようにできないか?