diff options
author | dakkar <dakkar@thenautilus.net> | 2023-05-19 15:28:44 +0100 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2023-05-19 15:28:44 +0100 |
commit | 6d3019737838665f4ff682425191cc6cf8eae319 (patch) | |
tree | c00219348e34e0418d3710daa47da01e5613f898 /scripts/fvwm-screen.pl | |
parent | make sure `FvwmCommandS` is started (diff) | |
parent | fix fvwm-screens (diff) | |
download | fvwm-crystal-6d3019737838665f4ff682425191cc6cf8eae319.tar.gz fvwm-crystal-6d3019737838665f4ff682425191cc6cf8eae319.tar.bz2 fvwm-crystal-6d3019737838665f4ff682425191cc6cf8eae319.zip |
Merge remote-tracking branch 'origin/master' into laptop
Diffstat (limited to 'scripts/fvwm-screen.pl')
-rwxr-xr-x | scripts/fvwm-screen.pl | 28 |
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 |