memo

2010-12-02

vte で画面上のカーソルの位置を取得したい

vte.Terminal.get_cursor_position() は画面上の位置ではなく絶対値(?)で行数を返してくるので、 そのままだと画面上のカーソルの位置にはならない。

色々やってたら vte.Terminal.get_adjustment().value が画面上の一番上の行の絶対値になっているようなのを発見。

ということで、

col, row = terminal.get_cursor_position()
row = row - terminal.get_adjustment().value

みたいな感じにすればよさそう。