Нахождение размера рабочей области (размер экрана меньше панель задач) использующий GTK

Нашел причину. Поток создания сущности не использует startActivityForResult, но фрагменты данных передаются между действиями. И я запустил этот поток в начальном действии, используя флаги Intent.FLAG_ACTIVITY_CLEAR_TOP или Intent.FLAG_ACTIVITY_NO_HISTORY. Когда я удалил эту строку в начальном потоке, она начала работать как задумано.

5
задан Sebastian Rittau 2 February 2009 в 16:57
поделиться

1 ответ

Вы полностью во власти своего менеджера окон для этого, и ключевой вопрос здесь:

без того, чтобы быть максимизируемым

Таким образом, нас оставляют со многими взломами, потому что в основном максимизация и изменение размеров являются двумя отдельными вещами, чтобы Вы смогли помнить, где это было, когда это не максимизируется.

Таким образом, прежде чем я показываю Вам этот отвратительный взлом, я убеждаю Вас рассмотреть использование надлежащей максимизации и просто доволен ею.

Таким образом, здесь идет:

import gtk

# Even I am ashamed by this
# Set up a one-time signal handler to detect size changes
def _on_size_req(win, req):
    x, y, w, h = win.get_allocation()
    print x, y, w, h   # just to prove to you its working
    win.disconnect(win.connection_id)
    win.unmaximize()
    win.window.move_resize(x, y, w, h)

# Create the window, connect the signal, then maximise it
w = gtk.Window()
w.show_all()
w.connection_id = w.connect('size-request', _on_size_req)
# Maximizing will fire the signal handler just once,
# unmaximize, and then resize to the previously set size for maximization.
w.maximize()

# run this monstrosity
gtk.main()
9
ответ дан 13 December 2019 в 22:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: