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 を五年以上使い続けているのに今頃気が付いた私って…
