ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/command.C
(Generate patch)

Comparing rxvt-unicode/src/command.C (file contents):
Revision 1.236 by root, Thu Jan 5 01:04:10 2006 UTC vs.
Revision 1.237 by root, Fri Jan 6 01:16:58 2006 UTC

967 } 967 }
968#endif 968#endif
969 969
970 if (want_refresh) 970 if (want_refresh)
971 { 971 {
972 if (SHOULD_INVOKE (HOOK_LINE_UPDATE))
973 {
974 int row = -view_start;
975
976 while (row > -nsaved && ROW (row - 1).is_longer ())
977 --row;
978
979 while (row < -view_start + nrow)
980 {
981 int start_row = row;
982 line_t *l;
983
984 do
985 {
986 l = &ROW (row);
987
988 if (!(l->f & LINE_FILTERED))
989 {
990 // line not filtered, mark it as filtered
991 l->f |= LINE_FILTERED;
992 while (l->is_longer ())
993 {
994 l = &ROW (++row);
995 l->f |= LINE_FILTERED;
996 }
997
998 // and filter it
999 HOOK_INVOKE ((this, HOOK_LINE_UPDATE, DT_INT, start_row, DT_END));
1000
1001 break;
1002 }
1003 }
1004 while (l->is_longer ());
1005
1006 row++;
1007 }
1008
1009 }
1010
972 scr_refresh (refresh_type); 1011 scr_refresh (refresh_type);
973 scrollbar_show (1); 1012 scrollbar_show (1);
974#ifdef USE_XIM 1013#ifdef USE_XIM
975 IMSendSpot (); 1014 IMSendSpot ();
976#endif 1015#endif
1702 if (!focus) 1741 if (!focus)
1703 { 1742 {
1704 focus = 1; 1743 focus = 1;
1705 want_refresh = 1; 1744 want_refresh = 1;
1706 1745
1707 PERL_INVOKE ((this, HOOK_FOCUS_OUT, DT_END)); 1746 HOOK_INVOKE ((this, HOOK_FOCUS_OUT, DT_END));
1708 1747
1709#if USE_XIM 1748#if USE_XIM
1710 if (Input_Context != NULL) 1749 if (Input_Context != NULL)
1711 { 1750 {
1712 IMSetStatusPosition (); 1751 IMSetStatusPosition ();
1733 if (focus) 1772 if (focus)
1734 { 1773 {
1735 focus = 0; 1774 focus = 0;
1736 want_refresh = 1; 1775 want_refresh = 1;
1737 1776
1738 PERL_INVOKE ((this, HOOK_FOCUS_OUT, DT_END)); 1777 HOOK_INVOKE ((this, HOOK_FOCUS_OUT, DT_END));
1739 1778
1740#if ENABLE_FRILLS || ISO_14755 1779#if ENABLE_FRILLS || ISO_14755
1741 if (iso14755buf) 1780 if (iso14755buf)
1742 { 1781 {
1743 iso14755buf = 0; 1782 iso14755buf = 0;
1855 else 1894 else
1856 { 1895 {
1857 if (ev.button != MEvent.button) 1896 if (ev.button != MEvent.button)
1858 MEvent.clicks = 0; 1897 MEvent.clicks = 0;
1859 1898
1860 if (!PERL_INVOKE ((this, HOOK_MOUSE_CLICK, DT_XEVENT, &ev, DT_END))) 1899 if (!HOOK_INVOKE ((this, HOOK_MOUSE_CLICK, DT_XEVENT, &ev, DT_END)))
1861 switch (ev.button) 1900 switch (ev.button)
1862 { 1901 {
1863 case Button1: 1902 case Button1:
1864 /* allow meta + click to select rectangular areas */ 1903 /* allow meta + click to select rectangular areas */
1865 /* should be done in screen.C */ 1904 /* should be done in screen.C */
2733 } 2772 }
2734 2773
2735 // scr_add_lines only works for nlines <= nrow - 1. 2774 // scr_add_lines only works for nlines <= nrow - 1.
2736 if (nlines >= nrow - 1) 2775 if (nlines >= nrow - 1)
2737 { 2776 {
2738 if (!PERL_INVOKE ((this, HOOK_ADD_LINES, DT_USTRING_LEN, buf, str - buf, DT_END))) 2777 if (!HOOK_INVOKE ((this, HOOK_ADD_LINES, DT_USTRING_LEN, buf, str - buf, DT_END)))
2739 scr_add_lines (buf, nlines, str - buf); 2778 scr_add_lines (buf, nlines, str - buf);
2740 2779
2741 nlines = 0; 2780 nlines = 0;
2742 str = buf; 2781 str = buf;
2743 eol = str + min (ncol, UBUFSIZ); 2782 eol = str + min (ncol, UBUFSIZ);
2758 2797
2759 seq_begin = cmdbuf_ptr; 2798 seq_begin = cmdbuf_ptr;
2760 ch = next_char (); 2799 ch = next_char ();
2761 } 2800 }
2762 2801
2763 if (!PERL_INVOKE ((this, HOOK_ADD_LINES, DT_USTRING_LEN, buf, str - buf, DT_END))) 2802 if (!HOOK_INVOKE ((this, HOOK_ADD_LINES, DT_USTRING_LEN, buf, str - buf, DT_END)))
2764 scr_add_lines (buf, nlines, str - buf); 2803 scr_add_lines (buf, nlines, str - buf);
2765 2804
2766 /* 2805 /*
2767 * If there have been a lot of new lines, then update the screen 2806 * If there have been a lot of new lines, then update the screen
2768 * What the heck I'll cheat and only refresh less than every page-full. 2807 * What the heck I'll cheat and only refresh less than every page-full.
3975 break; 4014 break;
3976#endif 4015#endif
3977 4016
3978#if ENABLE_PERL 4017#if ENABLE_PERL
3979 case URxvt_perl: 4018 case URxvt_perl:
3980 if (PERL_INVOKE ((this, HOOK_OSC_SEQ, DT_STRING, str, DT_END))) 4019 if (HOOK_INVOKE ((this, HOOK_OSC_SEQ, DT_STRING, str, DT_END)))
3981 ; // no responses yet 4020 ; // no responses yet
3982 break; 4021 break;
3983#endif 4022#endif
3984 } 4023 }
3985} 4024}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines