Hi, On Thu, Mar 21, 2019 at 23:19 +0100, otheus uibk wrote: > 3. A feature I sorely miss is the ability to trigger an action on > re-attach. As a partial solution, I can exploit the SIGWINCH-on-resize > behavior to do this, but I must pick up the mouse and resize the screen > (horrors!) on my graphical terminal window. The motivation for having this > is to trigger updates to shell environment variables which point to > authentication agents, such as gpg-agent and ssh-agent and X11-forwarding > stuff. If this feature already exists, can someone tell me the earliest > version?
Interesting idea to have screen actually trigger it - I have tackled that environment problem in a similar way, by (mis-)using sigINFO and having a shell alias to trigger it. It's definitely zsh-specific, but should be adaptable. ",," needs to be run before attaching the screen, of course. function ,, () { { local vars='' for a in TERM DISPLAY SSH_AUTH_SOCK SSH_CONNECTION XAUTHORITY ; do if [ -z "${(P)a}" ] ; then echo "unset $a" else echo "$a=\"${(P)a}\"" vars=($vars $a) fi done [ ! -z "$vars" ] && echo "export $vars" } > ~/., kill -INFO `ps auxww| perl -anle '$F[0] eq $ENV{USER} && "@F[10..$#F]" =~ /zsh$/ && "/dev/tty$F[6]" ne "'$TTY'" && print $F[1]'` source ~/., } sigINFOd=0 TRAPINFO () { up=$(tput up 2>/dev/null || tput cuu1 ) if [[ -o zle ]] ; then zle -I if [[ "$sigINFOd" == "1" ]] ; then echo -n $up$up fi . ~/., echo "INFO: TERM=$TERM DISPLAY=$DISPLAY zle<" sigINFOd=1 else if [[ "$sigINFOd" == "1" ]] ; then echo -n $up fi . ~/., echo -n "INFO: TERM=$TERM DISPLAY=$DISPLAY nozle<\r" fi } precmd(){ sigINFOd=0 } CU, Sec -- [ Recovering from a root breakin - someone says to cvsup and make world ] Brandon S. Allbery: Not if cvsup itself has been trojaned. John Polstra: Cool, that would be one of the first code contributions ever for CVSup. :-) _______________________________________________ screen-users mailing list screen-users@gnu.org https://lists.gnu.org/mailman/listinfo/screen-users