mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 05:21:10 +00:00
Remove the internal tmux locking and instead detach each client and run the
command specified by a new option "lock-command" (by default "lock -np") in each client. This means each terminal has to be unlocked individually but simplifies the code and allows the system password to be used to unlock. Note that the set-password command is gone, so it will need to be removed from configuration files, and the -U command line flag has been removed. This is the third protocol version change so again it is best to stop the tmux server before upgrading.
This commit is contained in:
10
client.c
10
client.c
@ -242,6 +242,7 @@ client_msg_dispatch(struct client_ctx *cctx)
|
||||
{
|
||||
struct imsg imsg;
|
||||
struct msg_print_data printdata;
|
||||
struct msg_lock_data lockdata;
|
||||
ssize_t n, datalen;
|
||||
|
||||
for (;;) {
|
||||
@ -295,6 +296,15 @@ client_msg_dispatch(struct client_ctx *cctx)
|
||||
|
||||
client_suspend();
|
||||
break;
|
||||
case MSG_LOCK:
|
||||
if (datalen != sizeof lockdata)
|
||||
fatalx("bad MSG_LOCK size");
|
||||
memcpy(&lockdata, imsg.data, sizeof lockdata);
|
||||
|
||||
lockdata.cmd[(sizeof lockdata.cmd) - 1] = '\0';
|
||||
system(lockdata.cmd);
|
||||
client_write_server(cctx, MSG_UNLOCK, NULL, 0);
|
||||
break;
|
||||
default:
|
||||
fatalx("unexpected message");
|
||||
}
|
||||
|
Reference in New Issue
Block a user