The pane thing looks nice until you start to use it. There is typically not enough space on the screen to have all useful information visible and then it's simply distracting.
I prefer to use multiple monitors and have terminals on fullscreen. I understand it's not always viable (space, cost etc.) then I still prefer to switch between fullscreen windows than use panes.
The same with code editor. I tried to split windows e.g. to see code side by side, but even if you have your code limited to 80 columns, you may still not be able to see the whole lines, so in the end it's just more faff.
If you switch full windows you can also train your short term memory, as you need to remember the context more and you can focus more.
I usually use panes to do things in the same folder or related to the same purpose but which I want/need in different shells. Possible example is visual comparing files or outputs. Also useful when you run some monitoring in another shell - my recent example was debugging build system rules by running cmake+make in one pane and immediately seeing what options are passed to compiler by running execsnoop in another pane. Or you may find useful small panes with something like `watch grep ...` or `watch df -h` etc.
My tmux setup looks like this: one session - bunch of windows for different purposes (for example, developing different projects), no more than 10 so you can switch between them with digit shortcuts, renamed for convenience - each window may have several panes, usually one is maximized but you can "unmaximize" it and look what was printed in other panes before (so one usage of pane is a temporary buffer for output) or run something there.
> There is typically not enough space on the screen to have all useful information visible and then it's simply distracting.
Most of the time I have two panes open (side-by-side, splitting the screen vertically). This is plenty of space on 23" monitor, and it even feels somewhat empty on 27". Sometimes I hide another plane (C-b z), especially if I need to switch into character mode and copy the contents of the terminal window. Another case when I need to hide other panes is when I need to read logs from journald and some of those have very long lines, and It's just very uncomfortable to have to move the pager left and right.
I also usually have 3-5 windows open. Eg. because I'm logged in as different users (so, I also rename the windows to help remember that).
Ultimately though, two panes is the way to have the editor open in one pane and something that the code written in the editor affects in the other. For example: one pane has Helm charts, another pane has kubectl running with some pre-configured environment and deploying / removing those charts. Or debugging a Python program, where in one pane I have the source and in another I'm running the program and giving instructions to the debugger. So, eg. once the debugger prints the location in the source it's at, you copy it and navigate to that location in another pane to examine the broader context.
> if you have your code limited to 80 columns, you may still not be able to see the whole lines
Are you like on a 13" laptop or something? If that's your working condition, it sucks for you anyways. It's just not a comfortable working environment. You can find a second-hand 23" monitor for a few bucks, sometimes nothing -- people might give it away as long as you collect it from them. And you don't need any super characteristic for programming... so, why not invest a little bit and make your life more comfortable?
I have always thought it was super sexy to have all these panes available with an editor, logs, debugger opened at the same time ; but the reality is that I cannot work with 20 characters columns.
I use a 4k display set to HiDPI (1080 lines) and simply switch between my full-screen panes.
Sometimes I will split my tmux window vertically because I can deal with fewer lines but I never split horizontally.
How big is your screen? What's your resolution? How far away are you sitting?
I'm on a 4K 27" monitor, and I can easily squeeze two columns of code, each 120 characters long, and still have room for my project structure view. If I limited my code to 80 characters per line, I could fit 3 vertical columns.
The pane thing looks nice until you start to use it. There is typically not enough space on the screen to have all useful information visible and then it's simply distracting.
I prefer to use multiple monitors and have terminals on fullscreen. I understand it's not always viable (space, cost etc.) then I still prefer to switch between fullscreen windows than use panes.
The same with code editor. I tried to split windows e.g. to see code side by side, but even if you have your code limited to 80 columns, you may still not be able to see the whole lines, so in the end it's just more faff.
If you switch full windows you can also train your short term memory, as you need to remember the context more and you can focus more.
But each to their own...