diff options
author | dakkar <dakkar@thenautilus.net> | 2023-05-19 15:26:52 +0100 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2023-05-19 15:26:52 +0100 |
commit | af29e909edc4faaec4f581c1f818ec7ddd1cfb91 (patch) | |
tree | df0ccbceb3ff75981e3752ac2df2808541e151bf | |
parent | make sure `FvwmCommandS` is started (diff) | |
download | fvwm-crystal-af29e909edc4faaec4f581c1f818ec7ddd1cfb91.tar.gz fvwm-crystal-af29e909edc4faaec4f581c1f818ec7ddd1cfb91.tar.bz2 fvwm-crystal-af29e909edc4faaec4f581c1f818ec7ddd1cfb91.zip |
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
-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 |