1 | /*--------------------------------*-C-*---------------------------------* |
1 | /*--------------------------------*-C-*---------------------------------* |
2 | * File: command.c |
2 | * File: command.c |
3 | *----------------------------------------------------------------------* |
3 | *----------------------------------------------------------------------* |
4 | * $Id: command.C,v 1.21 2003/12/18 08:06:46 pcg Exp $ |
4 | * $Id: command.C,v 1.28 2004/01/16 22:11:09 pcg Exp $ |
5 | * |
5 | * |
6 | * All portions of code are copyright by their respective author/s. |
6 | * All portions of code are copyright by their respective author/s. |
7 | * Copyright (c) 1992 John Bovey, University of Kent at Canterbury <jdb@ukc.ac.uk> |
7 | * Copyright (c) 1992 John Bovey, University of Kent at Canterbury <jdb@ukc.ac.uk> |
8 | * - original version |
8 | * - original version |
9 | * Copyright (c) 1994 Robert Nation <nation@rocket.sanders.lockheed.com> |
9 | * Copyright (c) 1994 Robert Nation <nation@rocket.sanders.lockheed.com> |
… | |
… | |
64 | KeySym keysym; |
64 | KeySym keysym; |
65 | #ifdef DEBUG_CMD |
65 | #ifdef DEBUG_CMD |
66 | static int debug_key = 1; /* accessible by a debugger only */ |
66 | static int debug_key = 1; /* accessible by a debugger only */ |
67 | #endif |
67 | #endif |
68 | int valid_keysym; |
68 | int valid_keysym; |
69 | unsigned char *kbuf = R->kbuf; |
69 | unsigned char kbuf[KBUFSZ]; |
70 | |
70 | |
71 | /* |
71 | /* |
72 | * use Num_Lock to toggle Keypad on/off. If Num_Lock is off, allow an |
72 | * use Num_Lock to toggle Keypad on/off. If Num_Lock is off, allow an |
73 | * escape sequence to toggle the Keypad. |
73 | * escape sequence to toggle the Keypad. |
74 | * |
74 | * |
… | |
… | |
90 | if (R->Input_Context) |
90 | if (R->Input_Context) |
91 | { |
91 | { |
92 | Status status_return; |
92 | Status status_return; |
93 | |
93 | |
94 | #ifdef X_HAVE_UTF8_STRING |
94 | #ifdef X_HAVE_UTF8_STRING |
95 | if (R->enc_utf8) |
95 | if (R->enc_utf8 && 0) |
96 | len = Xutf8LookupString (R->Input_Context, ev, (char *)kbuf, |
96 | len = Xutf8LookupString (R->Input_Context, ev, (char *)kbuf, |
97 | KBUFSZ, &keysym, &status_return); |
97 | KBUFSZ, &keysym, &status_return); |
98 | else |
98 | else |
99 | #endif |
99 | #endif |
100 | { |
100 | { |
… | |
… | |
635 | for (i = 0, p = kbuf; i < len; i++, p++) |
635 | for (i = 0, p = kbuf; i < len; i++, p++) |
636 | fprintf(stderr, (*p >= ' ' && *p < '\177' ? "%c" : "\\%03o"), *p); |
636 | fprintf(stderr, (*p >= ' ' && *p < '\177' ? "%c" : "\\%03o"), *p); |
637 | fprintf(stderr, "'\n"); |
637 | fprintf(stderr, "'\n"); |
638 | } |
638 | } |
639 | #endif /* DEBUG_CMD */ |
639 | #endif /* DEBUG_CMD */ |
640 | R->tt_write(kbuf, (unsigned int)len); |
640 | R->tt_write (kbuf, (unsigned int)len); |
641 | } |
641 | } |
642 | /*}}} */ |
642 | /*}}} */ |
643 | |
643 | |
644 | #if (MENUBAR_MAX) |
644 | #if (MENUBAR_MAX) |
645 | /*{{{ rxvt_cmd_write(), rxvt_cmd_getc() */ |
645 | /*{{{ rxvt_cmd_write(), rxvt_cmd_getc() */ |
… | |
… | |
679 | { |
679 | { |
680 | #ifdef TRANSPARENT |
680 | #ifdef TRANSPARENT |
681 | if (want_full_refresh) |
681 | if (want_full_refresh) |
682 | { |
682 | { |
683 | want_full_refresh = 0; |
683 | want_full_refresh = 0; |
684 | rxvt_scr_clear (this); |
684 | scr_clear (); |
685 | rxvt_scr_touch (this, False); |
685 | scr_touch (false); |
686 | want_refresh = 1; |
686 | want_refresh = 1; |
687 | } |
687 | } |
688 | #endif |
688 | #endif |
689 | |
689 | |
690 | if (want_refresh) |
690 | if (want_refresh) |
691 | { |
691 | { |
692 | rxvt_scr_refresh (this, refresh_type); |
692 | scr_refresh (refresh_type); |
693 | rxvt_scrollbar_show (this, 1); |
693 | rxvt_scrollbar_show (this, 1); |
694 | #ifdef USE_XIM |
694 | #ifdef USE_XIM |
695 | rxvt_IMSendSpot (this); |
695 | rxvt_IMSendSpot (this); |
696 | #endif |
696 | #endif |
697 | } |
697 | } |
698 | |
698 | |
699 | XFlush (Xdisplay); |
699 | XFlush (Xdisplay); |
700 | #if 0 |
|
|
701 | if (XPending (Xdisplay)) process_x_events (); |
|
|
702 | if (XPending (Xdisplay)) process_x_events (); |
|
|
703 | #endif |
|
|
704 | } |
700 | } |
705 | |
701 | |
706 | void |
702 | void |
707 | rxvt_term::check_cb (check_watcher &w) |
703 | rxvt_term::check_cb (check_watcher &w) |
708 | { |
704 | { |
… | |
… | |
756 | rxvt_process_x_event (this, &xev); |
752 | rxvt_process_x_event (this, &xev); |
757 | } |
753 | } |
758 | while (XPending (Xdisplay)); |
754 | while (XPending (Xdisplay)); |
759 | } |
755 | } |
760 | |
756 | |
|
|
757 | #ifdef CURSOR_BLINK |
761 | void |
758 | void |
762 | rxvt_term::blink_cb (time_watcher &w) |
759 | rxvt_term::blink_cb (time_watcher &w) |
763 | { |
760 | { |
764 | w.at += BLINK_INTERVAL; |
|
|
765 | hidden_cursor = !hidden_cursor; |
761 | hidden_cursor = !hidden_cursor; |
766 | want_refresh = 1; |
762 | want_refresh = 1; |
|
|
763 | |
|
|
764 | w.start (w.at + BLINK_INTERVAL); |
767 | } |
765 | } |
|
|
766 | #endif |
768 | |
767 | |
769 | void |
768 | void |
770 | rxvt_term::x_cb (io_watcher &w, short revents) |
769 | rxvt_term::x_cb (io_watcher &w, short revents) |
771 | { |
770 | { |
772 | SET_R (this); |
771 | SET_R (this); |
… | |
… | |
887 | if (refreshnow) |
886 | if (refreshnow) |
888 | { |
887 | { |
889 | if ((Options & Opt_jumpScroll) && refresh_limit < REFRESH_PERIOD) |
888 | if ((Options & Opt_jumpScroll) && refresh_limit < REFRESH_PERIOD) |
890 | refresh_limit++; |
889 | refresh_limit++; |
891 | |
890 | |
892 | rxvt_scr_refresh (this, refresh_type); |
891 | scr_refresh (refresh_type); |
893 | } |
892 | } |
894 | |
893 | |
895 | } |
894 | } |
896 | else |
895 | else |
897 | { |
896 | { |
… | |
… | |
995 | if (R->pending_scroll_selection) { |
994 | if (R->pending_scroll_selection) { |
996 | quick_timeout = 1; |
995 | quick_timeout = 1; |
997 | if (!R->scroll_selection_delay-- |
996 | if (!R->scroll_selection_delay-- |
998 | && rxvt_scr_page(aR_ R->scroll_selection_dir, |
997 | && rxvt_scr_page(aR_ R->scroll_selection_dir, |
999 | R->scroll_selection_lines)) { |
998 | R->scroll_selection_lines)) { |
1000 | rxvt_selection_extend(aR_ R->selection_save_x, |
999 | R->selection_extend (R->selection_save_x, |
1001 | R->selection_save_y, R->selection_save_state); |
1000 | R->selection_save_y, R->selection_save_state); |
1002 | R->scroll_selection_delay = SCROLLBAR_CONTINUOUS_DELAY; |
1001 | R->scroll_selection_delay = SCROLLBAR_CONTINUOUS_DELAY; |
1003 | R->refresh_type |= SMOOTH_REFRESH; |
1002 | R->refresh_type |= SMOOTH_REFRESH; |
1004 | R->want_refresh = 1; |
1003 | R->want_refresh = 1; |
1005 | } |
1004 | } |
… | |
… | |
1039 | |
1038 | |
1040 | #ifdef POINTER_BLANK |
1039 | #ifdef POINTER_BLANK |
1041 | void |
1040 | void |
1042 | rxvt_term::pointer_blank () |
1041 | rxvt_term::pointer_blank () |
1043 | { |
1042 | { |
1044 | pointer_ev.stop (); |
|
|
1045 | |
|
|
1046 | if (!(Options & Opt_pointerBlank)) |
1043 | if (!(Options & Opt_pointerBlank)) |
1047 | return; |
1044 | return; |
1048 | |
1045 | |
1049 | XDefineCursor (Xdisplay, TermWin.vt, blank_cursor); |
1046 | XDefineCursor (Xdisplay, TermWin.vt, blank_cursor); |
1050 | XFlush (Xdisplay); |
1047 | XFlush (Xdisplay); |
… | |
… | |
1069 | int button_number, key_state = 0; |
1066 | int button_number, key_state = 0; |
1070 | int x, y; |
1067 | int x, y; |
1071 | |
1068 | |
1072 | x = ev->x; |
1069 | x = ev->x; |
1073 | y = ev->y; |
1070 | y = ev->y; |
1074 | rxvt_pixel_position(aR_ &x, &y); |
1071 | R->pixel_position (&x, &y); |
1075 | |
1072 | |
1076 | if (R->MEvent.button == AnyButton) { |
1073 | if (R->MEvent.button == AnyButton) { |
1077 | button_number = 3; |
1074 | button_number = 3; |
1078 | } else { |
1075 | } else { |
1079 | button_number = R->MEvent.button - Button1; |
1076 | button_number = R->MEvent.button - Button1; |
… | |
… | |
1330 | D_SIZE((stderr, "Size: ConfigureNotify: %4d x %4d", width, height)); |
1327 | D_SIZE((stderr, "Size: ConfigureNotify: %4d x %4d", width, height)); |
1331 | } while (XCheckTypedWindowEvent(R->Xdisplay, ev->xconfigure.window, |
1328 | } while (XCheckTypedWindowEvent(R->Xdisplay, ev->xconfigure.window, |
1332 | ConfigureNotify, ev)); |
1329 | ConfigureNotify, ev)); |
1333 | if (R->szHint.width != width || R->szHint.height != height) { |
1330 | if (R->szHint.width != width || R->szHint.height != height) { |
1334 | D_SIZE((stderr, "Size: Resizing from: %4d x %4d", R->szHint.width, R->szHint.height)); |
1331 | D_SIZE((stderr, "Size: Resizing from: %4d x %4d", R->szHint.width, R->szHint.height)); |
1335 | rxvt_resize_all_windows(aR_ (unsigned int)width, |
1332 | R->resize_all_windows (width, height, 1); |
1336 | (unsigned int)height, 1); |
|
|
1337 | } |
1333 | } |
1338 | #ifdef DEBUG_SIZE |
1334 | #ifdef DEBUG_SIZE |
1339 | else { |
1335 | else { |
1340 | D_SIZE((stderr, "Size: Not resizing")); |
1336 | D_SIZE((stderr, "Size: Not resizing")); |
1341 | } |
1337 | } |
… | |
… | |
1400 | |
1396 | |
1401 | case GraphicsExpose: |
1397 | case GraphicsExpose: |
1402 | case Expose: |
1398 | case Expose: |
1403 | if (ev->xany.window == R->TermWin.vt) { |
1399 | if (ev->xany.window == R->TermWin.vt) { |
1404 | #ifdef NO_SLOW_LINK_SUPPORT |
1400 | #ifdef NO_SLOW_LINK_SUPPORT |
1405 | rxvt_scr_expose(aR_ ev->xexpose.x, ev->xexpose.y, |
1401 | R->scr_expose (ev->xexpose.x, ev->xexpose.y, |
1406 | ev->xexpose.width, ev->xexpose.height, False); |
1402 | ev->xexpose.width, ev->xexpose.height, False); |
1407 | #else |
1403 | #else |
1408 | // don't understand this, so commented it out |
1404 | // don't understand this, so commented it out |
1409 | rxvt_scr_expose(aR_ ev->xexpose.x, ev->xexpose.y, |
1405 | R->scr_expose (ev->xexpose.x, ev->xexpose.y, |
1410 | ev->xexpose.width, ev->xexpose.height, False); |
1406 | ev->xexpose.width, ev->xexpose.height, False); |
1411 | //rxvt_scr_expose(aR_ ev->xexpose.x, 0, |
1407 | //rxvt_scr_expose(aR_ ev->xexpose.x, 0, |
1412 | // ev->xexpose.width, R->TermWin.height, False); |
1408 | // ev->xexpose.width, R->TermWin.height, False); |
1413 | #endif |
1409 | #endif |
1414 | R->want_refresh = 1; |
1410 | R->want_refresh = 1; |
1415 | } else { |
1411 | } else { |
… | |
… | |
1460 | &unused_mask); |
1456 | &unused_mask); |
1461 | #ifdef MOUSE_THRESHOLD |
1457 | #ifdef MOUSE_THRESHOLD |
1462 | /* deal with a `jumpy' mouse */ |
1458 | /* deal with a `jumpy' mouse */ |
1463 | if ((ev->xmotion.time - R->MEvent.time) > MOUSE_THRESHOLD) { |
1459 | if ((ev->xmotion.time - R->MEvent.time) > MOUSE_THRESHOLD) { |
1464 | #endif |
1460 | #endif |
1465 | rxvt_selection_extend(aR_ (ev->xbutton.x), (ev->xbutton.y), |
1461 | R->selection_extend ((ev->xbutton.x), (ev->xbutton.y), |
1466 | (ev->xbutton.state & Button3Mask) ? 2 : 0); |
1462 | (ev->xbutton.state & Button3Mask) ? 2 : 0); |
1467 | #ifdef SELECTION_SCROLLING |
1463 | #ifdef SELECTION_SCROLLING |
1468 | if (ev->xbutton.y<R->TermWin.int_bwidth || |
1464 | if (ev->xbutton.y<R->TermWin.int_bwidth || |
1469 | Pixel2Row(ev->xbutton.y)>(R->TermWin.nrow-1)) { |
1465 | Pixel2Row(ev->xbutton.y)>(R->TermWin.nrow-1)) { |
1470 | int dist; |
1466 | int dist; |
… | |
… | |
1519 | &unused_root_x, &unused_root_y, |
1515 | &unused_root_x, &unused_root_y, |
1520 | &(ev->xbutton.x), &(ev->xbutton.y), |
1516 | &(ev->xbutton.x), &(ev->xbutton.y), |
1521 | &unused_mask); |
1517 | &unused_mask); |
1522 | rxvt_scr_move_to(aR_ scrollbar_position(ev->xbutton.y) - R->csrO, |
1518 | rxvt_scr_move_to(aR_ scrollbar_position(ev->xbutton.y) - R->csrO, |
1523 | scrollbar_size()); |
1519 | scrollbar_size()); |
1524 | rxvt_scr_refresh(aR_ R->refresh_type); |
1520 | R->scr_refresh (R->refresh_type); |
1525 | R->refresh_limit = 0; |
1521 | R->refresh_limit = 0; |
1526 | rxvt_scrollbar_show(aR_ 1); |
1522 | rxvt_scrollbar_show(aR_ 1); |
1527 | } |
1523 | } |
1528 | break; |
1524 | break; |
1529 | } |
1525 | } |
… | |
… | |
1531 | |
1527 | |
1532 | /* INTPROTO */ |
1528 | /* INTPROTO */ |
1533 | void |
1529 | void |
1534 | rxvt_button_press(pR_ XButtonEvent *ev) |
1530 | rxvt_button_press(pR_ XButtonEvent *ev) |
1535 | { |
1531 | { |
1536 | int reportmode = 0, clickintime; |
1532 | int reportmode = 0, clickintime; |
1537 | |
1533 | |
1538 | R->bypass_keystate = ev->state & (R->ModMetaMask | ShiftMask); |
1534 | R->bypass_keystate = ev->state & (R->ModMetaMask | ShiftMask); |
1539 | if (!R->bypass_keystate) |
1535 | if (!R->bypass_keystate) |
1540 | reportmode = !!(R->PrivateModes & PrivMode_mouse_report); |
1536 | reportmode = !!(R->PrivateModes & PrivMode_mouse_report); |
1541 | /* |
1537 | /* |
… | |
… | |
1589 | R->MEvent.clicks = 0; |
1585 | R->MEvent.clicks = 0; |
1590 | switch (ev->button) |
1586 | switch (ev->button) |
1591 | { |
1587 | { |
1592 | case Button1: |
1588 | case Button1: |
1593 | /* allow shift+left click to extend selection */ |
1589 | /* allow shift+left click to extend selection */ |
1594 | if (ev->state & ShiftMask) |
1590 | if (ev->state & ShiftMask && !(R->PrivateModes & PrivMode_mouse_report)) |
1595 | { |
1591 | { |
1596 | if (R->MEvent.button == Button1 && clickintime) |
1592 | if (R->MEvent.button == Button1 && clickintime) |
1597 | rxvt_selection_rotate (aR_ ev->x, ev->y); |
1593 | R->selection_rotate (ev->x, ev->y); |
1598 | else |
1594 | else |
1599 | rxvt_selection_extend (aR_ ev->x, ev->y, 1); |
1595 | R->selection_extend (ev->x, ev->y, 1); |
1600 | } |
1596 | } |
1601 | else |
1597 | else |
1602 | { |
1598 | { |
1603 | if (R->MEvent.button == Button1 && clickintime) |
1599 | if (R->MEvent.button == Button1 && clickintime) |
1604 | R->MEvent.clicks++; |
1600 | R->MEvent.clicks++; |
1605 | else |
1601 | else |
1606 | R->MEvent.clicks = 1; |
1602 | R->MEvent.clicks = 1; |
1607 | |
1603 | |
1608 | rxvt_selection_click (aR_ R->MEvent.clicks, ev->x, ev->y); |
1604 | R->selection_click (R->MEvent.clicks, ev->x, ev->y); |
1609 | } |
1605 | } |
1610 | |
1606 | |
1611 | R->MEvent.button = Button1; |
1607 | R->MEvent.button = Button1; |
1612 | break; |
1608 | break; |
1613 | |
1609 | |
1614 | case Button3: |
1610 | case Button3: |
1615 | if (R->MEvent.button == Button3 && clickintime) |
1611 | if (R->MEvent.button == Button3 && clickintime) |
1616 | rxvt_selection_rotate(aR_ ev->x, ev->y); |
1612 | R->selection_rotate (ev->x, ev->y); |
1617 | else |
1613 | else |
1618 | rxvt_selection_extend(aR_ ev->x, ev->y, 1); |
1614 | R->selection_extend (ev->x, ev->y, 1); |
1619 | R->MEvent.button = Button3; |
1615 | R->MEvent.button = Button3; |
1620 | break; |
1616 | break; |
1621 | } |
1617 | } |
1622 | } |
1618 | } |
1623 | R->MEvent.time = ev->time; |
1619 | R->MEvent.time = ev->time; |
… | |
… | |
1817 | * when overriding mouse reporting |
1813 | * when overriding mouse reporting |
1818 | */ |
1814 | */ |
1819 | if (R->PrivateModes & PrivMode_mouse_report |
1815 | if (R->PrivateModes & PrivMode_mouse_report |
1820 | && R->bypass_keystate |
1816 | && R->bypass_keystate |
1821 | && ev->button == Button1 && R->MEvent.clicks <= 1) |
1817 | && ev->button == Button1 && R->MEvent.clicks <= 1) |
1822 | rxvt_selection_extend(aR_ ev->x, ev->y, 0); |
1818 | R->selection_extend (ev->x, ev->y, 0); |
1823 | |
1819 | |
1824 | switch (ev->button) { |
1820 | switch (ev->button) { |
1825 | case Button1: |
1821 | case Button1: |
1826 | case Button3: |
1822 | case Button3: |
1827 | rxvt_selection_make(aR_ ev->time); |
1823 | rxvt_selection_make(aR_ ev->time); |
… | |
… | |
1850 | R->mouse_slip_wheel_delay = SCROLLBAR_CONTINUOUS_DELAY; |
1846 | R->mouse_slip_wheel_delay = SCROLLBAR_CONTINUOUS_DELAY; |
1851 | } |
1847 | } |
1852 | # endif |
1848 | # endif |
1853 | # ifdef JUMP_MOUSE_WHEEL |
1849 | # ifdef JUMP_MOUSE_WHEEL |
1854 | rxvt_scr_page(aR_ v, i); |
1850 | rxvt_scr_page(aR_ v, i); |
1855 | rxvt_scr_refresh(aR_ SMOOTH_REFRESH); |
1851 | R->scr_refresh (SMOOTH_REFRESH); |
1856 | rxvt_scrollbar_show(aR_ 1); |
1852 | rxvt_scrollbar_show(aR_ 1); |
1857 | # else |
1853 | # else |
1858 | for (; i--;) |
1854 | while (i--) |
1859 | { |
1855 | { |
1860 | rxvt_scr_page(aR_ v, 1); |
1856 | rxvt_scr_page(aR_ v, 1); |
1861 | rxvt_scr_refresh(aR_ SMOOTH_REFRESH); |
1857 | R->scr_refresh (SMOOTH_REFRESH); |
1862 | rxvt_scrollbar_show(aR_ 1); |
1858 | rxvt_scrollbar_show(aR_ 1); |
1863 | } |
1859 | } |
1864 | # endif |
1860 | # endif |
1865 | } |
1861 | } |
1866 | break; |
1862 | break; |
… | |
… | |
2220 | break; |
2216 | break; |
2221 | case 'I': /* cursor up and scroll down if needed */ |
2217 | case 'I': /* cursor up and scroll down if needed */ |
2222 | rxvt_scr_index(aR_ DN); |
2218 | rxvt_scr_index(aR_ DN); |
2223 | break; |
2219 | break; |
2224 | case 'J': /* erase to end of screen */ |
2220 | case 'J': /* erase to end of screen */ |
2225 | rxvt_scr_erase_screen(aR_ 0); |
2221 | R->scr_erase_screen (0); |
2226 | break; |
2222 | break; |
2227 | case 'K': /* erase to end of line */ |
2223 | case 'K': /* erase to end of line */ |
2228 | rxvt_scr_erase_line(aR_ 0); |
2224 | rxvt_scr_erase_line(aR_ 0); |
2229 | break; |
2225 | break; |
2230 | case 'Y': /* move to specified row and col */ |
2226 | case 'Y': /* move to specified row and col */ |
… | |
… | |
2565 | case CSI_CHT: /* 8.3.10: (1) CURSOR FORWARD TABULATION */ |
2561 | case CSI_CHT: /* 8.3.10: (1) CURSOR FORWARD TABULATION */ |
2566 | rxvt_scr_tab(aR_ arg[0]); |
2562 | rxvt_scr_tab(aR_ arg[0]); |
2567 | break; |
2563 | break; |
2568 | |
2564 | |
2569 | case CSI_ED: /* 8.3.40: (0) ERASE IN PAGE */ |
2565 | case CSI_ED: /* 8.3.40: (0) ERASE IN PAGE */ |
2570 | rxvt_scr_erase_screen(aR_ arg[0]); |
2566 | R->scr_erase_screen (arg[0]); |
2571 | break; |
2567 | break; |
2572 | |
2568 | |
2573 | case CSI_EL: /* 8.3.42: (0) ERASE IN LINE */ |
2569 | case CSI_EL: /* 8.3.42: (0) ERASE IN LINE */ |
2574 | rxvt_scr_erase_line(aR_ arg[0]); |
2570 | rxvt_scr_erase_line(aR_ arg[0]); |
2575 | break; |
2571 | break; |
… | |
… | |
2745 | break; |
2741 | break; |
2746 | case 6: /* lower window */ |
2742 | case 6: /* lower window */ |
2747 | XLowerWindow(R->Xdisplay, R->TermWin.parent[0]); |
2743 | XLowerWindow(R->Xdisplay, R->TermWin.parent[0]); |
2748 | break; |
2744 | break; |
2749 | case 7: /* refresh window */ |
2745 | case 7: /* refresh window */ |
2750 | rxvt_scr_touch(aR_ True); |
2746 | R->scr_touch (true); |
2751 | break; |
2747 | break; |
2752 | case 8: /* set size (chars) */ |
2748 | case 8: /* set size (chars) */ |
2753 | rxvt_set_widthheight(aR_ (unsigned int)(args[2] * R->TermWin.fwidth), |
2749 | rxvt_set_widthheight(aR_ (unsigned int)(args[2] * R->TermWin.fwidth), |
2754 | (unsigned int)(args[1] * R->TermWin.fheight)); |
2750 | (unsigned int)(args[1] * R->TermWin.fheight)); |
2755 | break; |
2751 | break; |
… | |
… | |
2966 | if (*str != ';') { |
2962 | if (*str != ';') { |
2967 | #if XPM_BACKGROUND |
2963 | #if XPM_BACKGROUND |
2968 | rxvt_scale_pixmap(aR_ ""); /* reset to default scaling */ |
2964 | rxvt_scale_pixmap(aR_ ""); /* reset to default scaling */ |
2969 | rxvt_set_bgPixmap(aR_ str); /* change pixmap */ |
2965 | rxvt_set_bgPixmap(aR_ str); /* change pixmap */ |
2970 | #endif |
2966 | #endif |
2971 | rxvt_scr_touch(aR_ True); |
2967 | R->scr_touch (true); |
2972 | } |
2968 | } |
2973 | while ((str = STRCHR(str, ';')) != NULL) { |
2969 | while ((str = STRCHR(str, ';')) != NULL) { |
2974 | str++; |
2970 | str++; |
2975 | #if XPM_BACKGROUND |
2971 | #if XPM_BACKGROUND |
2976 | changed += rxvt_scale_pixmap(aR_ str); |
2972 | changed += rxvt_scale_pixmap(aR_ str); |
… | |
… | |
2978 | } |
2974 | } |
2979 | if (changed) { |
2975 | if (changed) { |
2980 | #ifdef XPM_BACKGROUND |
2976 | #ifdef XPM_BACKGROUND |
2981 | rxvt_resize_pixmap(aR); |
2977 | rxvt_resize_pixmap(aR); |
2982 | #endif |
2978 | #endif |
2983 | rxvt_scr_touch(aR_ True); |
2979 | R->scr_touch (true); |
2984 | } |
2980 | } |
2985 | break; |
2981 | break; |
2986 | |
2982 | |
2987 | case XTerm_restoreFG: |
2983 | case XTerm_restoreFG: |
2988 | rxvt_set_window_color(aR_ Color_fg, str); |
2984 | rxvt_set_window_color(aR_ Color_fg, str); |
… | |
… | |
3154 | break; |
3150 | break; |
3155 | #endif |
3151 | #endif |
3156 | #ifdef scrollBar_esc |
3152 | #ifdef scrollBar_esc |
3157 | case scrollBar_esc: |
3153 | case scrollBar_esc: |
3158 | if (rxvt_scrollbar_mapping(aR_ state)) { |
3154 | if (rxvt_scrollbar_mapping(aR_ state)) { |
3159 | rxvt_resize_all_windows(aR_ 0, 0, 0); |
3155 | R->resize_all_windows (0, 0, 0); |
3160 | rxvt_scr_touch(aR_ True); |
3156 | R->scr_touch (true); |
3161 | } |
3157 | } |
3162 | break; |
3158 | break; |
3163 | #endif |
3159 | #endif |
3164 | case 25: /* visible/invisible cursor */ |
3160 | case 25: /* visible/invisible cursor */ |
3165 | rxvt_scr_cursor_visible(aR_ state); |
3161 | rxvt_scr_cursor_visible(aR_ state); |
… | |
… | |
3191 | else |
3187 | else |
3192 | R->Options &= ~Opt_scrollTtyKeypress; |
3188 | R->Options &= ~Opt_scrollTtyKeypress; |
3193 | break; |
3189 | break; |
3194 | case 1047: /* secondary screen w/ clearing */ |
3190 | case 1047: /* secondary screen w/ clearing */ |
3195 | if (R->current_screen != PRIMARY) |
3191 | if (R->current_screen != PRIMARY) |
3196 | rxvt_scr_erase_screen(aR_ 2); |
3192 | R->scr_erase_screen (2); |
3197 | rxvt_scr_change_screen(aR_ state); |
3193 | rxvt_scr_change_screen(aR_ state); |
3198 | /* FALLTHROUGH */ |
3194 | /* FALLTHROUGH */ |
3199 | default: |
3195 | default: |
3200 | break; |
3196 | break; |
3201 | } |
3197 | } |