Я пытаюсь использовать gedit для двух разных задач: разработки программного обеспечения Python и написания латексных документов. Оба основаны на чистых текстовых файлах, но они очень разные: например, Код Python должен быть выровнен, чтобы можно было увидеть структуру кода (циклы, функции, ...). Поэтому шрифт Monospace - хорошая вещь. Для написания латексного документа мне в основном нужна читабельность. Это лучше всего достигается с помощью шрифта, который используется при печати, и определенно НЕ моноширинный шрифт.
Есть ли способ указать gedit использовать настройки для каждого типа файла? Например. Garamond для * .tex и Monospace для * .py? (Но эта проблема не ограничивается шрифтами, а также не латексом и Python).
Хорошо, так как это кажется невозможным, я собрал прото-плагин для gedit2, который работает для меня на данный момент. Я все еще надеюсь, что у кого-то есть лучший ответ ...
~ / .gnome2 / gedit / plugins / mimeprefs.py
import gedit
class MimePrefsPlugin(gedit.Plugin):
def __init__(self):
gedit.Plugin.__init__(self)
def activate(self, window):
pass
def deactivate(self, window):
pass
def update_ui(self, window):
doc = window.get_active_document()
try:
mt = doc.get_mime_type()
except AttributeError:
return
view = window.get_active_view()
if 'x-tex' in mt:
view.set_font(False, 'Garamond 14')
elif 'x-python' in mt:
view.set_font(False, 'Monospace 12')
else:
view.set_font(True, 'Monospace 10')
~ / .gnome2 / gedit / plugins / mimeprefs. gedit-plugin
[Gedit Plugin]
Loader=python
Module=mimeprefs
IAge=2
Name=Mime-Prefs v1
Description=A plugin to set font preferences based on the mimetype of the document
Authors=-
Copyright=Public Domain
Website=None
EDIT: обновление для файлов плагинов gedit3: находится в ~/.local/share/gedit/plugins/
и выглядит следующим образом:
mimeprefs.plugin:
[ 112]mimeprefs.py:
from gi.repository import GObject, Gedit
class MimePrefsPlugin(GObject.Object, Gedit.WindowActivatable):
__gtype_name__ = "MimePrefsPlugin"
window = GObject.property(type=Gedit.Window)
def __init__(self):
GObject.Object.__init__(self)
def do_activate(self):
pass
def do_deactivate(self):
pass
def do_update_state(self):
doc = self.window.get_active_document()
try:
mt = doc.get_mime_type()
except AttributeError:
return
view = self.window.get_active_view()
if 'x-tex' in mt:
view.set_font(False, 'Garamond 14')
elif 'x-python' in mt:
view.set_font(False, 'Monospace 12')
else:
view.set_font(True, 'Monospace 10')
Насколько я знаю, ответ «нет» ... Но ...
gconf-editor позволяет вам установить шрифт печати, независимо от того, какой шрифт в данный момент выбран в опциях из gedit в / apps / gedit-2 / предпочтения / печати / шрифтах, возможно, есть опция для выбора шрифта дисплея , Если это так, простой скрипт может изменить это для вас в зависимости от расширения файла.
- Правка -
Конфигурационная часть, которую вы ищете, находится в / apps / gedit-2 / Предпочтения / Editor / font
. небольшой скрипт, чтобы изменить его в соответствии с расширением файлов, и все готово;)