Gedit で何気無く Alt+Up を叩いたら行が上下で入れ替わった。
複数行を選択して同様に叩いても動作するようだ。
GtkSourceView 3 Reference Manual: GtkSourceView
GtkSourceView の標準機能だった、GtkTextView ではできません。
本当にウイジェットだけで動作するかチト試してみる。
#!/usr/bin/env python3 from gi.repository import Gtk, GtkSource TEXT = """ TextBlock Press `Alt + Up` Move the Selection Text """ class AltUpTest(Gtk.Window): def __init__(self): Gtk.Window.__init__(self) # Create GtkSourceView view = GtkSource.View() view.set_show_line_numbers(True) # buffer buf = view.get_buffer() buf.set_text(TEXT) # Select it = buf.get_iter_at_offset(13) itend = buf.get_end_iter() buf.select_range(it, itend) # self self.add(view) self.connect("delete-event", Gtk.main_quit) self.set_title("Test") self.show_all() AltUpTest() Gtk.main()
マジだった。
つまり GtkSourceView 採用のアプリなら全部可能だということ。
DnD 編集が標準だったり GTK+ 便利すぎだろ。
Windows 用 Gedit 2.30 でも同様。
ただし Alt+Left/Right での英単語移動は GTK3 からなので使えない。
Gedit を五年以上使い続けているのに今頃気が付いた私って…