aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2023-05-19 15:28:44 +0100
committerdakkar <dakkar@thenautilus.net>2023-05-19 15:28:44 +0100
commit6d3019737838665f4ff682425191cc6cf8eae319 (patch)
treec00219348e34e0418d3710daa47da01e5613f898
parentmake sure `FvwmCommandS` is started (diff)
parentfix fvwm-screens (diff)
downloadfvwm-crystal-6d3019737838665f4ff682425191cc6cf8eae319.tar.gz
fvwm-crystal-6d3019737838665f4ff682425191cc6cf8eae319.tar.bz2
fvwm-crystal-6d3019737838665f4ff682425191cc6cf8eae319.zip
Merge remote-tracking branch 'origin/master' into laptop
-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