summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Net/Termcast.pm14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/Net/Termcast.pm b/lib/Net/Termcast.pm
index f5eb8d8..474a32f 100644
--- a/lib/Net/Termcast.pm
+++ b/lib/Net/Termcast.pm
@@ -85,10 +85,22 @@ sub BUILD {
$self->_get_menu;
}
-sub refresh {
+sub refresh_menu {
my $self = shift;
+ my $name;
+ if ($self->location ne 'menu') {
+ $name = $self->session($self->location)->name;
+ $self->_sock->send('q', 0);
+ }
$self->_sock->send(' ', 0);
$self->_get_menu;
+ return unless $name;
+ for my $session (keys %{ $self->sessions }) {
+ if ($self->session($session)->name eq $name) {
+ $self->select_session($session);
+ return;
+ }
+ }
}
sub select_session {