;
use Pod::POM ();
use File::Path ();
use Storable (); # finally
use Fcntl ();
use JSON::XS qw(encode_json decode_json);
use Guard qw(guard);
=item shorten $string[, $maxlength]
=cut
sub shorten($;
line =~ s/\s+$//;
utf8::decode $line;
if ($line =~ /^\x{e877}json_msg (.*)$/s) {
$cb->(JSON::XS->new->allow_nonref->decode ($1));
} else {
::message
);
}
}
});
}
sub background_msg {
my ($msg) = @_;
$msg = "\x{e877}json_msg " . JSON::XS->new->allow_nonref->encode ($msg);
$msg =~ s/\n//g;
utf8::encode $msg;
print
mand => "*";
$self->{json_coder}
->convert_blessed
->filter_json_single_key_object ("\fw" => sub {
$self->{widget}{$_[0]}
})
->filter_json_single_key_object ("\fc"
_face_handler ($exp_table, sub {
my ($face) = @_;
$self->{exp_table} = $self->{json_coder}->decode (delete $face->{data});
$_->() for values %{ $self->{on_exp_update} || {}
my ($face) = @_;
undef $handler;
$done_cb->();
$parse_list->($self->{json_coder}->decode ($face->{data}));
});
} else {
$done_cb->(0);
}
}
# widgetset a
o", "$mappath.meta"
or die "$mappath.meta: $!\n";
print $fh DC::encode_json $meta;
close $fh;
open my $fh, ">:raw:perlio:utf8", $mappath
troy {
my ($self) = @_;
$self->hide;
$self->emit ("destroy");
%$self = ();
}
sub TO_JSON {
{ "\fw" => $_[0]{s_id} }
}
sub show {
my ($self) = @_;
return if $self->{parent};