SET_R (this);
SET_LOCALE (locale);
-#if defined(CURSOR_BLINK)
- if (OPTION (Opt_cursorBlink) && ev.type == KeyPress)
- {
- if (hidden_cursor)
- {
- hidden_cursor = 0;
- want_refresh = 1;
- }
-
- cursor_blink_ev.start (NOW + BLINK_INTERVAL);
- }
-#endif
-
-#if defined(POINTER_BLANK)
- if (OPTION (Opt_pointerBlank) && pointerBlankDelay > 0)
- {
- if (ev.type == MotionNotify
- || ev.type == ButtonPress
- || ev.type == ButtonRelease)
- if (hidden_pointer)
- pointer_unblank ();
-
- if (ev.type == KeyPress && hidden_pointer == 0)
- pointer_blank ();
- }
-#endif
-
Window unused_root, unused_child;
int unused_root_x, unused_root_y;
unsigned int unused_mask;
{
iso14755buf = ISO_14755_51 | 0x2400 | (ks & 0x1f);
commit_iso14755 ();
- return; // case-break;
+ goto skip_switch;
}
for (unsigned short *i = iso14755_symtab; i[0]; i+= 2)
{
iso14755buf = ISO_14755_51 | i[1];
commit_iso14755 ();
- return; // case-break;
+ goto skip_switch;
}
scr_bell ();
}
break;
}
+
+skip_switch: ;
+
+#if defined(CURSOR_BLINK)
+ if (OPTION (Opt_cursorBlink) && ev.type == KeyPress)
+ {
+ if (hidden_cursor)
+ {
+ hidden_cursor = 0;
+ want_refresh = 1;
+ }
+
+ cursor_blink_ev.start (NOW + BLINK_INTERVAL);
+ }
+#endif
+
+#if defined(POINTER_BLANK)
+ if (OPTION (Opt_pointerBlank) && pointerBlankDelay > 0)
+ {
+ if (ev.type == MotionNotify
+ || ev.type == ButtonPress
+ || ev.type == ButtonRelease)
+ if (hidden_pointer)
+ pointer_unblank ();
+
+ if (ev.type == KeyPress && hidden_pointer == 0)
+ pointer_blank ();
+ }
+#endif
}
void
}
}
+bool
+rxvt_term::option (U32 optval, int set = -1)
+ CODE:
+{
+ RETVAL = THIS->options & optval;
+
+ if (set >= 0)
+ {
+ if (set)
+ THIS->options |= optval;
+ else
+ THIS->options &= ~optval;
+
+ switch (optval)
+ {
+ case Opt_skipBuiltinGlyphs:
+ THIS->set_fonts ();
+ THIS->scr_remap_chars ();
+ THIS->scr_touch (true);
+ THIS->want_refresh = 1;
+ break;
+
+ case Opt_cursorUnderline:
+ THIS->want_refresh = 1;
+ break;
+
+# case Opt_scrollBar_floating:
+# case Opt_scrollBar_right:
+# THIS->resize_all_windows (THIS->width, THIS->height, 1);
+# break;
+ }
+ }
+}
+ OUTPUT:
+ RETVAL
+
void
rxvt_term::cur (...)
PROTOTYPE: $;$$
if (!l.t)
return;
- l.touch (); // maybe a bit of an overkill, but its not performance-relevant
+ l.touch (); // maybe a bit of an overkill, but it's not performance-relevant
for (int i = ncol; i--; )
l.r[i] = SET_FONT (l.r[i], FONTSET (l.r[i])->find_font (l.t[i]));
if ($htype == 0) { # INIT
my @dirs = ((split /:/, $TERM->resource ("perl_lib")), "$LIBDIR/perl");
- my @ext = (map { split /,/, $TERM->resource ("perl_ext_$_") } 1, 2);
+ my %want_ext;
- while (@ext) {
- my $ext = shift @ext;
- if ($ext eq "default") {
- unshift @ext, qw(selection);
+ for (map { split /,/, $TERM->resource ("perl_ext_$_") } 1, 2) {
+ if ($_ eq "default") {
+ $want_ext{$_}++ for qw(selection);
+ } elsif (/-(.*)/) {
+ delete $want_ext{$1};
} else {
- my @files = grep -f $_, map "$_/$ext", @dirs;
+ $want_ext{$_}++;
+ }
+ }
- if (@files) {
- register_package extension_package $files[0];
- } else {
- warn "perl extension '$ext' not found in perl library search path\n";
- }
+ for my $ext (keys %want_ext) {
+ my @files = grep -f $_, map "$_/$ext", @dirs;
+
+ if (@files) {
+ register_package extension_package $files[0];
+ } else {
+ warn "perl extension '$ext' not found in perl library search path\n";
}
}
}