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.426 by root, Wed Nov 5 13:49:36 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
3657 3665
3658 scr_touch (true); 3666 scr_touch (true);
3659 break; 3667 break;
3660#endif 3668#endif
3661 case 1048: /* alternative cursor save */ 3669 case 1048: /* alternative cursor save */
3662 case 1049:
3663 if (option (Opt_secondaryScreen)) 3670 if (option (Opt_secondaryScreen))
3664 if (mode == 0) 3671 if (mode == 0)
3665 scr_cursor (RESTORE); 3672 scr_cursor (RESTORE);
3666 else if (mode == 1) 3673 else if (mode == 1)
3667 scr_cursor (SAVE); 3674 scr_cursor (SAVE);
3743 case 1011: /* scroll to bottom on key press */ 3750 case 1011: /* scroll to bottom on key press */
3744 set_option (Opt_scrollTtyKeypress, state); 3751 set_option (Opt_scrollTtyKeypress, state);
3745 break; 3752 break;
3746 case 1047: /* secondary screen w/ clearing last */ 3753 case 1047: /* secondary screen w/ clearing last */
3747 if (option (Opt_secondaryScreen)) 3754 if (option (Opt_secondaryScreen))
3748 if (current_screen != PRIMARY) 3755 if (!state)
3749 scr_erase_screen (2); 3756 scr_erase_screen (2);
3750 3757
3751 scr_change_screen (state); 3758 scr_change_screen (state);
3752 break; 3759 break;
3753 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
3754 scr_change_screen (state); 3765 scr_change_screen (state);
3766
3755 if (option (Opt_secondaryScreen)) 3767 if (option (Opt_secondaryScreen))
3756 if (current_screen != PRIMARY) 3768 if (state)
3757 scr_erase_screen (2); 3769 scr_erase_screen (2);
3770 else
3771 scr_cursor (RESTORE);
3758 break; 3772 break;
3759 default: 3773 default:
3760 break; 3774 break;
3761 } 3775 }
3762 } 3776 }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines