Sync OpenBSD patchset 716:

Fix problems with window sizing seen by Raghavendra D Prabhu when
starting tmux from .xinitrc.

One of the very few things the server relies on the client for now is to
pass through a message on SIGWINCH, but there is a condition where
potentially a SIGWINCH may be lost during the transition from unattached
(main.c) to attached (client.c). So trigger a size change immediately
after the client installs its SIGWINCH handler.

Also, when the terminal is resized, reset the scroll region and cursor
position. Previously, we were clearing our saved idea of these, but in
fact some terminals do not reset them on resize, so this caused problems
during redraw.

While here make a resize to the same size not cause a redraw and rename
the tmux.out output log file to include the tmux PID.

4 files changed
tree: d806554a296e7eff113968f86206abd35f83bf9b
  1. CHANGES
  2. FAQ
  3. GNUmakefile
  4. Makefile
  5. NOTES
  6. TODO
  7. array.h
  8. attributes.c
  9. cfg.c
  10. client.c
  11. clock.c
  12. cmd-attach-session.c
  13. cmd-bind-key.c
  14. cmd-break-pane.c
  15. cmd-capture-pane.c
  16. cmd-choose-client.c
  17. cmd-choose-session.c
  18. cmd-choose-window.c
  19. cmd-clear-history.c
  20. cmd-clock-mode.c
  21. cmd-command-prompt.c
  22. cmd-confirm-before.c
  23. cmd-copy-buffer.c
  24. cmd-copy-mode.c
  25. cmd-delete-buffer.c
  26. cmd-detach-client.c
  27. cmd-display-message.c
  28. cmd-display-panes.c
  29. cmd-find-window.c
  30. cmd-generic.c
  31. cmd-has-session.c
  32. cmd-if-shell.c
  33. cmd-join-pane.c
  34. cmd-kill-pane.c
  35. cmd-kill-server.c
  36. cmd-kill-session.c
  37. cmd-kill-window.c
  38. cmd-last-window.c
  39. cmd-link-window.c
  40. cmd-list-buffers.c
  41. cmd-list-clients.c
  42. cmd-list-commands.c
  43. cmd-list-keys.c
  44. cmd-list-panes.c
  45. cmd-list-sessions.c
  46. cmd-list-windows.c
  47. cmd-list.c
  48. cmd-load-buffer.c
  49. cmd-lock-client.c
  50. cmd-lock-server.c
  51. cmd-lock-session.c
  52. cmd-move-window.c
  53. cmd-new-session.c
  54. cmd-new-window.c
  55. cmd-next-layout.c
  56. cmd-next-window.c
  57. cmd-paste-buffer.c
  58. cmd-pipe-pane.c
  59. cmd-previous-layout.c
  60. cmd-previous-window.c
  61. cmd-refresh-client.c
  62. cmd-rename-session.c
  63. cmd-rename-window.c
  64. cmd-resize-pane.c
  65. cmd-respawn-window.c
  66. cmd-rotate-window.c
  67. cmd-run-shell.c
  68. cmd-save-buffer.c
  69. cmd-select-layout.c
  70. cmd-select-pane.c
  71. cmd-select-window.c
  72. cmd-send-keys.c
  73. cmd-send-prefix.c
  74. cmd-server-info.c
  75. cmd-set-buffer.c
  76. cmd-set-environment.c
  77. cmd-set-option.c
  78. cmd-set-window-option.c
  79. cmd-show-buffer.c
  80. cmd-show-environment.c
  81. cmd-show-messages.c
  82. cmd-show-options.c
  83. cmd-show-window-options.c
  84. cmd-source-file.c
  85. cmd-split-window.c
  86. cmd-start-server.c
  87. cmd-string.c
  88. cmd-suspend-client.c
  89. cmd-swap-pane.c
  90. cmd-swap-window.c
  91. cmd-switch-client.c
  92. cmd-unbind-key.c
  93. cmd-unlink-window.c
  94. cmd.c
  95. colour.c
  96. compat.h
  97. compat/
  98. configure
  99. environ.c
  100. examples/
  101. grid-utf8.c
  102. grid-view.c
  103. grid.c
  104. input-keys.c
  105. input.c
  106. job.c
  107. key-bindings.c
  108. key-string.c
  109. layout-set.c
  110. layout-string.c
  111. layout.c
  112. log.c
  113. mode-key.c
  114. names.c
  115. options.c
  116. osdep-darwin.c
  117. osdep-freebsd.c
  118. osdep-linux.c
  119. osdep-netbsd.c
  120. osdep-openbsd.c
  121. osdep-sunos.c
  122. osdep-unknown.c
  123. paste.c
  124. resize.c
  125. screen-redraw.c
  126. screen-write.c
  127. screen.c
  128. server-client.c
  129. server-fn.c
  130. server-window.c
  131. server.c
  132. session.c
  133. signal.c
  134. status.c
  135. tmux.1
  136. tmux.c
  137. tmux.h
  138. tools/
  139. tty-keys.c
  140. tty-term.c
  141. tty.c
  142. utf8.c
  143. window-choose.c
  144. window-clock.c
  145. window-copy.c
  146. window.c
  147. www/
  148. xmalloc.c
  149. xterm-keys.c