commit 49dd7acfe4f2a7cc2d693cef778069ef0c6ed05e
parent 1a0a6ea394212394806aa1e64c8a970c52467933
Author: Jan Pobrislo <ccx@webprojekty.cz>
Date: Wed, 16 Dec 2020 04:56:25 +0100
Factor out repeated pathnames.
Diffstat:
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/bin/zshaskpass_lock b/bin/zshaskpass_lock
@@ -23,6 +23,7 @@ typeset -gA fds
#fi
if [[ $TTY == /dev/tty[1234] ]]; then
+ typeset -g X
X=$[ ${TTY#/dev/tty} + 4 ]
fi
@@ -42,14 +43,15 @@ coproc_args=(
#"$@"
)
if [[ -n $X ]]; then
- coproc_args+=( tail -F /run/containers/xsession.$X.$USER/run/uncaught-logs/current )
- typeset -g plumber_fifo terminal_exec_socket terminal_el
- plumber_fifo=/run/containers/xsession.$X.$USER/run/plumber_fifo
- # exec_socket=$HOME/chome/xsession.$[ ${TTY#/dev/tty} + 4 ]/exec/socket
- terminal_exec_socket=/run/containers/xsession.$[ ${TTY#/dev/tty} + 4 ].$USER/exec/urxvt
+ typeset -g plumber_fifo terminal_exec_socket terminal_el x_container_service x_container_tmpfs
+ x_container_tmpfs=/run/containers/xsession.$X.$USER
+ x_container_service=/run/service/container.xsession.$X.$USER
+ plumber_fifo=$x_container_tmpfs/run/plumber_fifo
+ terminal_exec_socket=$x_container_tmpfs/exec/urxvt
#terminal_el="redirfd -w 1 /dev/null redirfd -w 2 /dev/null s6-sudo ${(qqq)${exec_socket:A}} fdmove 3 0 redirfd -r 0 /dev/null background { urxvt -pty-fd 3 }"
terminal_el="redirfd -w 1 /dev/null redirfd -w 2 /dev/null s6-sudo ${(qqq)terminal_exec_socket:A}"
terminal_env=rxvt-unicode # the TERM variable used
+ coproc_args+=( tail -F $x_container_tmpfs/run/uncaught-logs/current )
else
coproc_args+=( tail -F /run/user/$USER.logs/current )
fi
@@ -74,9 +76,9 @@ logincap() {
lock() {
ssh-add -D || die "Error removing identities"
- s6-svc -o -wu -T 3000 /run/containers/xsession.$X.$USER/run/service/screen-locker/ || "Failed to bring up screen locker"
- s6-svstat /run/containers/xsession.$X.$USER/run/service/screen-locker/
- s6-svlisten1 -d /run/containers/xsession.$X.$USER/run/service/screen-locker/ zsh -c "read -sk 1 $'?Session locked, press enter to unlock.\n' || exit 98; until ssh-add -c; do sleep 2; read -sk 1 $'?\nUnlock failed, press enter to try again.\n' || exit 98; done; if ssh-add -l >/dev/null; then printf '%s\n' 'Success, stopping screen locker'; s6-svc -d '/run/containers/xsession.$X.$USER/run/service/screen-locker/'; fi"
+ s6-svc -o -wu -T 3000 $x_container_tmpfs/run/service/screen-locker/ || "Failed to bring up screen locker"
+ s6-svstat $x_container_tmpfs/run/service/screen-locker/
+ s6-svlisten1 -d $x_container_tmpfs/run/service/screen-locker/ zsh -c "read -sk 1 $'?Session locked, press enter to unlock.\n' || exit 98; until ssh-add -c; do sleep 2; read -sk 1 $'?\nUnlock failed, press enter to try again.\n' || exit 98; done; if ssh-add -l >/dev/null; then printf '%s\n' 'Success, stopping screen locker'; s6-svc -d '$x_container_tmpfs/run/service/screen-locker/'; fi"
ssh-add -l >/dev/null || die "Failed to load SSH agent identities (screen locker died?), exiting."
}
@@ -107,11 +109,9 @@ cmd() {
('c '*)
logincap ${1#c };;
(x)
- local X
- X=$[ ${TTY#/dev/tty} + 4 ]
logincap X\ $X
- s6-svc -wu -o /run/service/container.xsession.$X.$USER
- s6-svstat /run/service/container.xsession.$X.$USER
+ s6-svc -wu -o $x_container_service
+ s6-svstat $x_container_service
setup-plumber-listener
;;
(off|poweroff)
@@ -130,7 +130,7 @@ cmd() {
lock
;;
(exit)
- true >/run/user/$USER/X$[ ${TTY#/dev/tty} + 4 ]/fifo
+ true >/run/user/$USER/X$X/fifo
keep_running=0
;;
(shell)
@@ -165,8 +165,8 @@ read-plumber-message() {
logincap chvt X
;;
(exit)
- true >/run/user/$USER/X$[ ${TTY#/dev/tty} + 4 ]/fifo
- s6-svc -wd -di -T 1 /run/service/container.xsession.$X.$USER
+ true >/run/user/$USER/X$X/fifo
+ s6-svc -wd -di -T 1 $x_container_service
s6-svc -wd -d -T 1 /run/service/X$X
keep_running=0
;;