Instead of passing stdin/stdout/stderr file descriptors over imsg and
handling them in the server, handle them in the client and pass buffers
over imsg. This is much tidier for some upcoming changes and the
performance hit isn't critical.

The tty fd is still passed to the server as before.

This bumps the tmux protocol version so new clients and old servers are
incompatible.
6 files changed
tree: 03e87bbf9af9f6e8a957caedad6ec1b37f306e98
  1. Makefile
  2. arguments.c
  3. array.h
  4. attributes.c
  5. cfg.c
  6. client.c
  7. clock.c
  8. cmd-attach-session.c
  9. cmd-bind-key.c
  10. cmd-break-pane.c
  11. cmd-capture-pane.c
  12. cmd-choose-buffer.c
  13. cmd-choose-client.c
  14. cmd-choose-session.c
  15. cmd-choose-window.c
  16. cmd-clear-history.c
  17. cmd-clock-mode.c
  18. cmd-command-prompt.c
  19. cmd-confirm-before.c
  20. cmd-copy-mode.c
  21. cmd-delete-buffer.c
  22. cmd-detach-client.c
  23. cmd-display-message.c
  24. cmd-display-panes.c
  25. cmd-find-window.c
  26. cmd-has-session.c
  27. cmd-if-shell.c
  28. cmd-join-pane.c
  29. cmd-kill-pane.c
  30. cmd-kill-server.c
  31. cmd-kill-session.c
  32. cmd-kill-window.c
  33. cmd-link-window.c
  34. cmd-list-buffers.c
  35. cmd-list-clients.c
  36. cmd-list-commands.c
  37. cmd-list-keys.c
  38. cmd-list-panes.c
  39. cmd-list-sessions.c
  40. cmd-list-windows.c
  41. cmd-list.c
  42. cmd-load-buffer.c
  43. cmd-lock-server.c
  44. cmd-move-window.c
  45. cmd-new-session.c
  46. cmd-new-window.c
  47. cmd-paste-buffer.c
  48. cmd-pipe-pane.c
  49. cmd-refresh-client.c
  50. cmd-rename-session.c
  51. cmd-rename-window.c
  52. cmd-resize-pane.c
  53. cmd-respawn-pane.c
  54. cmd-respawn-window.c
  55. cmd-rotate-window.c
  56. cmd-run-shell.c
  57. cmd-save-buffer.c
  58. cmd-select-layout.c
  59. cmd-select-pane.c
  60. cmd-select-window.c
  61. cmd-send-keys.c
  62. cmd-send-prefix.c
  63. cmd-server-info.c
  64. cmd-set-buffer.c
  65. cmd-set-environment.c
  66. cmd-set-option.c
  67. cmd-show-buffer.c
  68. cmd-show-environment.c
  69. cmd-show-messages.c
  70. cmd-show-options.c
  71. cmd-source-file.c
  72. cmd-split-window.c
  73. cmd-start-server.c
  74. cmd-string.c
  75. cmd-suspend-client.c
  76. cmd-swap-pane.c
  77. cmd-swap-window.c
  78. cmd-switch-client.c
  79. cmd-unbind-key.c
  80. cmd-unlink-window.c
  81. cmd.c
  82. colour.c
  83. environ.c
  84. format.c
  85. grid-utf8.c
  86. grid-view.c
  87. grid.c
  88. input-keys.c
  89. input.c
  90. job.c
  91. key-bindings.c
  92. key-string.c
  93. layout-custom.c
  94. layout-set.c
  95. layout.c
  96. log.c
  97. mode-key.c
  98. names.c
  99. notify.c
  100. options-table.c
  101. options.c
  102. paste.c
  103. procname.c
  104. resize.c
  105. screen-redraw.c
  106. screen-write.c
  107. screen.c
  108. server-client.c
  109. server-fn.c
  110. server-window.c
  111. server.c
  112. session.c
  113. signal.c
  114. status.c
  115. tmux.1
  116. tmux.c
  117. tmux.h
  118. tty-acs.c
  119. tty-keys.c
  120. tty-term.c
  121. tty.c
  122. utf8.c
  123. window-choose.c
  124. window-clock.c
  125. window-copy.c
  126. window.c
  127. xmalloc.c
  128. xterm-keys.c