GTK: установить активное окно - PullRequest
1 голос
/ 22 марта 2011

У меня есть gtk.Window. Как мне установить, чтобы это было активное окно? Я могу позвонить is_active(), чтобы узнать, есть ли оно уже, но я не вижу, где его активировать.

Бонусные баллы: учитывая gtk.Widget, как мне сделать, чтобы это окно было частью активного окна?

Ответы [ 4 ]

9 голосов
/ 22 марта 2011

А, спасибо этой теме , ответ на звонок gtk.Window.present().

1 голос
/ 12 июня 2012

Вот что у меня сработало (спасибо Dan D за указание на wnck)

def activate(window):
    screen = wnck.screen_get_default()
    screen.force_update()
    wnckwin = [win for win in screen.get_windows() if win.get_xid() == window.window.xid][0]
    wnckwin.activate(gtk.gdk.x11_get_server_time(window.window))
1 голос
/ 22 марта 2011

, если W является gtk.Window:

import wnck
wnck.window_get(W.window.xid).activate()
0 голосов
/ 26 марта 2011

Вы также можете использовать gtk.Dialog.run (если это диалог) дополнительно к gtk.Window.present

...