Changes in / [3fa0181:4fd211f]


Ignore:
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • fmtext.c

    r7b4f3be r4479497  
    184184}
    185185
     186static void _owl_fmtext_update_colorpair(short fg, short bg, short *pair)
     187{
     188  if (owl_global_get_hascolors(&g)) {
     189    *pair = owl_fmtext_get_colorpair(fg, bg);
     190  }
     191}
     192
    186193static void _owl_fmtext_wcolor_set(WINDOW *w, short pair)
    187194{
    188   if (has_colors()) {
     195  if (owl_global_get_hascolors(&g)) {
    189196      wcolor_set(w,pair,NULL);
    190197      wbkgdset(w, COLOR_PAIR(pair));
     
    214221  bg = default_bgcolor;
    215222  _owl_fmtext_wattrset(w, attr);
    216   pair = owl_fmtext_get_colorpair(fg, bg);
     223  _owl_fmtext_update_colorpair(fg, bg, &pair);
    217224  _owl_fmtext_wcolor_set(w, pair);
    218225
     
    263270      if (bg == OWL_COLOR_DEFAULT) bg = default_bgcolor;
    264271      _owl_fmtext_wattrset(w, attr);
    265       pair = owl_fmtext_get_colorpair(fg, bg);
     272      _owl_fmtext_update_colorpair(fg, bg, &pair);
    266273      _owl_fmtext_wcolor_set(w, pair);
    267274
     
    655662           continue */
    656663      } else if (!strcasecmp(buff, "@color")
     664                 && owl_global_get_hascolors(&g)
    657665                 && owl_global_is_colorztext(&g)) {
    658666        g_free(buff);
     
    812820    }
    813821  }
    814   if (has_colors()) {
     822  if (owl_global_get_hascolors(&g)) {
    815823    for(i = 0; i < 8; i++) {
    816824      short fg, bg;
     
    827835  owl_colorpair_mgr *cpmgr;
    828836  short pair;
    829 
    830   if (!has_colors())
    831     return 0;
    832837
    833838  /* Sanity (Bounds) Check */
     
    847852  if (!(pair != -1 && pair < cpmgr->next)) {
    848853    /* If we didn't find a pair, search for a free one to assign. */
    849     pair = (cpmgr->next < owl_util_get_colorpairs()) ? cpmgr->next : -1;
     854    pair = (cpmgr->next < COLOR_PAIRS) ? cpmgr->next : -1;
    850855    if (pair != -1) {
    851856      /* We found a free pair, initialize it. */
  • functions.c

    r7b4f3be r4fd211f  
    18171817          owl_global_get_cols(&g));
    18181818
    1819   if (has_colors()) {
     1819  if (owl_global_get_hascolors(&g)) {
    18201820    owl_fmtext_append_normal(&fm, "Color: Yes\n");
    1821     owl_fmtext_appendf_normal(&fm, "Number of color pairs: %i\n", owl_util_get_colorpairs());
     1821    owl_fmtext_appendf_normal(&fm, "Number of color pairs: %i\n", owl_global_get_colorpairs(&g));
    18221822    owl_fmtext_appendf_normal(&fm, "Can change colors: %s\n", can_change_color() ? "yes" : "no");
    18231823  } else {
     
    22262226    f = fl->data;
    22272227    owl_fmtext_append_normal(&fm, "   ");
    2228     owl_fmtext_append_normal_color(&fm, owl_filter_get_name(f),
    2229                                    owl_filter_get_fgcolor(f),
    2230                                    owl_filter_get_bgcolor(f));
     2228    if (owl_global_get_hascolors(&g)) {
     2229      owl_fmtext_append_normal_color(&fm, owl_filter_get_name(f), owl_filter_get_fgcolor(f), owl_filter_get_bgcolor(f));
     2230    } else {
     2231      owl_fmtext_append_normal(&fm, owl_filter_get_name(f));
     2232    }
    22312233    owl_fmtext_append_normal(&fm, "\n");
    22322234  }
  • global.c

    r7b4f3be r47e0a6a  
    5151  g->direction=OWL_DIRECTION_DOWNWARDS;
    5252  g->zaway=0;
     53  if (has_colors()) {
     54    g->hascolors=1;
     55  }
     56  g->colorpairs=COLOR_PAIRS;
    5357  owl_fmtext_init_colorpair_mgr(&(g->cpmgr));
    5458  g->debug=OWL_DEBUG;
     
    570574owl_view *owl_global_get_current_view(owl_global *g) {
    571575  return(&(g->current_view));
     576}
     577
     578/* has colors */
     579
     580int owl_global_get_hascolors(const owl_global *g) {
     581  if (g->hascolors) return(1);
     582  return(0);
     583}
     584
     585/* color pairs */
     586
     587int owl_global_get_colorpairs(const owl_global *g) {
     588  return(g->colorpairs);
    572589}
    573590
  • owl.c

    r9efa5bd ra2a8833  
    444444  /* update the terminal if we need to */
    445445  owl_window_redraw_scheduled();
    446   /* On colorpair shortage, reset and redraw /everything/. NOTE: if we
    447    * still overflow, this be useless work. With 8-colors, we get 64
    448    * pairs. With 256-colors, we get 32768 pairs with ext-colors
    449    * support and 256 otherwise. */
     446  /* On colorpair shortage, reset and redraw /everything/. NOTE: if
     447   * the current screen uses too many colorpairs, this draws
     448   * everything twice. But this is unlikely; COLOR_PAIRS is 64 with
     449   * 8+1 colors, and 256^2 with 256+1 colors. (+1 for default.) */
    450450  cpmgr = owl_global_get_colorpair_mgr(&g);
    451451  if (cpmgr->overflow) {
    452     owl_function_debugmsg("colorpairs: used all %d pairs; reset pairs and redraw.",
    453                           owl_util_get_colorpairs());
     452    owl_function_debugmsg("colorpairs: color shortage; reset pairs and redraw. COLOR_PAIRS = %d", COLOR_PAIRS);
    454453    owl_fmtext_reset_colorpairs(cpmgr);
    455454    owl_function_full_redisplay();
  • owl.h

    r7b4f3be r283ff1e  
    610610  char *startupargs;
    611611  int nextmsgid;
     612  int hascolors;
     613  int colorpairs;
    612614  owl_colorpair_mgr cpmgr;
    613615  pid_t newmsgproc_pid;
  • util.c

    r9efa5bd re56303f  
    715715}
    716716
    717 int owl_util_get_colorpairs(void) {
    718 #ifndef NCURSES_EXT_COLORS
    719   /* Without ext-color support (an ABI change), ncurses only supports 256
    720    * different color pairs. However, it gives us a larger number even if your
    721    * ncurses is compiled without ext-color. */
    722   return MIN(COLOR_PAIRS, 256);
    723 #else
    724   return COLOR_PAIRS;
    725 #endif
    726 }
    727 
    728717gulong owl_dirty_window_on_signal(owl_window *w, gpointer sender, const gchar *detailed_signal)
    729718{
Note: See TracChangeset for help on using the changeset viewer.