aboutsummaryrefslogtreecommitdiff
path: root/scripts/fvwm-screen.pl
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/fvwm-screen.pl')
-rwxr-xr-xscripts/fvwm-screen.pl28
1 files changed, 14 insertions, 14 deletions
diff --git a/scripts/fvwm-screen.pl b/scripts/fvwm-screen.pl
index eea4a3c..d462b29 100755
--- a/scripts/fvwm-screen.pl
+++ b/scripts/fvwm-screen.pl
@@ -3,35 +3,35 @@ use strict;
use warnings;
sub sess_names {
- map { m{^ \s* \d+ \. ([^.]+?) (?:\.\w+)? \s+}smx } @_;
+ map { m{^ \s* (\d+) \. (.+?) \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;
+my %detached_sessions=reverse sess_names grep {m{\(Detached\)}} @screen_out;
+my %attached_sessions=reverse sess_names grep {m{\(Attached\)}} @screen_out;
-print <<'EOL' if @detached_sessions;
- + "Reattach first" A screen -d -RR
+print <<'EOL' if %detached_sessions;
+AddToMenu /Screens "Reattach first" StartTerminal screen -d -RR
EOL
print <<'EOL';
- + "New Session" A screen
+AddToMenu /Screens "New Session" StartTerminal screen
EOL
-print <<'EOL' if @detached_sessions;
- + "" NoP
+print <<'EOL' if %detached_sessions;
+AddToMenu /Screens "" NoP
EOL
-print <<"EOL" for @detached_sessions;
- + "$_ (a)" A screen -r "$_"
+print <<"EOL" for sort keys %detached_sessions;
+AddToMenu /Screens "$_ (a)" StartTerminal screen -r "$detached_sessions{$_}"
EOL
-print <<'EOL' if @attached_sessions;
- + "" NoP
+print <<'EOL' if %attached_sessions;
+AddToMenu /Screens "" NoP
EOL
-print <<"EOL" for @attached_sessions;
- + "$_ (d)" A screen -d "$_"
+print <<"EOL" for sort keys %attached_sessions;
+AddToMenu /Screens "$_ (d)" StartTerminal screen -d "$attached_sessions{$_}"
EOL