Я использую curses для печати довольно приятного пользовательского интерфейса консоли, и мне нужно, чтобы это что-то зависело от размера терминала. Для этого я прочитал здесь, что я мог используйте 1_. Итак, я делаю этот код:
def display(self):
size_x,size_y = shutil.get_terminal_size()
print(size_x,size_y)
window_stat = curses.newwin(size_y,size_x//2-5,0,0)
window_alert = curses.newwin(size_y,size_x//2-5,0,size_x//2+5)
window_alert.addstr("\n " + self.alert2string())
window_stat.addstr("\n " + self.stat2string())
window_alert.box()
window_stat.box()
self.stdscr.refresh()
window_stat.refresh()
window_alert.refresh()
Но быстрота в том, что она отлично работает при первом вызове функции, но если я использую мышь, чтобы изменить размер терминала и вызвать функцию, результат shutil.get_terminal_size()
всегда останется прежним. (120 30).
Вы хоть представляете, откуда это могло взяться? (На самом деле я использую Windows, и я бы хотел, чтобы она работала под всеми распространенными ОС)
Всем большое спасибо!