Estou tentando usar o gedit para duas tarefas diferentes: desenvolver software Python e escrever documentos Latex. Ambos são baseados em arquivos de texto puro, mas são muito diferentes: por exemplo, o código Python precisa estar alinhado para poder ver a estrutura do código (loops, funções, ...). Portanto, uma fonte Monospace é uma coisa boa. Para escrever um documento Latex, preciso principalmente de legibilidade. Isso é melhor conseguido com uma fonte usada na impressão e NÃO uma fonte monoespaçada.
Existe uma maneira de dizer ao gedit para usar preferências por tipo de arquivo? Por exemplo, Garamond para *.tex e Monospace para *.py? (Mas esse problema não se limita às fontes, e também não ao Latex e Python).
Responder1
ok, como parece não ser possível, montei um proto-plugin para o gedit2 que funciona para mim no momento. Ainda espero que alguém tenha uma resposta melhor ...
~/.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
EDITAR: atualização para gedit3:
os arquivos do plugin entram ~/.local/share/gedit/plugins/
e ficam assim:
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')
Responder2
Pelo que eu sei a resposta é "não"... Mas...
O gconf-editor permite que você defina uma fonte de impressão, não importa qual fonte esteja atualmente selecionada nas opções do gedit em /apps/gedit-2/preferences/print/fonts, talvez haja uma opção para selecionar a fonte de exibição também. Se isso for verdade, um script simples pode mudar isso para você, dependendo da extensão do arquivo.
--Editar--
A parte de configuração que você está procurando está em /apps/gedit-2/preferences/editor/font
Faça um pequeno script para alterar isso de acordo com a extensão dos arquivos e pronto;)