Настройки типа файла в gedit

Настройки типа файла в gedit

Я пытаюсь использовать gedit для двух разных задач: разработка программного обеспечения Python и написание документов Latex. Оба основаны на чистых текстовых файлах, но они очень разные: например, код Python нужно выровнять, чтобы можно было увидеть структуру кода (циклы, функции, ...). Поэтому шрифт Monospace — это хорошо. Для написания документа Latex мне в основном нужна читабельность. Этого лучше всего добиться с помощью шрифта, который используется в печати и определенно НЕ моноширинного шрифта.

Есть ли способ указать gedit использовать настройки для каждого типа файла? Например, Garamond для *.tex и Monospace для *.py? (Но эта проблема не ограничивается шрифтами, а также Latex и Python).

решение1

ok, поскольку это кажется невозможным, я собрал proto-plugin для 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]
Loader=python
Module=mimeprefs
IAge=3
Name=Mime-Prefs
Description=A plugin to set font preferences based on the mimetype of the document
Authors=Stefan Schwarzburg
Copyright=Public Domain
Website=None
Version=1.0.0

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')

решение2

Насколько я знаю, ответ «нет»... Но...

gconf-editor позволяет вам установить шрифт печати, независимо от того, какой шрифт в данный момент выбран в опциях gedit в /apps/gedit-2/preferences/print/fonts, возможно, есть также опция выбора шрифта отображения. Если это так, то простой скрипт может изменить это для вас в зависимости от расширения файла.

--Редактировать--

Часть конфигурации, которую вы ищете, находится по адресу /apps/gedit-2/preferences/editor/font.

Создайте небольшой скрипт, чтобы изменить это в соответствии с расширением файлов, и все готово ;)

Связанный контент