aboutsummaryrefslogtreecommitdiff
path: root/cmd-new-session.c
Commit message (Collapse)AuthorAge
* Replace %% in command lists (by copying them) for template arguments ,nicm2021-08-27
| | | | | this means they can be used with {} as well. Also make argument processing from an existing vector preserve commands. GitHub issue 2858.
* Rename a member to match what it will be in future.nicm2021-08-21
|
* Add args parsing callback for some future work, currently unused.nicm2021-08-21
|
* Hide struct args behind a couple of accessor functions.nicm2021-08-20
|
* Expose args_value struct (will be needed soon) and add some missing frees.nicm2021-08-20
|
* Change focus to be driven by events rather than walking all panes at endnicm2021-08-13
| | | | | of event loop, this way the ordering of in and out can be enforced. GitHub issue 2808.
* Only use client for sizing when not detached, GitHub issue 2772.nicm2021-07-13
|
* Forbid empty session names, GitHub issue 2758.nicm2021-07-06
|
* Include current client in size calculation for new sessions, GitHubnicm2021-06-10
| | | | issue 2662.
* Instead of sending all data to control mode clients as fast as possible,nicm2020-06-01
| | | | | | add a limit of how much data will be sent to the client and try to use it for panes with some degree of fairness. GitHub issue 2217, with George Nachman.
* Now the tty has a pointer back to the client there is no point (and anicm2020-05-24
| | | | bit confusing) in it keeping a copy of the fd as well. Remove it.
* Change the existing client flags for control mode to apply for anynicm2020-05-16
| | | | | | | | | | | | | | | | client, use the same mechanism for the read-only flag and add an ignore-size flag. refresh-client -F has become -f (-F stays for backwards compatibility) and attach-session and switch-client now have -f flags also. A new format "client_flags" lists the flags and is shown by list-clients by default. This separates the read-only flag from "ignore size" behaviour (new ignore-size) flag - both behaviours are useful in different circumstances. attach -r and switchc -r remain and set or toggle both flags together.
* Add -e for new-session to set environment variables.nicm2020-05-16
|
* Instead of forbidding invalid session names, sanitize them like windownicm2020-05-16
| | | | names.
* Make client -c and -t handling common in cmd-queue.c and try to benicm2020-04-13
| | | | | clearer about whether the client is the target client (must have a session) or not.
* When adding a list of commands to the queue, instead of automaticallynicm2020-04-13
| | | | | | | creating a new state for each group of commands, require the caller to create one and use it for all the commands in the list. This means the current target works even with list with multiple groups (which can happen if they are defined with newlines).
* Move cmdq_state into cmd-queue.c.nicm2020-04-13
|
* Rename cmdq_shared to cmdq_state which will better reflect what it isnicm2020-04-13
| | | | (going to be) used for.
* Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make itsnicm2020-04-13
| | | | use more clearly defined and preparation for some future work).
* Make struct cmd local to cmd.c and move it out of tmux.h.nicm2020-04-13
|
* Tweak how the default size is worked out so it is more obvious.nicm2020-04-09
|
* Use new window and new pane as well for -P to new-session or new-window.nicm2020-04-03
|
* Change new-session -A without a session name (that is, no -s optionnicm2019-11-14
| | | | | also) to attach to the best existing session like attach-session rather than creating a new one.
* Add a "latest" window-size option which tries to size windows based onnicm2019-09-19
| | | | | the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
* Add new-session -X and attach-session -x to send SIGHUP to parent whennicm2019-06-03
| | | | | detaching (like detach-client -P). From Colin Watson in GitHub issue 1773.
* If only one of -x or -y is given, use the calculated size for thenicm2019-06-01
| | | | other. Pointed out by Ben Boeckel.
* Initialize default size variables, from Thomas Adam.nicm2019-05-17
|
* Merge hooks into options and make each one an array option. This allowsnicm2019-04-26
| | | | | | | multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
* Break new window and pane creation common code from various commands andnicm2019-04-17
| | | | window.c into a separate file spawn.c.
* Fix resizing of control clients, should be ignored until SIZECHANGED flag set.nicm2019-03-12
|
* Support for windows larger than visible on the attached client. This hasnicm2018-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | been a limitation for a long time. There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed. The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before. If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right. Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual). The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest. For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing.. If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session. The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders. The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
* Tweak previous - check for a NULL client and simplify manual text.nicm2018-06-08
|
* Make server_client_get_cwd used (almost) everywhere we need to work outnicm2018-05-24
| | | | | the cwd, and do not fall back to "." as it is pretty useless. GitHub issue 1331.
* Expand formats in window and session names.nicm2018-03-01
|
* Pass flags into cmd_find_from_* to fix prefer-unattached, reported bynicm2017-08-30
| | | | Thomas Sattler.
* Add -c for respawn-pane and respawn-window, from J Raynor.nicm2017-07-21
|
* Change so that sessions created detached (-d or no client) are alwaysnicm2017-05-28
| | | | | 80x24 and the status line is not applied until they attach. Also make -x and -y work for control clients whether the session is detached or not.
* new -A should use the session name.nicm2017-04-22
|
* Get rid of the extra layer of flags and cmd_prepare() and just store thenicm2017-04-22
| | | | | | CMD_FIND_* flags in the cmd_entry and call it for the command. Commands with special requirements call it themselves and update the target for hooks to use.
* Mouse bindings and hooks set up an initial current state when running anicm2017-04-22
| | | | | | | | | | | | | | | command. This is used for the session, window and pane for all commands in the command sequence if there is no -t or -s. However, using it for all commands in the command sequence means that if the active pane or current session is changed, subsequent commands still use the previous state. So make commands which explicitly change the current state (such as neww and selectp) update it themselves for later commands. Commands which may invalidate the state (like killp) are already OK because an invalid state will be ignored. Also fill in the current state for all key bindings rather than just the mouse, so that any omissions are easier to spot.
* Store state shared between multiple commands in the queue in a sharednicm2017-04-21
| | | | structure.
* Add a helper function for the most common format_create/defaults/expandnicm2017-03-08
| | | | pattern.
* Instead of numbering session groups, give them a name which may be givennicm2017-02-09
| | | | | to -t instead of a target session. Also allow them to contain only one session.
* Cancel key table when switching session, unless the key is going tonicm2017-02-06
| | | | repeat. Reported by Amos Bird.
* Add a window or pane id "tag" to each format tree and use it to separatenicm2017-02-03
| | | | | | jobs, this means that if the same job is used for different windows or panes (for example in pane-border-format), it will be run separately for each pane.
* Do not clear the key table when changing session on a client, so thatnicm2017-01-28
| | | | switch-client and friends work with bind -n.
* Make update-environment an array as well.nicm2017-01-24
|
* Make options_get_string return const string.nicm2017-01-13
|
* Do not stop dragging when the wheel is pressed, from Artem Fokin.nicm2016-11-16
|
* Move session-create hook out of session_create so it works with grouped ↵nicm2016-10-19
| | | | sessions.