aboutsummaryrefslogtreecommitdiff
path: root/cmd-split-window.c
Commit message (Collapse)AuthorAge
...
| * Add -F format to new-window and split-window to use with the -P flag,Nicholas Marriott2012-03-04
| | | | | | | | from George Nachman.
| * Add move-pane command (like join-pane but allows the same window). AlsoNicholas Marriott2012-03-03
| | | | | | | | | | -b flag to join-pane and move-pane to place the pane to the left or above. From George Nachman.
| * Provide defined ways to set the various default-path possibilities: ~Nicholas Marriott2012-01-31
| | | | | | | | | | | | | | | | | | for home directory, . for server start directory, - for session start directory and empty for the pane's working directory (the default). All can also be used as part of a relative path (eg -/foo). Also provide -c flags to neww and splitw to override default-path setting. Based on a diff from sthen. ok sthen
| * Add some const and fix a warning.Nicholas Marriott2012-01-20
| |
| * Change the way the working directory for new processes is discovered. IfNicholas Marriott2011-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | default-path isn't empty, it is used. Otherwise: 1) If tmux neww is run from the command line, the working directory of the client is used. 2) Otherwise sysctl KERN_PROC_CWD is used to retrieve the current working directory of the process in the active pane. 3) If that fails, the directory where the session was created is used. Support code by Romain Francois, OpenBSD specific bits by me. Note this requires a recent userland and kernel with KERN_PROC_CWD.
| * Make window_pane_index work the same as window_index, from Ben Boeckel.Nicholas Marriott2011-11-15
| |
| * Plug memory leak, from Tiago Cunha.Nicholas Marriott2011-08-30
| |
| * Size on split-window is -l not -s. Doh.Nicholas Marriott2011-02-10
| |
| * Clean up and simplify tmux command argument parsing.Nicholas Marriott2011-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Originally, tmux commands were parsed in the client process into a struct with the command data which was then serialised and sent to the server to be executed. The parsing was later moved into the server (an argv was sent from the client), but the parse step and intermediate struct was kept. This change removes that struct and the separate parse step. Argument parsing and printing is now common to all commands (in arguments.c) with each command left with just an optional check function (to validate the arguments at parse time), the exec function and a function to set up any key bindings (renamed from the old init function). This is overall more simple and consistent. There should be no changes to any commands behaviour or syntax although as this touches every command please watch for any unexpected changes.
| * Add a -P option to new-window and split-window to print the new windowNicholas Marriott2011-01-01
| | | | | | | | or pane index in target form (useful to pass it into other commands).
| * Store the current working directory in the session, change the default-pathNicholas Marriott2010-06-27
| | | | | | | | | | option to default to empty and make that mean that the stored session CWD is used.
| * New command, join-pane, to split and move an existing pane into the space (likeNicholas Marriott2010-01-07
| | | | | | | | splitw then movep, or the reverse of breakp).
| * Use the specified pane for size calculations. Doh.Nicholas Marriott2010-01-07
| |
| * Change split-window to accept a pane target (it should be split-pane butNicholas Marriott2010-01-07
| | | | | | | | renaming the command would be annoying).
| * Massive spaces->tabs and trailing whitespace cleanup, hopefully for the lastNicholas Marriott2009-12-03
| | | | | | | | | | time now I've configured emacs to make them displayed in really annoying colours...
| * When -h and -p are given to split-window, calculate the percentage size usingNicholas Marriott2009-11-20
| | | | | | | | the width instead of the height.
| * Get rid of the ugly CMD_CHFLAG macro and use a const string (eg "dDU") in theNicholas Marriott2009-11-13
| | | | | | | | command entry structs and a couple of functions to check/set the flags.
| * Use KEYC_NONE constant instead of 0 on init.Nicholas Marriott2009-09-21
| |
| * Rather than constructing an entire termios struct from ttydefaults.h, just letNicholas Marriott2009-09-16
| | | | | | | | | | forkpty do it and then alter the bits that should be changed after fork. A little neater and more portable.
| * When using tmux as a login shell, there is currently no way to specify a shellNicholas Marriott2009-09-01
| | | | | | | | | | | | | | | | | | | | | | | | to be used as a login shell inside tmux, so add a default-shell session option. This sets the shell invoked as a login shell when the default-command option is empty. The default option value is whichever of $SHELL, getpwuid(getuid())'s pw_shell or /bin/sh is valid first. Based on a diff from martynas@, changed by me to be a session option rather than a window option.
| * Print -l and -p when showing command, pointed out by Tiago Cunha.Nicholas Marriott2009-08-25
| |
| * When creating a new session from the command-line where there is an externalNicholas Marriott2009-08-13
| | | | | | | | | | terminal, copy the termios(4) special characters and use them for new windows created in the new session. Suggested by Theo.
| * Infrastructure and commands to manage the environment for processes startedNicholas Marriott2009-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | within tmux. There is a global environment, copied from the external environment when the server is started and each sesssion has an (initially empty) session environment which overrides it. New commands set-environment and show-environment manipulate or display the environments. A new session option, update-environment, is a space-separated list of variables which are updated from the external environment into the session environment every time a new session is created - the default is DISPLAY.
| * Make all messages sent between the client and server fixed size.Nicholas Marriott2009-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the first of two changes to make the protocol more resilient and less sensitive to other changes in the code, particularly with commands. The client now packs argv into a buffer and sends it to the server for parsing, rather than doing it itself and sending the parsed command data. As a side-effect this also removes a lot of now-unused command marshalling code. Mixing a server without this change and a client with or vice versa will cause tmux to hang or crash, please ensure that tmux is entirely killed before upgrading.
| * window_add_pane cannot fail, so remove the unused cause argument and don'tNicholas Marriott2009-07-22
| | | | | | | | bother to check for a NULL return.
| * Improved layout code.Nicholas Marriott2009-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each window now has a tree of layout cells associated with it. In this tree, each node is either a horizontal or vertical cell containing a list of other cells running from left-to-right or top-to-bottom, or a leaf cell which is associated with a pane. The major functional changes are: - panes may now be split arbitrarily both horizontally (splitw -h, C-b %) and vertically (splitw -v, C-b "); - panes may be resized both horizontally and vertically (resizep -L/-R/-U/-D, bound to C-b left/right/up/down and C-b M-left/right/up/down); - layouts are now applied and then may be modified by resizing or splitting panes, rather than being fixed and reapplied when the window is resized or panes are added; - manual-vertical layout is no longer necessary, and active-only layout is gone (but may return in future); - the main-pane layouts now reduce the size of the main pane to fit all panes if possible. Thanks to all who tested.
| * Having fixed flags for single-character getopt options is a bit hard toNicholas Marriott2009-07-13
| | | | | | | | | | | | | | | | | | maintain and is only going to get worse as more are used. So instead, add a new uint64_t member to cmd_entry which is a bitmask of upper and lowercase options accepted by the command. This means new single character options can be used without the need to add it explicitly to the list.
| * The fix for default-path (use target session options instead of global options)Nicholas Marriott2009-07-07
| | | | | | | | is required here as well, doh.
| * lines variable can be -1 (to be ignored), so should be signed. Found by lint.Nicholas Marriott2009-06-25
| |
| * Import tmux, a terminal multiplexor allowing (among other things) a singleNicholas Marriott2009-06-01
| | | | | | | terminal to be switched between several different windows and programs displayed on one terminal be detached from one terminal and moved to another. ok deraadt pirofti
* Sync OpenBSD patchset 1162:Tiago Cunha2012-08-31
| | | | | | Use a separate define for each default format template and strip clutter from the choose-tree defaults.
* Sync OpenBSD patchset 1151:Tiago Cunha2012-07-11
| | | | | | | | Make command exec functions return an enum rather than -1/0/1 values and add a new value to mean "leave client running but don't attach" to fix problems with using some commands in a command sequence. Most of the work by Thomas Adam, problem reported by "jspenguin" on SF bug 3535531.
* Sync OpenBSD patchset 1150:Tiago Cunha2012-07-11
| | | | | xfree is not particularly helpful, remove it. From Thomas Adam.
* Sync OpenBSD patchset 1119:Tiago Cunha2012-05-22
| | | | | | Switch all of the various choose- and list- commands over to the format infrastructure, from Thomas Adam.
* Sync OpenBSD patchset 1069:Tiago Cunha2012-03-18
| | | | | | Add notify hooks for various events, the functions are currently empty stubs but will be filled in for control mode later. From George Nachman.
* Sync OpenBSD patchset 1042:Tiago Cunha2012-03-07
| | | | | free -> xfree.
* Sync OpenBSD patchset 1041:Tiago Cunha2012-03-07
| | | | | | Add -F format to new-window and split-window to use with the -P flag, from George Nachman.
* Sync OpenBSD patchset 1035:Tiago Cunha2012-03-03
| | | | | | | Add move-pane command (like join-pane but allows the same window). Also -b flag to join-pane and move-pane to place the pane to the left or above. From George Nachman.
* Sync OpenBSD patchset 1021:Tiago Cunha2012-02-02
| | | | | | | | | | | Provide defined ways to set the various default-path possibilities: ~ for home directory, . for server start directory, - for session start directory and empty for the pane's working directory (the default). All can also be used as part of a relative path (eg -/foo). Also provide -c flags to neww and splitw to override default-path setting. Based on a diff from sthen. ok sthen
* Sync OpenBSD patchset 1002:Tiago Cunha2012-01-20
| | | | | Add some const and fix a warning.
* Change the way the working directory for new processes is discovered. IfNicholas Marriott2011-12-09
| | | | | | | | | | | | | | | | | default-path isn't empty, it is used. Otherwise: 1) If tmux neww is run from the command line, the working directory of the client is used. 2) Otherwise use some platform specific code to retrieve the current working directory of the process in the active pane. 3) If that fails, the directory where the session was created is used. Idea and support code, Linux, Solaris, FreeBSD bits by Romain Francoise, OpenBSD bits by me.
* Sync OpenBSD patchset 979:Tiago Cunha2011-11-25
| | | | | Make window_pane_index work the same as window_index, from Ben Boeckel.
* Sync OpenBSD patchset 955:Tiago Cunha2011-09-21
| | | | | Plug memory leak, from Tiago Cunha.
* Expand the Id keyword. Tiago Cunha2011-07-09
|
* Sync OpenBSD patchset 862:Tiago Cunha2011-02-15
| | | | | Size on split-window is -l not -s. Doh.
* Sync OpenBSD patchset 829:Tiago Cunha2011-01-07
| | | | | | | | | | | | | | | | | | | | | | Clean up and simplify tmux command argument parsing. Originally, tmux commands were parsed in the client process into a struct with the command data which was then serialised and sent to the server to be executed. The parsing was later moved into the server (an argv was sent from the client), but the parse step and intermediate struct was kept. This change removes that struct and the separate parse step. Argument parsing and printing is now common to all commands (in arguments.c) with each command left with just an optional check function (to validate the arguments at parse time), the exec function and a function to set up any key bindings (renamed from the old init function). This is overall more simple and consistent. There should be no changes to any commands behaviour or syntax although as this touches every command please watch for any unexpected changes.
* Sync OpenBSD patchset 820:Tiago Cunha2011-01-03
| | | | | | Add a -P option to new-window and split-window to print the new window or pane index in target form (useful to pass it into other commands).
* Sync OpenBSD patchset 730:Tiago Cunha2010-07-02
| | | | | | | Store the current working directory in the session, change the default-path option to default to empty and make that mean that the stored session CWD is used.
* Sync OpenBSD patchset 604:Tiago Cunha2010-01-08
| | | | | | New command, join-pane, to split and move an existing pane into the space (like splitw then movep, or the reverse of breakp).
* Sync OpenBSD patchset 601:Tiago Cunha2010-01-08
| | | | | Use the specified pane for size calculations. Doh.