summaryrefslogtreecommitdiffstats
path: root/cmd-new-session.c
AgeCommit message (Collapse)Author
2010-07-02Sync OpenBSD patchset 730:Tiago Cunha
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.
2010-04-05Merge output (more) and copy modes into one single mode (called copy).Micah Cowan
2010-02-26Sync OpenBSD patchset 650:Tiago Cunha
Display -t argument to new-session, from Tiago Cunha.
2010-02-08Sync OpenBSD patchset 640:Tiago Cunha
Use the array.h code for the causes list.
2010-02-08Sync OpenBSD patchset 635:Tiago Cunha
Instead of bailing out on the first configuration file error, carry on, collecting all the errors, then start with the active window in more mode displaying them.
2009-12-04Sync OpenBSD patchset 581:Tiago Cunha
Massive spaces->tabs and trailing whitespace cleanup, hopefully for the last time now I've configured emacs to make them displayed in really annoying colours...
2009-11-28Sync OpenBSD patchset 567:Tiago Cunha
Remove a couple of unused arguments where possible, and add /* ARGSUSED */ to the rest to reduce lint output.
2009-11-14Sync OpenBSD patchset 539:Tiago Cunha
Get rid of the ugly CMD_CHFLAG macro and use a const string (eg "dDU") in the command entry structs and a couple of functions to check/set the flags.
2009-11-13Sync OpenBSD patchset 527:Tiago Cunha
Only need to chmod +x or -x the socket when a client is created, lost or attached, rather than every event loop.
2009-10-12Reduce diff with OpenBSD.Tiago Cunha
2009-10-11Sync OpenBSD patchset 371:Tiago Cunha
Add "grouped sessions" which have independent name, options, current window and so on but where the linked windows are synchronized (ie creating, killing windows and so on are mirrored between the sessions). A grouped session may be created by passing -t to new-session. Had this around for a while, tested by a couple of people.
2009-09-22Sync OpenBSD patchset 342:Tiago Cunha
Use KEYC_NONE constant instead of 0 on init.
2009-09-16Sync from OpenBSD:Nicholas Marriott
== Rather than constructing an entire termios struct from ttydefaults.h, just let forkpty do it and then alter the bits that should be changed after fork. A little neater and more portable. == This should fix problems caused by glibc's broken ttydefaults.h file.
2009-09-15Sync OpenBSD patchset 327:Tiago Cunha
The default terminal size should be 80x24, not 80x25.
2009-09-13Always set VERASE to \177.Tiago Cunha
2009-09-13Sync OpenBSD patchset 323:Tiago Cunha
tmux always outputs \177 for backspace, so explicitly set VERASE to \177 for new windows.
2009-08-26ttydefchars is a fucking horlicks. Happily we only need it in one file, move itNicholas Marriott
in there to avoid multiple inclusion issues. Perhaps it would be better to pass NULL through to forkpty in the default case...
2009-08-24Sync OpenBSD patchset 291:Tiago Cunha
Some code tidying.
2009-08-21Move reading termios settings to before tty_open alters them, and expand theNicholas Marriott
comment.
2009-08-20VTIME and VMIN are only necessary in noncanonical mode, so Solaris reuses theNicholas Marriott
VEOF and VEOL indexes for them. ICANON is set by default, so don't bother to set VTIME and VMIN.
2009-08-20Solaris and AIX have no ttydefaults.h.Nicholas Marriott
2009-08-19In yet another triumph of stupidity over common sense, the glibcNicholas Marriott
sys/ttydefaults.h is just a copy of the file from *BSD, taking no account of the fact that their OWN termios.h uses entirely different indexes into the array. I know ttydefaults.h is not meant to be portable, but you'd think it would be obvious to anyone that no file is better than a broken one...
2009-08-19Use cfsetispeed/cfsetospeed to set termios speed members.Nicholas Marriott
2009-08-16Sync OpenBSD patchset 257:Tiago Cunha
Add a base-index session option to specify the first index checked when looking for an index for a new window.
2009-08-16Sync OpenBSD patchset 255:Tiago Cunha
Rather than telling the client to exit in the function when creating a new session detached, let the caller do it. Allows "tmux new -d \; attach" to work.
2009-08-16Include unistd.h due to OpenBSD patchset 254. At least on Linux, that's whereTiago Cunha
_POSIX_VDISABLE is defined.
2009-08-16Sync OpenBSD patchset 254:Tiago Cunha
When creating a new session from the command-line where there is an external terminal, copy the termios(4) special characters and use them for new windows created in the new session. Suggested by Theo.
2009-08-09Sync OpenBSD patchset 231:Tiago Cunha
Infrastructure and commands to manage the environment for processes started within tmux. There is a global environment, copied from the external environment when the server is started and each session 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.
2009-08-09Sync OpenBSD patchset 211:Tiago Cunha
Add a terminal-overrides session option allowing individual terminfo(5) entries to be overridden. The 88col/256col checks are now moved into the default setting and out of the code. Also remove a couple of old workarounds for xterm and rxvt which are no longer necessary (tmux can emulate them if missing).
2009-07-28Sync OpenBSD patchset 181:Tiago Cunha
Make all messages sent between the client and server fixed size. 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.
2009-07-23Revert previous per OpenBSD's patchset 170.Tiago Cunha
2009-07-23Sync OpenBSD patchset 168:Tiago Cunha
Both of cmdclient and curclient CAN be NULL - if the command is executed from the configuration file. In this case, attach-session can't do much, and new-session should just assume -d.
2009-07-23Sync OpenBSD patchset 167:Tiago Cunha
If there is a current session, use its default path and working directory for the initial window when creating a new session.
2009-07-18Tidy up new-session and attach-session and change them to work from insideNicholas Marriott
tmux, switching the current client to the new or requested session.
2009-07-14Having fixed flags for single-character getopt options is a bit hard toNicholas Marriott
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.
2009-07-08Fix $Id$.Nicholas Marriott
2009-07-08Rename the global options variables to be shorter and to make session optionsNicholas Marriott
clear. No functional change, getting this out of the way to make later options changes easier.
2009-05-04Space trimmage mega-diff.Nicholas Marriott
2009-04-01Basic horizontal splitting and layout management. Still some redraw and otherNicholas Marriott
issues - particularly, don't mix with manual pane resizing and be careful when viewing from multiple clients; generally cycling the layout a few times will fix most problems. Getting this in for testing while I think about how to deal with manual mode. Split window as normal and cycle the layouts with C-b space. Some of the layouts will work better when swap-pane comes along.
2009-02-11Move sx,sy into tty rather than client.Nicholas Marriott
2009-01-23Better error messages for fork.Nicholas Marriott
2009-01-20Try to change the window title to match the command running it in. This is doneNicholas Marriott
by reading argv[0] from the process group leader of the group that owns the tty (tcgetpgrp()). This can't be done portably so some OS-dependent code is introduced (ugh); OpenBSD, FreeBSD and Linux are supported at the moment. A new window flag, automatic-rename, is available: if this is set to off, the window name is not changed. Specifying a name with the new-window, new-session or rename-window commands will automatically set this flag to off for the window in question. To disable it entirely set the option to off globally (setw -g automatic-rename off).
2009-01-19Pass return code from _exec; allow command sequences to work from the ↵Nicholas Marriott
command line.
2009-01-18Support command sequences separated by " ; ". Also clean up command printing.Nicholas Marriott
2009-01-11Server locking. set-password and lock-server commands, plus automatic locking.Nicholas Marriott
2009-01-10Pick up cwd from environment,.Nicholas Marriott
2008-12-10Import OpenBSD's getopt(3) to workaround broken glibc version.Nicholas Marriott
2008-09-25Fix stupid GNU getopt behaviour.Nicholas Marriott
2008-06-21Lose unnecessary flags on context.Nicholas Marriott
2008-06-19status-lines -> status, prefix-key -> prefixNicholas Marriott