Public bug reported:

source package: https://packages.ubuntu.com/en/source/jammy/tmux

this was a bug in tmux 3.2a -- it has since been fixed on tmux master

here is my system information:

```console
$ dpkg -l | grep tmux
ii  tmux                                             3.2a-4build1               
             amd64        terminal multiplexer
$ lsb_release  -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04 LTS
Release:        22.04
Codename:       jammy
```

you can reproduce this pretty easily with:

```bash
tmux -V
tmux new-session -d -x 20 -y 20 bash
tmux send-keys 'tput cols'
tmux send-keys 'Enter'
sleep 1
tmux capture-pane -pt0 | grep -Eo '^[0-9]+'
tmux kill-session
```

on 20.04, I get the following:

```console
$ bash t.sh tmux 3.0a
20
```

on 22.04 I get the following (my parent window is 118 wide):

```console
$ bash t.sh
tmux 3.2a
118
```


I've gone ahead and bisected to find the patch that's needed to fix this -- it 
was originally committed here: 
https://github.com/tmux/tmux/commit/df3fe2aa72da0555106c6187e750418f0e59d901

applying that to the packaging of 3.2a should be pretty straightforward,
I've verified that applying it fixes the problem:

```console
$ git checkout 3.2a
$ git cherry-pick df3fe2aa72da0555106c6187e750418f0e59d901
$ ./autogen.sh >& /dev/null && ./configure --prefix=$PWD/prefix >& /dev/null && 
make -j5 >& /dev/null && make install >& /dev/null && 
PATH=/tmp/tmux/prefix/bin:$PATH bash ../t.sh
tmux 3.2a
20
```

so all that should be needed is to apply that patch:

```diff
commit df3fe2aa72da0555106c6187e750418f0e59d901 
(refs/bisect/skip-df3fe2aa72da0555106c6187e750418f0e59d901)
Author: Nicholas Marriott <nicholas.marri...@gmail.com>
Date:   Tue Jul 13 10:38:57 2021 +0000

    Only use client for sizing when not detached, GitHub issue 2772.

diff --git a/cmd-new-session.c b/cmd-new-session.c
index 666aeaac..033c707f 100644
--- a/cmd-new-session.c
+++ b/cmd-new-session.c
@@ -280,7 +280,8 @@ cmd_new_session_exec(struct cmd *self, struct cmdq_item 
*item)
        memset(&sc, 0, sizeof sc);
        sc.item = item;
        sc.s = s;
-       sc.tc = c;
+       if (!detached)
+               sc.tc = c;
 
        sc.name = args_get(args, 'n');
        sc.argc = args->argc;

```

thanks!

** Affects: tmux (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1976110

Title:
  `tmux -d -x ... -y ...` does not respect sizing

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/tmux/+bug/1976110/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to