Обнаружить полноэкранный режим в pygtk - PullRequest
2 голосов
/ 28 января 2011

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

1 Ответ

2 голосов
/ 28 января 2011

Вам просто нужно проверить детали события .

  • Чтобы узнать, какое действие пользователя вызывает событие, установите флажок changed_mask.
  • . Чтобы просмотретьновое состояние (независимо от того, что вызывает событие), проверьте new_window_state.

Обычно это переводится в следующий код:

# Did the user actually toggle fullscreen, or was it
# a different window-state event (e.g. maximize)?
if event.changed_mask & gtk.gdk.WINDOW_STATE_FULLSCREEN:
    # What's the new state?
    print bool(event.new_window_state & gtk.gdk.WINDOW_STATE_FULLSCREEN)
...