… | |
… | |
753 | IMSendSpot (); |
753 | IMSendSpot (); |
754 | #endif |
754 | #endif |
755 | |
755 | |
756 | } |
756 | } |
757 | |
757 | |
758 | XFlush (display->display); |
758 | display->flush (); |
759 | } |
759 | } |
760 | |
760 | |
761 | void |
761 | void |
762 | rxvt_term::check_cb (check_watcher &w) |
762 | rxvt_term::check_cb (check_watcher &w) |
763 | { |
763 | { |
… | |
… | |
1360 | |
1360 | |
1361 | } |
1361 | } |
1362 | break; |
1362 | break; |
1363 | |
1363 | |
1364 | case SelectionClear: |
1364 | case SelectionClear: |
1365 | selection_clear (); |
1365 | display->set_selection_owner (0); |
1366 | break; |
1366 | break; |
1367 | |
1367 | |
1368 | case SelectionNotify: |
1368 | case SelectionNotify: |
1369 | if (selection_wait == Sel_normal) |
1369 | if (selection_wait == Sel_normal) |
1370 | selection_paste (ev.xselection.requestor, |
1370 | selection_paste (ev.xselection.requestor, |
… | |
… | |
1385 | case MapNotify: |
1385 | case MapNotify: |
1386 | TermWin.mapped = 1; |
1386 | TermWin.mapped = 1; |
1387 | #ifdef TEXT_BLINK |
1387 | #ifdef TEXT_BLINK |
1388 | text_blink_ev.start (NOW + TEXT_BLINK_INTERVAL); |
1388 | text_blink_ev.start (NOW + TEXT_BLINK_INTERVAL); |
1389 | #endif |
1389 | #endif |
1390 | break; |
|
|
1391 | |
|
|
1392 | case PropertyNotify: |
|
|
1393 | if (ev.xproperty.atom == xa[XA_VT_SELECTION]) |
|
|
1394 | if (ev.xproperty.state == PropertyNewValue) |
|
|
1395 | selection_property (ev.xproperty.window, ev.xproperty.atom); |
|
|
1396 | break; |
1390 | break; |
1397 | |
1391 | |
1398 | #ifdef TRANSPARENT |
1392 | #ifdef TRANSPARENT |
1399 | case ReparentNotify: |
1393 | case ReparentNotify: |
1400 | rootwin_cb (ev); |
1394 | rootwin_cb (ev); |
… | |
… | |
1548 | } |
1542 | } |
1549 | break; |
1543 | break; |
1550 | } |
1544 | } |
1551 | } |
1545 | } |
1552 | |
1546 | |
1553 | #ifdef TRANSPARENT |
|
|
1554 | void |
1547 | void |
1555 | rxvt_term::rootwin_cb (XEvent &ev) |
1548 | rxvt_term::rootwin_cb (XEvent &ev) |
1556 | { |
1549 | { |
1557 | SET_R (this); |
1550 | SET_R (this); |
1558 | SET_LOCALE (locale); |
1551 | SET_LOCALE (locale); |
1559 | |
1552 | |
1560 | if (ev.type == PropertyNotify) |
1553 | switch (ev.type) |
1561 | { |
1554 | { |
1562 | /* |
1555 | case PropertyNotify: |
|
|
1556 | if (ev.xproperty.atom == xa[XA_VT_SELECTION]) |
|
|
1557 | { |
|
|
1558 | if (ev.xproperty.state == PropertyNewValue) |
|
|
1559 | selection_property (ev.xproperty.window, ev.xproperty.atom); |
|
|
1560 | break; |
|
|
1561 | } |
|
|
1562 | #ifdef TRANSPARENT |
|
|
1563 | else |
|
|
1564 | { |
|
|
1565 | /* |
1563 | * if user used some Esetroot compatible prog to set the root bg, |
1566 | * if user used some Esetroot compatible prog to set the root bg, |
1564 | * use the property to determine the pixmap. We use it later on. |
1567 | * use the property to determine the pixmap. We use it later on. |
1565 | */ |
1568 | */ |
1566 | if (xa[XA_XROOTPMAPID] == 0) |
1569 | if (xa[XA_XROOTPMAPID] == 0) |
1567 | xa[XA_XROOTPMAPID] = XInternAtom(display->display, "_XROOTPMAP_ID", False); |
1570 | xa[XA_XROOTPMAPID] = XInternAtom(display->display, "_XROOTPMAP_ID", False); |
1568 | |
1571 | |
1569 | if (ev.xproperty.atom != xa[XA_XROOTPMAPID]) |
1572 | if (ev.xproperty.atom != xa[XA_XROOTPMAPID]) |
1570 | return; |
1573 | return; |
1571 | } |
1574 | } |
1572 | |
1575 | |
|
|
1576 | /* FALLTHROUGH */ |
|
|
1577 | case ReparentNotify: |
1573 | if ((Options & Opt_transparent) && check_our_parents ()) |
1578 | if ((Options & Opt_transparent) && check_our_parents ()) |
1574 | { |
|
|
1575 | if (am_transparent) |
1579 | if (am_transparent) |
1576 | want_full_refresh = 1; |
1580 | want_full_refresh = 1; |
1577 | } |
1581 | break; |
1578 | } |
|
|
1579 | #endif |
1582 | #endif |
|
|
1583 | } |
|
|
1584 | } |
1580 | |
1585 | |
1581 | void |
1586 | void |
1582 | rxvt_term::button_press (const XButtonEvent &ev) |
1587 | rxvt_term::button_press (const XButtonEvent &ev) |
1583 | { |
1588 | { |
1584 | int reportmode = 0, clickintime; |
1589 | int reportmode = 0, clickintime; |