Gedit で何気無く Alt+Up を叩いたら行が上下で入れ替わった。
複数行を選択して同様に叩いても動作するようだ。
GtkSourceView 3 Reference Manual: GtkSourceView
GtkSourceView の標準機能だった、GtkTextView ではできません。
本当にウイジェットだけで動作するかチト試してみる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #!/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 を五年以上使い続けているのに今頃気が付いた私って…