Окна и минибуфер, плавающие над рамой - PullRequest
0 голосов
/ 06 декабря 2009

Когда я запускаю Emacs, его окна и минибуфер начинают плавать на главном фрейме, оставляя много пустого пространства (см .: здесь и здесь ). Есть идеи, что происходит и как это исправить?

Я использую emacs версии 23.1.1 на Xmonad

Спасибо!

Ответы [ 5 ]

1 голос
/ 15 декабря 2009

Это выглядит как странное взаимодействие между Emacs и вашим оконным менеджером. Как будто Emacs конфигурирует себя так, чтобы в своем активном окне было определенное количество строк и столбцов, но фрейм, выделенный оконным менеджером, больше.

Можете ли вы попробовать запустить X без Xmonad (т.е. просто запустить startX), а затем запустить Emacs? Вы не получите рамочные декорации, но вы все равно можете использовать xterm, чтобы запустить его и посмотреть, какой «естественный» размер он выделяет. С той же конфигурацией Emacs это сузило бы ее до некоторой проблемы с Xmonad.

Это не очевидно из скриншотов, так как один определенно находится в режиме графического интерфейса, но другой (зеленый на черном) выглядит так же, как в текстовом режиме. Если вы заставляете его работать в текстовом режиме (emacs -nw), он занимает тот же размер? Внутри оболочки обычные команды занимают весь размер выделенного окна?

Правильно ли установлены переменные оболочки COLUMNS или LINES? Они соответствуют размерам окна? Если вы используете bash, включен ли shopt checkwinsize? Есть ли обычные команды, такие как ls, для переноса на ожидаемые поля и прокрутки для использования всего окна?

Стоит убедиться, что текстовый режим настроен правильно, прежде чем заставить работать графический интерфейс. У меня есть предчувствие, что Xmonad управляет размером окна может быть виновником, если он «заставляет» окна мозаичным способом при определенных условиях, и правильные подсказки X не отправляются. Но пока это только предположение ...

1 голос
/ 08 декабря 2009

Возможно, вы попробуете C-l (наверху внизу). Я использовал это на протяжении многих лет как довольно надежную операцию «перекраски», которая будет очищать различный детрит, который происходит на кадре. Это еще более полезно, когда у вас нет оконной системы.

1 голос
/ 06 декабря 2009

Иногда я получаю одно и то же, когда выполняю расширение TAB в режиме оболочки. Я не получаю пустой мини-буф, обычно в нем раскрывается все содержимое оболочки. Единственное решение, которое я нашел до сих пор, - убить текущий shell buffer

0 голосов
/ 20 декабря 2011

Для меня это звучит как ошибка. Подумайте об этом: M-x report-emacs-bug. Попробуйте предоставить рецепт, начиная с emacs -Q.

0 голосов
/ 10 декабря 2009

Это частично работает (взято из здесь ):

 (defun fullscreen ()
    (interactive)
    (set-frame-parameter nil 'fullscreen
                         (if (frame-parameter nil 'fullscreen) nil 'fullboth)))

(add-hook 'emacs-startup-hook 'fullscreen)

Окна исправляются , хотя мини-буфер все еще больше , чем обычный .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...