From af29e909edc4faaec4f581c1f818ec7ddd1cfb91 Mon Sep 17 00:00:00 2001 From: dakkar Date: Fri, 19 May 2023 15:26:52 +0100 Subject: fix fvwm-screens * use pids for `-r`, but still show names * use `StartTerminal` instead of `A` because `A` doesn't seem to work with arguments?? * `AddToMenu` because the rest of crystal does that now --- scripts/fvwm-screen.pl | 28 ++++++++++++++-------------- 1 file 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 -- cgit v1.2.3