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.425 by root, Wed Nov 5 12:28:15 2008 UTC vs.
Revision 1.438 by root, Thu Feb 4 21:55:12 2010 UTC

505#ifdef PAGING_CONTEXT_LINES 505#ifdef PAGING_CONTEXT_LINES
506 lnsppg = nrow - PAGING_CONTEXT_LINES; 506 lnsppg = nrow - PAGING_CONTEXT_LINES;
507#else 507#else
508 lnsppg = nrow * 4 / 5; 508 lnsppg = nrow * 4 / 5;
509#endif 509#endif
510 max_it (lnsppg, 1);
511
510 if (keysym == XK_Prior) 512 if (keysym == XK_Prior)
511 { 513 {
512 scr_page (UP, lnsppg); 514 scr_page (UP, lnsppg);
513 return; 515 return;
514 } 516 }
579 } 581 }
580 } 582 }
581 583
582#if ENABLE_FRILLS || ISO_14755 584#if ENABLE_FRILLS || ISO_14755
583 // ISO 14755 support 585 // ISO 14755 support
584 if (shft && ctrl) 586 if (iso14755buf & (ISO_14755_STARTED | ISO_14755_51))
585 { 587 {
586 int hv; 588 int hv;
587 589
588 if (iso14755buf & ISO_14755_51 590 if (iso14755buf & ISO_14755_51
589 && (keysym == XK_space || keysym == XK_KP_Space 591 && (keysym == XK_space || keysym == XK_KP_Space
619 scr_overlay_off (); 621 scr_overlay_off ();
620# endif 622# endif
621 iso14755buf = 0; 623 iso14755buf = 0;
622 } 624 }
623 } 625 }
626 else if (option (Opt_iso14755) &&
624 else if ((ctrl && (keysym == XK_Shift_L || keysym == XK_Shift_R)) 627 ((ctrl && (keysym == XK_Shift_L || keysym == XK_Shift_R))
625 || (shft && (keysym == XK_Control_L || keysym == XK_Control_R))) 628 || (shft && (keysym == XK_Control_L || keysym == XK_Control_R))))
626 if (!(iso14755buf & ISO_14755_STARTED)) 629 if (!(iso14755buf & ISO_14755_STARTED))
627 { 630 {
628 iso14755buf |= ISO_14755_STARTED; 631 iso14755buf |= ISO_14755_STARTED;
629# if ISO_14755 632# if ISO_14755
630 scr_overlay_new (0, -1, sizeof ("ISO 14755 mode") - 1, 1); 633 scr_overlay_new (0, -1, sizeof ("ISO 14755 mode") - 1, 1);
1461 selection_property (ev.xproperty.window, ev.xproperty.atom); 1464 selection_property (ev.xproperty.window, ev.xproperty.atom);
1462 1465
1463 break; 1466 break;
1464 1467
1465 case SelectionClear: 1468 case SelectionClear:
1466 selection_clear (); 1469 selection_clear (ev.xselectionclear.selection == xa[XA_CLIPBOARD]);
1467 break; 1470 break;
1468 1471
1469 case SelectionNotify: 1472 case SelectionNotify:
1470 if (selection_wait == Sel_normal) 1473 if (selection_wait == Sel_normal)
1471 selection_paste (ev.xselection.requestor, ev.xselection.property, true); 1474 selection_paste (ev.xselection.requestor, ev.xselection.property, true);
1684#endif 1687#endif
1685 1688
1686 refresh_check (); 1689 refresh_check ();
1687} 1690}
1688 1691
1692#if ENABLE_FRILLS
1689void 1693void
1690rxvt_term::set_urgency (bool enable) 1694rxvt_term::set_urgency (bool enable)
1691{ 1695{
1692 if (enable == urgency_hint) 1696 if (enable == urgency_hint)
1693 return; 1697 return;
1697 h->flags = h->flags & ~XUrgencyHint | (enable ? XUrgencyHint : 0); 1701 h->flags = h->flags & ~XUrgencyHint | (enable ? XUrgencyHint : 0);
1698 XSetWMHints (dpy, parent[0], h); 1702 XSetWMHints (dpy, parent[0], h);
1699 urgency_hint = enable; 1703 urgency_hint = enable;
1700 } 1704 }
1701} 1705}
1706#endif
1702 1707
1703void 1708void
1704rxvt_term::focus_in () 1709rxvt_term::focus_in ()
1705{ 1710{
1706 if (!focus) 1711 if (!focus)
2334 break; 2339 break;
2335 } 2340 }
2336 2341
2337 if (len == (size_t)-1) 2342 if (len == (size_t)-1)
2338 { 2343 {
2339 mbrtowc (0, 0, 0, mbstate); // reset now undefined conversion state 2344 mbstate.reset (); // reset now undefined conversion state
2340 return (unsigned char)*cmdbuf_ptr++; // the _occasional_ latin1 character is allowed to slip through 2345 return (unsigned char)*cmdbuf_ptr++; // the _occasional_ latin1 character is allowed to slip through
2341 } 2346 }
2342 2347
2343 // assume wchar == unicode 2348 // assume wchar == unicode
2344 cmdbuf_ptr += len; 2349 cmdbuf_ptr += len;
3283 3288
3284/* 3289/*
3285 * XTerm escape sequences: ESC ] Ps;Pt (ST|BEL) 3290 * XTerm escape sequences: ESC ] Ps;Pt (ST|BEL)
3286 */ 3291 */
3287void 3292void
3288rxvt_term::process_xterm_seq (int op, const char *str, char resp) 3293rxvt_term::process_xterm_seq (int op, char *str, char resp)
3289{ 3294{
3290 int color; 3295 int color;
3291 char *buf, *name; 3296 char *buf, *name;
3292 bool query = str[0] == '?' && !str[1]; 3297 bool query = str[0] == '?' && !str[1];
3293 int saveop = op; 3298 int saveop = op;
3334 3339
3335 XFree (value); 3340 XFree (value);
3336 } 3341 }
3337 else 3342 else
3338 { 3343 {
3339 char *eq = strchr (str, '='); // constness lost, but verified to be ok 3344 char *eq = strchr (str, '=');
3340 3345
3341 if (eq) 3346 if (eq)
3342 { 3347 {
3343 *eq = 0; 3348 *eq = 0;
3344 set_utf8_property (display->atom (str), eq + 1); 3349 set_utf8_property (display->atom (str), eq + 1);
3400 break; 3405 break;
3401 case URxvt_Color_IT: 3406 case URxvt_Color_IT:
3402 process_color_seq (op, Color_IT, str, resp); 3407 process_color_seq (op, Color_IT, str, resp);
3403 break; 3408 break;
3404#endif 3409#endif
3410 case URxvt_Color_border:
3411 process_color_seq (op, Color_border, str, resp);
3412 break;
3405#if ENABLE_TRANSPARENCY 3413#if ENABLE_TRANSPARENCY
3406 case URxvt_Color_tint: 3414 case URxvt_Color_tint:
3407 process_color_seq (op, Color_tint, str, resp); 3415 process_color_seq (op, Color_tint, str, resp);
3408 { 3416 {
3409 bool changed = false; 3417 bool changed = false;
3424 case Rxvt_Pixmap: 3432 case Rxvt_Pixmap:
3425 if (!strcmp (str, "?")) 3433 if (!strcmp (str, "?"))
3426 { 3434 {
3427 char str[256]; 3435 char str[256];
3428 3436
3429 sprintf (str, "[%dx%d+%d+%d]", /* can't presume snprintf () ! */ 3437 sprintf (str, "[%dx%d+%d+%d]",
3430 min (bgPixmap.h_scale, 32767), min (bgPixmap.v_scale, 32767), 3438 min (bgPixmap.h_scale, 32767), min (bgPixmap.v_scale, 32767),
3431 min (bgPixmap.h_align, 32767), min (bgPixmap.v_align, 32767)); 3439 min (bgPixmap.h_align, 32767), min (bgPixmap.v_align, 32767));
3432 process_xterm_seq (XTerm_title, str, CHAR_ST); 3440 process_xterm_seq (XTerm_title, str, CHAR_ST);
3433 } 3441 }
3434 else 3442 else
3593 { 5, PrivMode_rVideo }, // DECSCNM 3601 { 5, PrivMode_rVideo }, // DECSCNM
3594 { 6, PrivMode_relOrigin }, // DECOM 3602 { 6, PrivMode_relOrigin }, // DECOM
3595 { 7, PrivMode_Autowrap }, // DECAWM 3603 { 7, PrivMode_Autowrap }, // DECAWM
3596 // 8, auto-repeat keys // DECARM 3604 // 8, auto-repeat keys // DECARM
3597 { 9, PrivMode_MouseX10 }, 3605 { 9, PrivMode_MouseX10 },
3598 // 18, 19 printing-related 3606 // 18 end FF to printer after print screen
3607 // 19 Print screen prints full screen/scorll region
3599 { 25, PrivMode_VisibleCursor }, // cnorm/cvvis/civis 3608 { 25, PrivMode_VisibleCursor }, // cnorm/cvvis/civis
3600#ifdef scrollBar_esc 3609#ifdef scrollBar_esc
3601 { scrollBar_esc, PrivMode_scrollBar }, 3610 { scrollBar_esc, PrivMode_scrollBar },
3602#endif 3611#endif
3603 { 35, PrivMode_ShiftKeys }, // rxvt extension 3612 { 35, PrivMode_ShiftKeys }, // rxvt extension
3656 3665
3657 scr_touch (true); 3666 scr_touch (true);
3658 break; 3667 break;
3659#endif 3668#endif
3660 case 1048: /* alternative cursor save */ 3669 case 1048: /* alternative cursor save */
3661 case 1049:
3662 if (option (Opt_secondaryScreen)) 3670 if (option (Opt_secondaryScreen))
3663 if (mode == 0) 3671 if (mode == 0)
3664 scr_cursor (RESTORE); 3672 scr_cursor (RESTORE);
3665 else if (mode == 1) 3673 else if (mode == 1)
3666 scr_cursor (SAVE); 3674 scr_cursor (SAVE);
3742 case 1011: /* scroll to bottom on key press */ 3750 case 1011: /* scroll to bottom on key press */
3743 set_option (Opt_scrollTtyKeypress, state); 3751 set_option (Opt_scrollTtyKeypress, state);
3744 break; 3752 break;
3745 case 1047: /* secondary screen w/ clearing last */ 3753 case 1047: /* secondary screen w/ clearing last */
3746 if (option (Opt_secondaryScreen)) 3754 if (option (Opt_secondaryScreen))
3747 if (current_screen != PRIMARY) 3755 if (!state)
3748 scr_erase_screen (2); 3756 scr_erase_screen (2);
3749 3757
3750 scr_change_screen (state); 3758 scr_change_screen (state);
3751 break; 3759 break;
3752 case 1049: /* secondary screen w/ clearing first */ 3760 case 1049: /* secondary screen w/ clearing first */
3761 if (option (Opt_secondaryScreen))
3762 if (state)
3763 scr_cursor (SAVE);
3764
3753 scr_change_screen (state); 3765 scr_change_screen (state);
3766
3754 if (option (Opt_secondaryScreen)) 3767 if (option (Opt_secondaryScreen))
3755 if (current_screen != PRIMARY) 3768 if (state)
3756 scr_erase_screen (2); 3769 scr_erase_screen (2);
3770 else
3771 scr_cursor (RESTORE);
3757 break; 3772 break;
3758 default: 3773 default:
3759 break; 3774 break;
3760 } 3775 }
3761 } 3776 }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines