как управлять фреймами Mac emacs в виде вкладок

#macos #emacs

#macos #emacs

Вопрос:

Вот так: введите описание изображения здесь

Как я могу это получить?

  1. откройте emacs и toggle-frame-fullscreen
  2. нажмите C-x 5 2 создать новый фрейм
  3. затем toggle-frame-fullscreen снова

Известные проблемы и решения:

  1. Похоже на ошибку, с графическим интерфейсом frame as tab рендеринг текста в буфере может быть отстойным…
  2. Я не устанавливал tabbar пакет.
  3. Для этого может подойтиHammerspoon.

Комментарии:

1. Проблема недостаточно хорошо описана (на английском языке), чтобы ответить на вопрос. Пожалуйста, потратьте некоторое время на редактирование вопроса, чтобы было более ясно, в чем проблема и что вы пытаетесь сделать. Функция toggle-frame-maximized увеличит размер фрейма в OSX — вы даже можете поместить это в файл .emacs или init.el , если хотите — т.Е. (toggle-frame-maximized) . Вкладки, которые используют некоторые приложения OSX, не встроены в Emacs для OSX — вместо этого мы используем библиотеку под названием tabbar : emacs.stackexchange.com/questions/10081 /…

2. Если случайно проблема с вопросом связана с путаницей в отношении того, что такое tab , пожалуйста, ознакомьтесь со следующей веткой, в которой описываются различные компоненты фрейма Emacs: emacs.stackexchange.com/questions/13583/… И вот пример того, как создать макет с 3 окнами: emacs.stackexchange.com/questions/26967 /…

3. @lawlist используйте toggle-frame-fullsceen команду для полноэкранного режима, а затем создайте новый фрейм, затем toggle-frame-fullsceen еще раз, после этого два фрейма появятся в одном графическом интерфейсе без установки tabbar пакета. Итак, есть ли способ управлять фреймами как встроенными вкладками? И спасибо за вашу помощь!

4. Невозможно управлять фреймами в виде вкладок в версии Emacs с графическим интерфейсом в OSX — извините. То, что вы ищете, недоступно. Возможной альтернативой может быть использование только одного (1) фрейма и настройка вкладок (внутри этого фрейма) с различными макетами окон — например, с помощью elscreen пакета. В Emacs 25 исправлены основные ошибки в определении размера и размещения фреймов в OSX, поэтому, если вы еще не обновились, вам следует подумать об этом. Другой альтернативой является размещение фреймов, точно выстроенных друг над другом, что может быть выполнено программно с точной спецификацией пикселей с использованием Emacs 25.

5. Я уже использую Emacs 25.1.1, я взгляну на elscreen . В любом случае, спасибо за вашу помощь!

Ответ №1:

Столкнулся с противоположной проблемой. Как это происходит, Emacs на моем ноутбуке создаст собственную вкладку macOS везде, где вызывается make-frame-command ( C-x 5 2 ). Как ни странно, на моем рабочем столе этого не происходило.

Оказывается, виновником являются системные настройки-> Общие -> Предпочитаемые настройки вкладок.

Системные настройки -> Общие

При установке значения по умолчанию «в полноэкранном режиме», make-frame вкладки будут создаваться только в полноэкранном режиме. Другие варианты — «всегда» и «никогда». Оказывается, мой ноутбук был настроен на always.

Поскольку не всегда имеет смысл, чтобы поведение Preview и Emacs по умолчанию совпадало, следующие строки в ~/.emacs.d/init.el предотвратят создание вкладок.

   (setq mac-frame-tabbing nil)
  

Также существуют mac-move-tab-to-new-frame и другие mac-... команды для работы с собственными вкладками.