aboutsummaryrefslogtreecommitdiff
path: root/scripts/fvwm-screen.pl
blob: eea4a3cf157bbfd7c550ea1f9744a6f6d8e4b676 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/perl 
use strict;
use warnings;
 
sub sess_names {
    map { m{\s\d\. ([^.]+?) (?:\.\w+)? \s+}smx } @_;
}
 
# Get list of detached/attached screen sessions and hostname 
my @screen_out=qx(screen -list);
 
my @detached_sessions=sess_names grep {m{\(Detached\)}@screen_out;
my @attached_sessions=sess_names grep {m{\(Attached\)}@screen_out;
 
print <<'EOL' if @detached_sessions;
  + "Reattach first" A screen -d -RR
EOL
 
print <<'EOL';
  + "New Session" A screen
EOL
 
print <<'EOL' if @detached_sessions;
  + "" NoP
EOL
 
print <<"EOL" for @detached_sessions;
  + "$_ (a)" A screen -r "$_"
EOL
 
print <<'EOL' if @attached_sessions;
  + "" NoP
EOL
 
print <<"EOL" for @attached_sessions;
  + "$_ (d)" A screen -d "$_"
EOL