Changeset 263320f


Ignore:
Timestamp:
Apr 28, 2010, 2:27:58 PM (10 years ago)
Author:
David Benjamin <davidben@mit.edu>
Branches:
master, release-1.7, release-1.8, release-1.9
Children:
f7cf6c2
Parents:
f9f88f3
git-author:
David Benjamin <davidben@mit.edu> (04/28/10 13:21:14)
git-committer:
David Benjamin <davidben@mit.edu> (04/28/10 14:27:58)
Message:
Require resizeterm

This allows us to get rid of the endwin, which causes problems.
Specifically that ncurses will query the size itself on the next
doupdate, causing a potential race. It also results in an annoying
flicker that we see in typwindelta.

If we punt passing arguments to owl_global_resize, I think we can
support resizeterm-less curses with a bit of a dance:

  endwin()
  h,w = query_terminal_size()
  relayout_windows(h, w)
  doupdate()
  if (h,w != query_ncurses_size())
      h,w = query_ncurses_size()
      relayout_windows(h, w)

(This will only flicker given a race.) That said, this is annoying and
we build with our own curses on athena 9. We may as well just assume
it's there.
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • configure.ac

    r07f655b r263320f  
    6464   ])])
    6565
    66 AC_CHECK_FUNCS([use_default_colors resizeterm])
     66AC_CHECK_FUNCS([use_default_colors])
     67AC_CHECK_FUNCS([resizeterm], [], [AC_MSG_ERROR([No resizeterm found])])
    6768AC_CHECK_FUNCS([des_string_to_key DES_string_to_key], [HAVE_DES_STRING_TO_KEY=1])
    6869AC_CHECK_FUNCS([des_ecb_encrypt DES_ecb_encrypt], [HAVE_DES_ECB_ENCRYPT=1])
  • global.c

    rf9f88f3 r263320f  
    493493  g->resizepending = 0;
    494494
    495   if (!isendwin()) {
    496     endwin();
    497   }
    498 
    499495  _owl_global_get_size(&g->lines, &g->cols);
    500496  if (x != 0) {
     
    505501  }
    506502
    507 #ifdef HAVE_RESIZETERM
    508503  resizeterm(g->lines, g->cols);
    509 #endif
    510504
    511505  owl_function_debugmsg("New size is %i lines, %i cols.", g->lines, g->cols);
Note: See TracChangeset for help on using the changeset viewer.