On Sun, Nov 19, 2006, Osamu Aoki wrote:
> under GTK_IM_MODULE=xim, [EMAIL PROTECTED], above program works fine just
> like any other aplications while gedit still freezes.
Please try disabling all Gedit plugins, does it help?
Could you please try the attached python script which uses a
GtkSourceView widget instead of a GtkTextView one.
--
Loïc Minier <[EMAIL PROTECTED]>
10 SIN
20 GO TO ROBOT HELL -- Temple of Robotology
#!/usr/bin/python
import sys, os, gnomevfs
import pygtk
pygtk.require("2.0")
import gtk
import gtksourceview
def load_file(buffer, uri):
buffer.begin_not_undoable_action()
# TODO: use g_io_channel when pygtk supports it
try:
txt = open(uri.path).read()
except:
return False
buffer.set_text(txt)
buffer.set_data('filename', uri.path)
buffer.end_not_undoable_action()
buffer.set_modified(False)
buffer.place_cursor(buffer.get_start_iter())
return True
def open_file(buffer, filename):
# get the new language for the file mimetype
manager = buffer.get_data('languages-manager')
if os.path.isabs(filename):
path = filename
else:
path = os.path.abspath(filename)
uri = gnomevfs.URI(path)
mime_type = gnomevfs.get_mime_type(path) # needs ASCII filename, not URI
if mime_type:
language = manager.get_language_from_mime_type(mime_type)
if language:
buffer.set_highlight(True)
buffer.set_language(language)
else:
print 'No language found for mime type "%s"' % mime_type
buffer.set_highlight(False)
else:
print 'Couldn\'t get mime type for file "%s"' % filename
buffer.set_highlight(False)
#remove_all_markers(buffer)
load_file(buffer, uri) # TODO: check return
return True
lm = gtksourceview.SourceLanguagesManager()
buffer = gtksourceview.SourceBuffer()
buffer.set_data('languages-manager', lm)
open_file(buffer, sys.argv[0])
view = gtksourceview.SourceView(buffer)
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.add(view)
window.resize(400, 600)
window.show_all()
gtk.main()