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.268 by root, Tue Jan 17 05:47:42 2006 UTC vs.
Revision 1.271 by root, Wed Jan 18 17:49:46 2006 UTC

1137 1137
1138 memmove (cmdbuf_base, cmdbuf_ptr, n); 1138 memmove (cmdbuf_base, cmdbuf_ptr, n);
1139 cmdbuf_ptr = cmdbuf_base; 1139 cmdbuf_ptr = cmdbuf_base;
1140 cmdbuf_endp = cmdbuf_ptr + n; 1140 cmdbuf_endp = cmdbuf_ptr + n;
1141 1141
1142 ssize_t r = read (pty.pty, cmdbuf_endp, CBUFSIZ - n); 1142 ssize_t r = read (pty->pty, cmdbuf_endp, CBUFSIZ - n);
1143 1143
1144 if (r > 0) 1144 if (r > 0)
1145 { 1145 {
1146 cmdbuf_endp += r; 1146 cmdbuf_endp += r;
1147 return true; 1147 return true;
1501 if (szHint.width != ev.xconfigure.width || szHint.height != ev.xconfigure.height) 1501 if (szHint.width != ev.xconfigure.width || szHint.height != ev.xconfigure.height)
1502 { 1502 {
1503 seen_resize = 1; 1503 seen_resize = 1;
1504 resize_all_windows (ev.xconfigure.width, ev.xconfigure.height, 1); 1504 resize_all_windows (ev.xconfigure.width, ev.xconfigure.height, 1);
1505 } 1505 }
1506
1507 HOOK_INVOKE ((this, HOOK_CONFIGURE_NOTIFY, DT_XEVENT, &ev, DT_END));
1506 1508
1507#ifdef TRANSPARENT /* XXX: maybe not needed - leave in for now */ 1509#ifdef TRANSPARENT /* XXX: maybe not needed - leave in for now */
1508 if (OPTION (Opt_transparent)) 1510 if (OPTION (Opt_transparent))
1509 check_our_parents (); 1511 check_our_parents ();
1510#endif 1512#endif
3764 * XTerm escape sequences: ESC ] Ps;Pt (ST|BEL) 3766 * XTerm escape sequences: ESC ] Ps;Pt (ST|BEL)
3765 */ 3767 */
3766void 3768void
3767rxvt_term::process_xterm_seq (int op, const char *str, char resp) 3769rxvt_term::process_xterm_seq (int op, const char *str, char resp)
3768{ 3770{
3769 int changed = 0;
3770 int color; 3771 int color;
3771 char *buf, *name; 3772 char *buf, *name;
3772 bool query = str[0] == '?' && !str[1]; 3773 bool query = str[0] == '?' && !str[1];
3773 int saveop = op; 3774 int saveop = op;
3774 dDisp; 3775 dDisp;
3890 want_full_refresh = want_refresh = 1; 3891 want_full_refresh = want_refresh = 1;
3891 break; 3892 break;
3892#endif 3893#endif
3893 3894
3894 case Rxvt_Pixmap: 3895 case Rxvt_Pixmap:
3896 {
3895 if (*str != ';') 3897 if (*str != ';')
3896 { 3898 {
3897#if XPM_BACKGROUND 3899#if XPM_BACKGROUND
3898 scale_pixmap (""); /* reset to default scaling */ 3900 scale_pixmap (""); /* reset to default scaling */
3899 set_bgPixmap (str); /* change pixmap */ 3901 set_bgPixmap (str); /* change pixmap */
3900 scr_touch (true); 3902 scr_touch (true);
3901#endif 3903#endif
3902 } 3904 }
3903 3905
3906 int changed = 0;
3907
3904 while ((str = strchr (str, ';')) != NULL) 3908 while ((str = strchr (str, ';')) != NULL)
3905 { 3909 {
3906 str++; 3910 str++;
3907#if XPM_BACKGROUND 3911#if XPM_BACKGROUND
3908 changed += scale_pixmap (str); 3912 changed += scale_pixmap (str);
3909#endif 3913#endif
3910 } 3914 }
3911 3915
3912 if (changed) 3916 if (changed)
3913 { 3917 {
3914#ifdef XPM_BACKGROUND 3918#ifdef XPM_BACKGROUND
3915 resize_pixmap (); 3919 resize_pixmap ();
3916 scr_touch (true); 3920 scr_touch (true);
3917#endif 3921#endif
3918 } 3922 }
3923 }
3919 break; 3924 break;
3920 3925
3921 case Rxvt_restoreFG: 3926 case Rxvt_restoreFG:
3922 set_window_color (Color_fg, str); 3927 set_window_color (Color_fg, str);
3923 break; 3928 break;
3969 if (query) 3974 if (query)
3970 tt_printf ("\33]%d;%-.250s%c", URxvt_locale, OPTION (Opt_insecure) ? locale : "", resp); 3975 tt_printf ("\33]%d;%-.250s%c", URxvt_locale, OPTION (Opt_insecure) ? locale : "", resp);
3971 else 3976 else
3972 { 3977 {
3973 set_locale (str); 3978 set_locale (str);
3974 pty.set_utf8_mode (enc_utf8); 3979 pty->set_utf8_mode (enc_utf8);
3975 init_xlocale (); 3980 init_xlocale ();
3976 } 3981 }
3977 break; 3982 break;
3978 3983
3979 case URxvt_view_up: 3984 case URxvt_view_up:
4411rxvt_term::tt_write (const char *data, unsigned int len) 4416rxvt_term::tt_write (const char *data, unsigned int len)
4412{ 4417{
4413 if (HOOK_INVOKE ((this, HOOK_TT_WRITE, DT_STR_LEN, data, len, DT_END))) 4418 if (HOOK_INVOKE ((this, HOOK_TT_WRITE, DT_STR_LEN, data, len, DT_END)))
4414 return; 4419 return;
4415 4420
4416 if (pty.pty < 0) 4421 if (pty->pty < 0)
4417 return; 4422 return;
4418 4423
4419 if (v_buflen == 0) 4424 if (v_buflen == 0)
4420 { 4425 {
4421 ssize_t written = write (pty.pty, data, min (len, MAX_PTY_WRITE)); 4426 ssize_t written = write (pty->pty, data, min (len, MAX_PTY_WRITE));
4422 4427
4423 if ((unsigned int)written == len) 4428 if ((unsigned int)written == len)
4424 return; 4429 return;
4425 4430
4426 data += written; 4431 data += written;
4435 pty_ev.set (EVENT_READ | EVENT_WRITE); 4440 pty_ev.set (EVENT_READ | EVENT_WRITE);
4436} 4441}
4437 4442
4438void rxvt_term::pty_write () 4443void rxvt_term::pty_write ()
4439{ 4444{
4440 int written = write (pty.pty, v_buffer, min (v_buflen, MAX_PTY_WRITE)); 4445 int written = write (pty->pty, v_buffer, min (v_buflen, MAX_PTY_WRITE));
4441 4446
4442 if (written > 0) 4447 if (written > 0)
4443 { 4448 {
4444 v_buflen -= written; 4449 v_buflen -= written;
4445 4450

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines