def WinCgetch(self):
kp = -1
while kp==-1:
kp = self.VWscreen.getch()
ScrResized = curses.is_term_resized(self.scrsize[0],self.scrsize[1])
if ScrResized:
try:
y,x = self.VWscreen.getmaxyx()
minY = self.ScreenMinY
minX = self.ScreenMinX
bestY = self.ScreenFullY
bestX = self.ScreenFullX
if (y<minY) | (x<minX): # check resized size
self.VWscreen.clear()
self.VWscreen.refresh()
curses.resizeterm(self.scrsize[0],self.scrsize[1]) # reset to original size
self.VWscreen.clear()
self.VWscreen.refresh()
curses.flash()
self.WinPrintError("Screen size not valid. ")
time.sleep(1)
self.PRG_EXIT_SCR_SIZE = 1
curses.ungetch(27) # push ESC key to main loop: exit from program
else: # set new size
if (y>= bestY) and (x>=bestX):
self.ScreenFullSize = 1
else:
self.ScreenFullSize = 0
self.VWscreen.clear()
curses.resizeterm(y, x)
self.scrsize = []
self.scrsize = (y,x)
self.WinRefreshScr()
except Exception as err:
self.WinPrintError("Error resizing screen... "+str(err)+ " " )
return(kp)
评论列表
文章目录