Pozbywanie się paska menu GNU Emacs w oknach terminali

6

Jak pozbyć się paska menu Emacsa w oknach terminali?

Standardowa odpowiedź to umieścić

(when (not (display-graphic-p))
  (menu-bar-mode -1))

w init.el. Jednak to rozwiązanie nie jest dobre, ponieważ wszystko to robi usuń pasek menu po fakcie. Nadal możesz to zobaczyć w przypadku podziału druga. To jest bardzo irytujące.

Patrząc na kod źródłowy w startup.el Nie widzę oczywistego rozwiązania do tego problemu. Myślę, że jedynym sposobem jest użycie before-init-hook. Może to może załatwić sprawę?

(add-hook 'before-init-hook
          (lambda ()
            (setq emacs-basic-display t)))

Ale ten hak jest uruchamiany wcześniej init.el i inne pliki init są oceniane, więc jak go używać?

Ernest A
źródło
Witamy w Super Użytkowniku. Proszę zawsze włącz swój system operacyjny. Rozwiązania bardzo często zależą od używanego systemu operacyjnego. Czy używasz Windows, Linux, Unix, OSX, BSD? Która wersja?
terdon
Dzięki, używam Debian GNU / Linux, wersji „testowej”.
Ernest A

Odpowiedzi:

3

Okazało się, że zależy to od wielkości okna terminala wszystkich rzeczy. Testowałem na terminator i xterm aw obu przypadkach zwiększenie rozmiaru okna zatrzymało wyświetlanie paska menu emacs ładował się. Domyśl. W szczególności, szerokość terminala> = 88 wydaje się zatrzymywać pojawiający się bufor menu. Wysokość wydaje się nieistotna. Można zatem zmienić domyślny rozmiar okna terminala, co może rozwiązać problem.

Oczywiście nie jest to idealne rozwiązanie i nie pomaga, jeśli korzystasz z tty nie jest emulatorem terminala, ale może to być najlepsze, jakie uzyskasz bez zagłębiania się emacs kod źródłowy, który, jak sobie wyobrażam, nie będzie wart wysiłku, aby pozbyć się tak drobnej irytacji.

terdon
źródło
1

Wątpię, czy istnieje sposób, aby go początkowo stłumić, przynajmniej chwilowy wygląd, o którym wspomniałeś. Możesz spróbować dostosować initial-frame-alist, ale mam wątpliwości, że ma to jakikolwiek skutek. próbowałem emacs -nw -f menu-bar-mode, i to wyłącza pasek menu, ale znowu pojawia się na chwilę.

Drew
źródło