Resize de terminal con curses..

Lionel Iturri lionel en lisistemas.com.ar
Mie Mar 12 01:37:57 CET 2008


Buenas, acá tengo una duda y ya agote todos los recursos para ver que 
puede ser. El tema es así, tengo una venta con un recuadro y tiene que 
acomodarse al tamaño de la terminal, no suena a nada complicado, pero 
hace cosas muy raras cuando se achica desaparece el contenido y cuando 
se agranda genera mal el recuadro.
Adjunto fuente y agradezco cualquier ayuda...
Saludos y gracias....

Lionel Iturri

-------------------------------------------------------------------------------

#!/usr/bin/python

import curses
import sys, time, signal

scr = None
win = None

def Render(w):
   w.clear()
   w.box(curses.ACS_VLINE, curses.ACS_HLINE)
   w.addstr(10,10, ' Size: %d, %d   ' % ( w.getmaxyx()))
   w.refresh()

def Resize(sig, frame):
   global scr, win
   while 1:
      try: curses.endwin(); break
      except: time.sleep(1)
   scr.refresh()
   Render(win)

def main():
   global scr, win
   scr = curses.initscr()
   scr.refresh()
   win = curses.newwin(0, 0, 0, 0)
   Render(win)
   scr.refresh()
   signal.signal(signal.SIGWINCH, Resize)

   while True:
      Key=scr.getch()
      if Key == ord('q'):
         sys.exit()



if __name__ == "__main__":
   try:
      main()
   except SystemExit:
      curses.endwin()
   except Exception:
      curses.endwin()
      import traceback
      traceback.print_exc()

_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es