Changeset 9e0bc3b


Ignore:
Timestamp:
May 3, 2010, 8:00:11 PM (10 years ago)
Author:
Nelson Elhage <nelhage@mit.edu>
Branches:
release-1.6
Children:
1af0a72
Parents:
b125668
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.

Conflicts:

	global.c

[nelhage@mit.edu: Backport to 1.6]
Signed-off-by: Nelson Elhage <nelhage@mit.edu>
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • configure.ac

    rcef53f9 r9e0bc3b  
    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

    r7285db4 r9e0bc3b  
    474474  g->resizepending = 0;
    475475
    476   if (!isendwin()) {
    477     endwin();
    478   }
    479 
    480476  /* get the new size */
    481477  ioctl(STDIN_FILENO, TIOCGWINSZ, &size);
     
    500496  }
    501497
    502 #ifdef HAVE_RESIZETERM
    503498  resizeterm(size.ws_row, size.ws_col);
    504 #endif
    505499
    506500  /* re-initialize the windows */
Note: See TracChangeset for help on using the changeset viewer.