При игре с sdl2 через pysdl2 я заметил этот странный побочный эффект, когда после запуска сценария sdl несвязанные окна, которые обычно становятся прозрачными при перемещении, теперь остаются непрозрачными.
Я бы не стал возражать, если бы не ноющее чувство
что это говорит о том, что я делаю что-то в корне неправильно.
Кто-нибудь может просветить меня о том, что, черт возьми, здесь происходит?
Вот мой сценарий:
import sdl2
import sdl2.ext as se
import time
def main():
k = 2
event_buffer = (k * sdl2.SDL_Event)()
se.init()
window = se.Window("what the ?", size=(400, 300))
window.show()
while True:
window.refresh()
time.sleep(0.01)
sdl2.SDL_PumpEvents()
sdl2.SDL_PeepEvents(event_buffer, k, sdl2.SDL_GETEVENT,
sdl2.SDL_FIRSTEVENT, sdl2.SDL_LASTEVENT)
for event in event_buffer:
if not event.type:
continue
elif event.type == sdl2.SDL_QUIT:
se.quit()
break
else:
pass
event.type = 0
else:
continue
break
if __name__ == '__main__':
main()
А вот захват экрана до и после:
Окно «Системные настройки» моего рабочего стола KDE 5.45.0
без запущенного сценария sdl , в котором отображаются соответствующие настройки рабочего стола Effects>Translucency
. Обратите внимание, как окно полупрозрачно, потому что я перетаскиваю его во время съемки.
* * 1030
То же самое, но с запущенным скриптом sdl . Обратите внимание на то, как окно, несмотря на мои энергично перетаскивание он остается упорно непрозрачным.