Pro Dateityp-Einstellungen in gedit

Pro Dateityp-Einstellungen in gedit

Ich versuche, gedit für zwei verschiedene Aufgaben zu verwenden: Python-Software entwickeln und Latex-Dokumente schreiben. Beide basieren auf reinen Textdateien, sind aber sehr unterschiedlich: Python-Code muss beispielsweise ausgerichtet sein, damit die Struktur des Codes (Schleifen, Funktionen, ...) erkennbar ist. Daher ist eine Monospace-Schriftart eine gute Sache. Beim Schreiben eines Latex-Dokuments ist mir vor allem Lesbarkeit wichtig. Dies lässt sich am besten mit einer Schriftart erreichen, die beim Drucken verwendet wird und definitiv KEINE Monospace-Schriftart ist.

Gibt es eine Möglichkeit, gedit anzuweisen, Voreinstellungen pro Dateityp zu verwenden? Z. B. Garamond für *.tex und Monospace für *.py? (Dieses Problem ist jedoch nicht auf die Schriftarten beschränkt und auch nicht auf Latex und Python.)

Antwort1

ok, da es nicht möglich zu sein scheint, habe ich ein Proto-Plugin für gedit2 zusammengestellt, das im Moment für mich funktioniert. Ich hoffe immer noch, dass jemand eine bessere Antwort hat ...

~/.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

BEARBEITEN: Update für gedit3: Plugin-Dateien werden eingefügt ~/.local/share/gedit/plugins/und sehen folgendermaßen aus:

mimeprefs.plugin:

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

Antwort2

Soweit ich weiß, lautet die Antwort „nein“... Aber...

Mit dem gconf-Editor können Sie eine Druckschriftart festlegen, unabhängig davon, welche Schriftart derzeit in den Optionen von gedit unter /apps/gedit-2/preferences/print/fonts ausgewählt ist. Möglicherweise gibt es auch eine Option zum Auswählen einer Anzeigeschriftart. Wenn dies der Fall ist, kann ein einfaches Skript dies je nach Dateierweiterung für Sie ändern.

--Bearbeiten--

Der gesuchte Konfigurationsteil befindet sich unter /apps/gedit-2/preferences/editor/font

Erstellen Sie ein kleines Skript, um dies entsprechend der Dateierweiterung zu ändern, und fertig ;)

verwandte Informationen