… | |
… | |
1458 | break; |
1458 | break; |
1459 | } |
1459 | } |
1460 | break; |
1460 | break; |
1461 | |
1461 | |
1462 | case FocusIn: |
1462 | case FocusIn: |
|
|
1463 | if (ev.xfocus.detail != NotifyInferior && ev.xfocus.detail != NotifyPointer) |
1463 | focus_in (); |
1464 | focus_in (); |
1464 | break; |
1465 | break; |
1465 | |
1466 | |
1466 | case FocusOut: |
1467 | case FocusOut: |
|
|
1468 | if (ev.xfocus.detail != NotifyInferior && ev.xfocus.detail != NotifyPointer) |
1467 | focus_out (); |
1469 | focus_out (); |
1468 | break; |
1470 | break; |
1469 | |
1471 | |
1470 | case ConfigureNotify: |
1472 | case ConfigureNotify: |
1471 | if (ev.xconfigure.window == parent[0]) |
1473 | if (ev.xconfigure.window == parent[0]) |
1472 | { |
1474 | { |
… | |
… | |
1480 | } |
1482 | } |
1481 | |
1483 | |
1482 | HOOK_INVOKE ((this, HOOK_CONFIGURE_NOTIFY, DT_XEVENT, &ev, DT_END)); |
1484 | HOOK_INVOKE ((this, HOOK_CONFIGURE_NOTIFY, DT_XEVENT, &ev, DT_END)); |
1483 | |
1485 | |
1484 | #ifdef TRANSPARENT /* XXX: maybe not needed - leave in for now */ |
1486 | #ifdef TRANSPARENT /* XXX: maybe not needed - leave in for now */ |
|
|
1487 | #if 0 |
1485 | if (OPTION (Opt_transparent)) |
1488 | if (OPTION (Opt_transparent)) |
1486 | check_our_parents (); |
1489 | check_our_parents (); |
|
|
1490 | #endif |
1487 | #endif |
1491 | #endif |
1488 | } |
1492 | } |
1489 | break; |
1493 | break; |
1490 | |
1494 | |
1491 | case PropertyNotify: |
1495 | case PropertyNotify: |
… | |
… | |
1788 | pix_colors_focused [idx].fade (this, atoi (rs[Rs_fade]), pix_colors_unfocused [idx], c); |
1792 | pix_colors_focused [idx].fade (this, atoi (rs[Rs_fade]), pix_colors_unfocused [idx], c); |
1789 | } |
1793 | } |
1790 | #endif |
1794 | #endif |
1791 | } |
1795 | } |
1792 | |
1796 | |
1793 | #if TRANSPARENT |
1797 | #if TRANSPARENT || ENABLE_PERL |
1794 | void |
1798 | void |
1795 | rxvt_term::rootwin_cb (XEvent &ev) |
1799 | rxvt_term::rootwin_cb (XEvent &ev) |
1796 | { |
1800 | { |
1797 | make_current (); |
1801 | make_current (); |
1798 | |
1802 | |
|
|
1803 | if (SHOULD_INVOKE (HOOK_ROOT_EVENT) |
|
|
1804 | && HOOK_INVOKE ((this, HOOK_ROOT_EVENT, DT_XEVENT, &ev, DT_END))) |
|
|
1805 | return; |
|
|
1806 | |
|
|
1807 | # if TRANSPARENT |
1799 | switch (ev.type) |
1808 | switch (ev.type) |
1800 | { |
1809 | { |
1801 | case PropertyNotify: |
1810 | case PropertyNotify: |
1802 | /* |
1811 | /* |
1803 | * if user used some Esetroot compatible prog to set the root bg, |
1812 | * if user used some Esetroot compatible prog to set the root bg, |
… | |
… | |
1811 | case ReparentNotify: |
1820 | case ReparentNotify: |
1812 | if (OPTION (Opt_transparent) && check_our_parents () && am_transparent) |
1821 | if (OPTION (Opt_transparent) && check_our_parents () && am_transparent) |
1813 | want_refresh = want_full_refresh = 1; |
1822 | want_refresh = want_full_refresh = 1; |
1814 | break; |
1823 | break; |
1815 | } |
1824 | } |
|
|
1825 | # endif |
1816 | } |
1826 | } |
1817 | #endif |
1827 | #endif |
1818 | |
1828 | |
1819 | void |
1829 | void |
1820 | rxvt_term::button_press (XButtonEvent &ev) |
1830 | rxvt_term::button_press (XButtonEvent &ev) |
… | |
… | |
3668 | seen_esc = true; |
3678 | seen_esc = true; |
3669 | continue; |
3679 | continue; |
3670 | } |
3680 | } |
3671 | else if (ch == C0_BEL || ch == CHAR_ST) |
3681 | else if (ch == C0_BEL || ch == CHAR_ST) |
3672 | break; |
3682 | break; |
|
|
3683 | else if (ch == C0_SYN) |
|
|
3684 | ch = cmd_get8 (); |
3673 | else if (ch < 0x20) |
3685 | else if (ch < 0x20) |
3674 | return NULL; /* other control character - exit */ |
3686 | return NULL; /* other control character - exit */ |
3675 | |
3687 | |
3676 | seen_esc = false; |
3688 | seen_esc = false; |
3677 | |
3689 | |
3678 | if (n >= STRING_MAX - 1) |
3690 | if (n >= STRING_MAX - 1) |
3679 | // stop at some sane length |
3691 | // stop at some sane length |
3680 | return NULL; |
3692 | return NULL; |
3681 | |
3693 | |
3682 | if (ch == C0_SYN) |
|
|
3683 | string[n++] = cmd_get8 (); |
|
|
3684 | else |
|
|
3685 | string[n++] = ch; |
3694 | string[n++] = ch; |
3686 | } |
3695 | } |
3687 | |
3696 | |
3688 | string[n++] = '\0'; |
3697 | string[n++] = '\0'; |
3689 | |
3698 | |
3690 | ends_how = (ch == 0x5c ? C0_ESC : ch); |
3699 | ends_how = (ch == 0x5c ? C0_ESC : ch); |