… | |
… | |
501 | |
501 | |
502 | PROTOTYPES: ENABLE |
502 | PROTOTYPES: ENABLE |
503 | |
503 | |
504 | BOOT: |
504 | BOOT: |
505 | { |
505 | { |
506 | # define set_hookname(sym) av_store (hookname, PP_CONCAT(HOOK_, sym), newSVpv (PP_STRINGIFY(sym), 0)) |
|
|
507 | # define export_const(name) newCONSTSUB (gv_stashpv ("urxvt", 1), #name, newSViv (name)); |
506 | # define export_const(name) newCONSTSUB (gv_stashpv ("urxvt", 1), # name, newSViv (name)); |
508 | AV *hookname = get_av ("urxvt::HOOKNAME", 1); |
507 | AV *hookname = get_av ("urxvt::HOOKNAME", 1); |
509 | set_hookname (INIT); |
508 | # define def(sym) av_store (hookname, HOOK_ ## sym, newSVpv (# sym, 0)); |
510 | set_hookname (RESET); |
509 | # include "hookinc.h" |
511 | set_hookname (START); |
510 | # undef def |
512 | set_hookname (DESTROY); |
|
|
513 | set_hookname (SEL_BEGIN); |
|
|
514 | set_hookname (SEL_EXTEND); |
|
|
515 | set_hookname (SEL_MAKE); |
|
|
516 | set_hookname (SEL_GRAB); |
|
|
517 | set_hookname (FOCUS_IN); |
|
|
518 | set_hookname (FOCUS_OUT); |
|
|
519 | set_hookname (VIEW_CHANGE); |
|
|
520 | set_hookname (SCROLL_BACK); |
|
|
521 | set_hookname (TTY_ACTIVITY); |
|
|
522 | set_hookname (OSC_SEQ); |
|
|
523 | set_hookname (REFRESH_BEGIN); |
|
|
524 | set_hookname (REFRESH_END); |
|
|
525 | set_hookname (KEYBOARD_COMMAND); |
|
|
526 | |
511 | |
527 | export_const (DEFAULT_RSTYLE); |
512 | export_const (DEFAULT_RSTYLE); |
528 | export_const (OVERLAY_RSTYLE); |
513 | export_const (OVERLAY_RSTYLE); |
529 | export_const (RS_Bold); |
514 | export_const (RS_Bold); |
530 | export_const (RS_Italic); |
515 | export_const (RS_Italic); |
… | |
… | |
831 | void |
816 | void |
832 | rxvt_term::_resource (char *name, int index, SV *newval = 0) |
817 | rxvt_term::_resource (char *name, int index, SV *newval = 0) |
833 | PPCODE: |
818 | PPCODE: |
834 | { |
819 | { |
835 | struct resval { const char *name; int value; } rslist [] = { |
820 | struct resval { const char *name; int value; } rslist [] = { |
836 | # define Rs_def(name) { # name, Rs_ ## name }, |
821 | # define def(name) { # name, Rs_ ## name }, |
837 | # define Rs_reserve(name,count) |
822 | # define reserve(name,count) |
838 | # include "rsinc.h" |
823 | # include "rsinc.h" |
839 | # undef Rs_def |
824 | # undef def |
840 | # undef Rs_reserve |
825 | # undef reserve |
841 | }; |
826 | }; |
842 | |
827 | |
843 | struct resval *rs = rslist + sizeof (rslist) / sizeof (rslist [0]); |
828 | struct resval *rs = rslist + sizeof (rslist) / sizeof (rslist [0]); |
844 | |
829 | |
845 | do { |
830 | do { |
… | |
… | |
926 | rxvt_term::tt_write (SV *octets) |
911 | rxvt_term::tt_write (SV *octets) |
927 | INIT: |
912 | INIT: |
928 | STRLEN len; |
913 | STRLEN len; |
929 | char *str = SvPVbyte (octets, len); |
914 | char *str = SvPVbyte (octets, len); |
930 | C_ARGS: |
915 | C_ARGS: |
931 | (unsigned char *)str, len |
916 | str, len |
932 | |
917 | |
933 | SV * |
918 | SV * |
934 | rxvt_term::overlay (int x, int y, int w, int h, int rstyle = OVERLAY_RSTYLE, int border = 2) |
919 | rxvt_term::overlay (int x, int y, int w, int h, int rstyle = OVERLAY_RSTYLE, int border = 2) |
935 | CODE: |
920 | CODE: |
936 | { |
921 | { |