Tiago Cunha
3266fb5441
Sync OpenBSD patchset 332:
...
Regularise some fatal messages.
2009-09-20 22:11:27 +00:00
Nicholas Marriott
273f1b385c
Regularise some fatal messages.
2009-09-20 14:58:12 +00:00
Nicholas Marriott
15b643fc11
Sync from OpenBSD:
...
==
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-16 12:36:28 +00:00
Nicholas Marriott
5c60162e3c
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.
2009-09-16 12:35:04 +00:00
Tiago Cunha
930f67f474
Sync OpenBSD patchset 320:
...
Reference count clients and sessions rather than relying on a saved index for
cmd-choose-*.
2009-09-07 23:59:19 +00:00
Nicholas Marriott
51c95747d8
Reference count clients and sessions rather than relying on a saved index for
...
cmd-choose-*.
2009-09-07 21:01:50 +00:00
Tiago Cunha
521659db4b
Adjust OpenBSD patchset 305 to the portable version.
2009-09-02 01:05:55 +00:00
Tiago Cunha
a3a150faf2
Sync OpenBSD patchset 305:
...
When using tmux as a login shell, there is currently no way to specify a shell
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.
2009-09-02 01:02:44 +00:00
Nicholas Marriott
7d5e494716
When using tmux as a login shell, there is currently no way to specify a shell
...
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.
2009-09-01 13:09:49 +00:00
Tiago Cunha
e61ee94e26
Sync OpenBSD patchset 257:
...
Add a base-index session option to specify the first index checked when looking
for an index for a new window.
2009-08-16 19:16:27 +00:00
Tiago Cunha
f415d43c3b
Sync OpenBSD patchset 254:
...
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-16 18:59:12 +00:00
Nicholas Marriott
3ad4de6c8c
Add a base-index session option to specify the first index checked when looking
...
for an index for a new window.
2009-08-13 20:11:58 +00:00
Nicholas Marriott
52793e7a3f
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-13 19:03:59 +00:00
Tiago Cunha
29b1b2fb5e
Sync OpenBSD patchset 231:
...
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-09 17:48:55 +00:00
Nicholas Marriott
6491274f60
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 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.
2009-08-08 21:52:43 +00:00
Nicholas Marriott
2ddcb51df3
Fix $Id$.
2009-07-08 18:03:03 +00:00
Nicholas Marriott
86504af149
Rename the global options variables to be shorter and to make session options
...
clear. No functional change, getting this out of the way to make later options
changes easier.
2009-07-08 18:01:31 +00:00
Nicholas Marriott
923ccfa2e8
Rename the global options variables to be shorter and to make session options
...
clear. No functional change, getting this out of the way to make later options
changes easier.
2009-07-07 19:49:19 +00:00
Nicholas Marriott
35876eaab9
Import tmux, a terminal multiplexor allowing (among other things) a single
...
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
2009-06-01 22:58:49 +00:00
Tiago Cunha
80af85a102
- New window option monitor-content to search for a string in a window, and
...
highlight the status line if it matches.
- To make this possible, the function cmd_find_window_search from
cmd-find-window.c had to be moved to window.c and renamed window_pane_search.
- While there use three new functions in server.c to check for bell, activity,
and content, to avoid too much nesting.
2009-05-19 13:32:55 +00:00
Nicholas Marriott
143aa718e5
Space trimmage mega-diff.
2009-05-04 17:58:27 +00:00
Nicholas Marriott
f5f04a9344
* New session flag "set-remain-on-exit" to set remain-on-exit flag for new windows created in that session (like "remain-by-default" used to do). Not perfectly happy about this, but until I can think of a good way to introduce it generically (maybe a set of options in the session) this will do. Fixes SF request 2527847.
2009-03-21 12:44:06 +00:00
Nicholas Marriott
521fa7d640
Unused variable.
2009-03-07 10:11:20 +00:00
Nicholas Marriott
65b9aeb337
Put socket path in $TMUX.
2009-03-04 17:24:07 +00:00
Nicholas Marriott
4d9af27b0b
Better error messages for fork.
2009-01-23 16:59:14 +00:00
Nicholas Marriott
d1a5fde3d0
-a flags to next/previous window.
2009-01-18 18:31:45 +00:00
Nicholas Marriott
7cd3cf0ead
Make the window pane code handle panes of different sizes, and add a -l and -p arguments to split-window to specify the new window size in lines or as a percentage.
2009-01-12 18:22:47 +00:00
Nicholas Marriott
4d71164826
Pick up cwd from environment,.
2009-01-10 19:37:35 +00:00
Nicholas Marriott
fd05d07c2b
Change server-info format.
2009-01-10 14:43:43 +00:00
Nicholas Marriott
7a82e86827
Make window options work the same was as session options, add mode-fg/mode-bg options, force -g for global on set/show/setw/showw/
2008-12-08 16:19:51 +00:00
Nicholas Marriott
5ca710d9e3
Disable UTF-8 by default and add options to enable it.
2008-11-16 13:28:59 +00:00
Nicholas Marriott
46f5e42145
Keep stack of previous windows.
...
Check for op (orig_pair) for default colours.
2008-11-16 10:10:26 +00:00
Nicholas Marriott
4198a9c376
TAILQ -> SLIST.
2008-11-05 01:19:24 +00:00
Nicholas Marriott
62457bce0b
Trim.
2008-09-26 06:45:28 +00:00
Nicholas Marriott
33aa931541
Support OS X by moving to gettimeofday(2) and adding poll compat from OpenSSH.
2008-08-28 17:45:30 +00:00
Nicholas Marriott
ce2dc2a66a
Set up environ properly.
2008-06-30 19:11:33 +00:00
Nicholas Marriott
d90d646ca8
Zombie windows, requested by Will Maier.
2008-06-29 07:04:31 +00:00
Nicholas Marriott
9798dcd4df
Start of improved buffer code. Only set-buffer/show-buffer commands so far.
2008-06-20 08:36:20 +00:00
Nicholas Marriott
99df48d70f
Trimify.
2008-06-18 22:21:51 +00:00
Nicholas Marriott
d51f075a4e
Use a socketpair to synchronise server startup.
2008-06-07 07:27:28 +00:00
Nicholas Marriott
3cd4a08ffb
Make server exit when last session dies. Also fix window check for status activity redraw.
2008-06-06 17:55:27 +00:00
Nicholas Marriott
6a187bb8d3
Some Linux fixes; some code tidying. Don't redraw status bar so often.
2008-06-06 17:20:30 +00:00
Nicholas Marriott
14b9512546
Add activity monitoring, also invert items on taskbar which have activity.
2008-06-04 16:46:23 +00:00
Nicholas Marriott
9e6090a7a2
Per-session configuration options.
2008-06-03 21:42:37 +00:00
Nicholas Marriott
73c9b25d2d
It is too easy to create things in the same second; use a timespec instead.
2008-06-03 18:13:54 +00:00
Nicholas Marriott
a26f58c7c3
Last bits of basic configuration file. By default in ~/.tmux.conf or specified with -f. Just a list of tmux commands executed when the server is started and before and any session/window is created.
2008-06-02 21:08:36 +00:00
Nicholas Marriott
103748d6ad
Major reorganisation of screen handling.
2007-12-06 09:46:23 +00:00
Nicholas Marriott
765a224b30
Double-free on session destroy.
2007-11-12 16:39:30 +00:00
Nicholas Marriott
08d9f46aae
Make it build/run on Linux.
2007-10-31 14:26:26 +00:00
Nicholas Marriott
4a325c8f93
unlink-window command. Also fix some u_int -> int problems.
2007-10-26 16:57:32 +00:00
Nicholas Marriott
51482b57ae
Redraw status bar on link.
2007-10-26 13:35:39 +00:00
Nicholas Marriott
4ba3cf60be
Reorg window data structures. Add an intermediate data type (struct winlink) to hold index and make sessions hold a RB tree of them rather than a fixed array.
2007-10-26 12:29:07 +00:00
Nicholas Marriott
3859c9f239
Free/close windows properly.
2007-10-24 11:05:59 +00:00
Nicholas Marriott
63795f6c04
Missing time.h.
2007-10-19 22:17:29 +00:00
Nicholas Marriott
ad4a7423c0
Mark windows in yellow on status line when bell.
2007-10-12 11:24:15 +00:00
Nicholas Marriott
7ba01f6843
New window command.
2007-10-03 23:32:26 +00:00
Nicholas Marriott
df716ecc8f
Rewrite command handling to be more generic. Not finished!
2007-10-03 21:31:07 +00:00
Nicholas Marriott
3879c89186
Ooops, missed this one. Doh.
2007-09-29 21:02:26 +00:00
Nicholas Marriott
c28e220123
Don't nuke last window on reselect of same window.
2007-09-29 21:01:18 +00:00
Nicholas Marriott
22990a6595
New session selection rules:
...
- find by name if given
- otherwise try current index from $TMUX
- otherwise if only one session, use it
- otherwise error
2007-09-27 09:52:03 +00:00
Nicholas Marriott
3fa8f16364
Adjust $TMUX environ var to include session index, and don't compact session list on release. Also fix some argument types.
2007-09-27 09:15:58 +00:00
Nicholas Marriott
5ea2ac36e4
Stop crashing when exiting windows.
2007-09-21 20:45:06 +00:00
Nicholas Marriott
70c1ba5770
Comment.
2007-09-21 20:02:23 +00:00
Nicholas Marriott
f456e1cb30
Reset s->window to NULL so it doesn't end up in s->last.
2007-09-21 20:00:28 +00:00
Nicholas Marriott
f145108258
Tweak ordering.
2007-09-21 18:35:16 +00:00
Nicholas Marriott
248f78d29a
Remove window before working out new current window; clear last window if necessary.
2007-09-21 18:31:58 +00:00
Nicholas Marriott
d63977ea8a
session_last == -1 could still leave us with the window we are about to remove.
2007-09-21 18:16:31 +00:00
Nicholas Marriott
34f87e521b
Last window option.
2007-09-20 18:03:23 +00:00
Nicholas Marriott
9c0b51cd5d
Wrap next/prev.
2007-09-20 08:21:59 +00:00
Nicholas Marriott
12f7197adb
session_flush can go bye-bye again.
2007-08-27 20:36:52 +00:00
Nicholas Marriott
438144692d
Flush even detached sessions.
2007-08-27 15:28:07 +00:00
Nicholas Marriott
04f4e4219b
Change command format.
2007-08-27 13:45:26 +00:00
Nicholas Marriott
6e210bb005
If a session is destroyed, safely kill all other clients attached to it.
2007-08-27 12:05:15 +00:00
Nicholas Marriott
73d7b70479
Update to be more readable and hopefully lose memory problems.
2007-08-27 09:53:38 +00:00
Nicholas Marriott
4b62b1d16c
Sync with fdm.
2007-07-25 23:13:18 +00:00
Nicholas Marriott
a41ece5ff0
Initial import to CVS. Basic functions are working, albeit with a couple of showstopper memory bugs and many missing features. Detaching, reattaching, creating new sessions, listing sessions work acceptably for using with shells. Simple curses programs (top, systat, tetris) and more complicated ones (mutt, emacs) that don't require scrolling regions (ESC[r) mostly work fine (including mutt, emacs). No status bar yet and no key remapping or other customisation.
2007-07-09 19:04:12 +00:00