Baris mode tunggal untuk semua jendela


9

Apakah mungkin hanya memiliki satu baris mode (kadang-kadang disebut "statusbar") untuk semua jendela?

Saya ingin membuat satu baris mode ini menampilkan informasi tentang buffer yang saat ini dipilih.


2
Mungkin Anda bisa meminjam konsep di utas terlampir dan membuat jendela khusus di bagian bawah setiap bingkai, yang hanya menunjukkan mode-line khusus? emacs.stackexchange.com/questions/7697/…
lawlist

Tentunya maksud Anda windows, bukan bingkai?
abo-abo

Tangkapan yang bagus. Ya, maksud saya windows.
rgtk

Jawaban:


8

Saya tidak punya solusi untuk modeline tunggal, tetapi berikut adalah dua solusi alternatif yang mungkin:

1. Hanya render baris mode di jendela aktif:

Jika Anda menggunakan kabel listrik, Anda dapat membungkus mode-line-format dalam:

((:eval (when (powerline-selected-window-active) ...)))

lalu ubah mode-line-inactivewajah jadi padukan dengan latar belakang Anda tetapi tetap pisahkan buffer dengan:

(set-face-attribute 'mode-line-inactive nil
                    :underline t
                    :background (face-background 'default))

Ini akan terlihat seperti ini:

masukkan deskripsi gambar di sini

2. Gunakan frame-title-format

Anda frame-title-formatmenentukan apa yang ditampilkan di bagian atas bingkai Anda saat menjalankan dalam gui.

Atur frame-title-format' like you would yourmode-line-format` dan mereka mengatur format-mode-line Anda menjadi sesuatu yang kosong.


4

Saya akhirnya mencapai ini dengan meretas emacs. Demo

Anda bisa mendapatkan kode sumber dari https://github.com/amosbird/emacs/tree/onemodeline . Pada dasarnya ia menggunakan baris header mini-window untuk membuat modeline buffer saat ini.


Apakah ini masih berfungsi / bekerja dengan emacs 26.1?
rien333

@ rien333 Seharusnya. Tetapi metode ini memang sangat rapuh. Masih ada logika hardcoded yang mengharuskan jendela mini menjadi satu baris. Namun saya tidak dapat menemukan semuanya.
Amos
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.