Tiago Cunha
99de03ea32
Sync OpenBSD patchset 303:
...
Sort cases same as getopt argument, from martynas.
2009-09-02 00:54:00 +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
Nicholas Marriott
f8aa5821be
Use "Password:" with no space for password prompts and don't display a *s for
...
the password, like pretty much everything else. From martynas@ with minor
tweaks by me.
2009-09-01 09:11:05 +00:00
Nicholas Marriott
34bb735a65
Sort cases same as getopt argument, from martynas.
2009-09-01 09:00:54 +00:00
Tiago Cunha
ed3535db8a
Sync OpenBSD patchset 302:
...
Add a new display-panes command, with two options (display-panes-colour and
display-panes-time), which displays a visual indication of the number of each
pane.
2009-08-31 22:30:15 +00:00
Nicholas Marriott
04319964b9
Add a new display-panes command, with two options (display-panes-colour and
...
display-panes-time), which displays a visual indication of the number of each
pane.
2009-08-31 20:46:19 +00:00
Tiago Cunha
d5bc78d98b
Sync OpenBSD patchset 292:
...
Add some other obvious variables to update-environment (WINDOWID SSH_ASKPASS
SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION) so they are updated in the session
environment on new/attach.
2009-08-24 16:35:24 +00:00
Nicholas Marriott
90400ae96a
Add some other obvious variables to update-environment (WINDOWID SSH_ASKPASS
...
SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION) so they are updated in the session
environment on new/attach.
2009-08-23 18:21:02 +00:00
Tiago Cunha
9541471f87
Sync OpenBSD patchset 258:
...
Disable mode-mouse (mouse in copy/choice mode) by default as it isn't very
useful at the moment and causes confusion.
2009-08-16 19:20:37 +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
06b3f49c49
Sync OpenBSD patchset 249:
...
When started as the shell, __progname contains a leading -, so hardcode "tmux"
for socket path and log files, and strip it when working out the shell.
2009-08-14 21:28:00 +00:00
Tiago Cunha
a9b6bfdddd
Sync OpenBSD patchset 243:
...
Switch tmux to use imsg. This is the last major change to make the
client-server protocol more resilient and make the protocol versioning work
properly. In future, the only things requiring a protocol version bump will be
changes in the message structs, and (when both client and server have this
change) mixing different versions should nicely report an error message.
As a side effect this also makes the code tidier, fixes a problem with the way
errors reported during server startup were handled, and supports fd passing
(which will be used in future).
Looked over by eric@, thanks.
Please note that mixing a client with this change with an older server or vice
versa may cause tmux to crash or hang - tmux should be completely exited before
upgrading.
2009-08-14 21:04:04 +00:00
Nicholas Marriott
375be90fd1
Disable mode-mouse (mouse in copy/choice mode) by default as it isn't very
...
useful at the moment and causes confusion.
2009-08-13 21:56:14 +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
9a52ef099a
When started as the shell, __progname contains a leading -, so hardcode "tmux"
...
for socket path and log files, and strip it when working out the shell.
2009-08-12 09:14:25 +00:00
Nicholas Marriott
f0635717b3
Switch tmux to use imsg. This is the last major change to make the
...
client-server protocol more resilient and make the protocol versioning work
properly. In future, the only things requiring a protocol version bump will be
changes in the message structs, and (when both client and server have this
change) mixing different versions should nicely report an error message.
As a side effect this also makes the code tidier, fixes a problem with the way
errors reported during server startup were handled, and supports fd passing
(which will be used in future).
Looked over by eric@, thanks.
Please note that mixing a client with this change with an older server or vice
versa may cause tmux to crash or hang - tmux should be completely exited before
upgrading.
2009-08-11 17:18:35 +00:00
Tiago Cunha
48ede1a00a
Sync OpenBSD patchset 241:
...
No arguments are the same as new-session and this requires the environment to
be sent, so set that flag too when argc == 0.
2009-08-10 21:43:34 +00:00
Nicholas Marriott
edcb22a6fb
No arguments are the same as new-session and this requires the environment to
...
be sent, so set that flag too when argc == 0.
2009-08-10 20:51:29 +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
Tiago Cunha
167a8c9edc
Sync OpenBSD patchset 229:
...
Options to set the colours and attributes for status-left/-right. From Thomas
Adam, thanks.
2009-08-09 17:40:17 +00:00
Tiago Cunha
88b83be07b
Sync OpenBSD patchset 220:
...
If colours are not supported by the terminal, try to emulate a coloured
background by setting or clearing the reverse attribute.
This makes a few applications which don't use the reverse attribute themselves
a little happier, and allows the status, message and mode options to have
default attributes and fg/bg options that work as expected when set as reverse.
2009-08-09 16:50:57 +00:00
Tiago Cunha
c32ca6a8e6
Sync OpenBSD patchset 216:
...
Check for "UTF8" as well as "UTF-8" in LANG etc as it seems this may also
appear.
2009-08-09 16:39:40 +00:00
Tiago Cunha
15f6a41a75
Sync OpenBSD patchset 211:
...
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-08-09 15:26:24 +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
90f8151ffd
Options to set the colours and attributes for status-left/-right. From Thomas
...
Adam, thanks.
2009-08-08 20:36:42 +00:00
Nicholas Marriott
bcddddf98d
If colours are not supported by the terminal, try to emulate a coloured
...
background by setting or clearing the reverse attribute.
This makes a few applications which don't use the reverse attribute themselves
a little happier, and allows the status, message and mode options to have
default attributes and fg/bg options that work as expected when set as reverse.
2009-08-05 16:26:38 +00:00
Nicholas Marriott
93bf2a1d72
Check for "UTF8" as well as "UTF-8" in LANG etc as it seems this may also
...
appear.
2009-08-04 10:31:28 +00:00
Nicholas Marriott
1673735f02
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-08-03 14:10:54 +00:00
Tiago Cunha
ec3dba01b2
Sync OpenBSD patchset 198:
...
Add a mode-mouse option to prevent tmux taking over the mouse in choice or
copy modes.
2009-07-30 20:32:05 +00:00
Tiago Cunha
6fbfcfc0d7
Sync OpenBSD patchset 196:
...
Rename struct hdrtype to msgtype which is a better name and can be used even
when struct hdr disappears.
2009-07-30 20:21:55 +00:00
Tiago Cunha
5a9b7b230c
Sync OpenBSD patchset 195:
...
Taking account of the "s, 22 not 24 is the maximum length of #T in
status-right to prevent the date being cut off.
2009-07-30 20:17:25 +00:00
Nicholas Marriott
a419e73f7a
Add a mode-mouse option to prevent tmux taking over the mouse in choice or copy
...
modes.
2009-07-30 07:04:50 +00:00
Nicholas Marriott
c1d6d7ac6b
Rename struct hdrtype to msgtype which is a better name and can be used even
...
when struct hdr disappears.
2009-07-29 14:17:26 +00:00
Nicholas Marriott
d3c461097b
Taking account of the "s, 22 not 24 is the maximum length of #T in status-right
...
to prevent the date being cut off.
2009-07-29 05:36:53 +00:00
Tiago Cunha
d637cb33da
Sync OpenBSD patchset 181:
...
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-28 22:12:16 +00:00
Nicholas Marriott
34a82e7629
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-26 12:58:44 +00:00
Tiago Cunha
7174c76bf0
Sync OpenBSD patchset 166:
...
Pass a set of flags into client_init rather than just a start_server
variable. Only one flag now but more to come later.
2009-07-23 13:15:41 +00:00
Nicholas Marriott
bb14c36a27
Pass a set of flags into client_init rather than just a start_server
...
variable. Only one flag now but more to come later.
2009-07-22 21:58:56 +00:00
Tiago Cunha
1bf524c1b7
Sync OpenBSD patchset 152:
...
__progname is not const, pointed out by deraadt.
And, as a consequence change its declaration for operating systems which
don't provide __progname as well.
2009-07-22 16:53:30 +00:00
Tiago Cunha
54c6848d75
Sync OpenBSD patchset 148:
...
Display the number of failed password attempts (if any) when the server is
locked. From Tom Doherty.
2009-07-20 16:07:23 +00:00
Tiago Cunha
9a07e8f372
Sync OpenBSD patchset 147:
...
Add a status-justify option to allow the window list in the status line to be
positioned at the left, centre, or right.
2009-07-20 16:01:07 +00:00
Tiago Cunha
e8957009c7
Sync OpenBSD patchset 146:
...
New options, window-status-current-{fg,bg,attr}, to set the fg, bg and
attributes with which the current window is shown in the status line. From
Johan Friis, thanks.
2009-07-20 15:57:05 +00:00
Nicholas Marriott
54afcfbfb4
Display the number of failed password attempts (if any) when the server is
...
locked. From Tom Doherty.
2009-07-20 14:37:51 +00:00
Nicholas Marriott
b292f71c49
Add a status-justify option to allow the window list in the status line to be
...
positioned at the left, centre, or right.
2009-07-20 14:32:09 +00:00
Nicholas Marriott
e32e0d5692
New options, window-status-current-{fg,bg,attr}, to set the fg, bg and
...
attributes with which the current window is shown in the status line. From
Johan Friis, thanks.
2009-07-20 09:15:18 +00:00
Tiago Cunha
376c808b50
Add three new session options: visual-activity, visual-bell, visual-content.
...
If these are enabled (and the monitor-activity, bell-action and monitor-content
options are configurated appropriately), when activity, a bell, or content is
detected, a message is shown.
Also tidy up the bell/activity/content code in server.c slightly and fix a
couple of errors.
2009-07-19 14:35:56 +00:00
Nicholas Marriott
fc6a65c620
Add three new session options: visual-activity, visual-bell, visual-content. If
...
these are enabled (and the monitor-activity, bell-actio and monitor-content
options are configurated appropriately), when activity, a bell, or content is
detected, a message is shown.
Also tidy up the bell/activity/content code in server.c slightly and fix a
couple of errors.
2009-07-18 14:59:25 +00:00
Nicholas Marriott
f1efd6b4e7
If -u is specified or UTF-8 is otherwise detected when the server is started,
...
enable the utf8 and status-utf8 optons. While here, note in the man page that
the server is started with the first session and exits when none remain.
2009-07-18 11:05:13 +00:00
Nicholas Marriott
7ddba901a4
If -u is specified or UTF-8 is otherwise detected when the server is started,
...
enable the utf8 and status-utf8 optons. While here, note in the man page that
the server is started with the first session and exits when none remain.
2009-07-17 13:38:03 +00:00
Nicholas Marriott
d7b4aa0ff3
Add a default-terminal option to set the starting value of $TERM in new
...
windows.
2009-07-12 17:07:58 +00:00
Nicholas Marriott
daa1faa905
Add a default-terminal option to set the starting value of $TERM in new
...
windows.
This is "screen" by default and must be either that or something closely
related. This does makes it easier to customise it if necessary.
2009-07-10 05:50:54 +00:00
Nicholas Marriott
890db6eaaf
Accidently deleted default-command.
2009-07-08 18:12:57 +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
084d07f4eb
Just appending -l to $SHELL to create a login shell is wrong: -l is not POSIX,
...
and some people may use shells which do not support it. Instead, make an empty
default-command option mean a login shell, and fork it with a - in argv[0]
which is the method used by login(1).
Also fix the automatic-rename code to handle this correctly and to strip a
leading - if present.
2009-07-08 05:26:45 +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
22d1b9412e
Using -l to specify a login shell is non-POSIX and causes problems with shells
...
that do not support it. Instead, set an empty default-command to invoke $SHELL
with - prefixed to argv[0], and make this the default setting.
2009-07-01 19:42:55 +00:00
Nicholas Marriott
f1463ff3c1
Lose -V.
2009-06-25 16:56:08 +00:00
Nicholas Marriott
a9e3d5c56a
More diff-to-OpenBSD reduction. Move a lot of compat stuff into compat.h.
2009-06-25 16:47:00 +00:00
Nicholas Marriott
bb459beb03
Whitespace and more syncing.
2009-06-25 16:34:50 +00:00
Nicholas Marriott
a5830b9603
Restore $Id$ and add script to do so.
2009-06-25 16:21:32 +00:00
Nicholas Marriott
f17a5f1e82
If getcwd() fails, use the user's home directory, or /, instead of failing with
...
an error.
2009-06-25 16:11:12 +00:00
Nicholas Marriott
f0bcbcfa7f
Remove error about using -L and -S together which was never displayed as
...
logging wasn't yet enabled, was unnecessary, and contradicted the man page
which says using -S will cause -L to be ignored.
2009-06-25 16:09:38 +00:00
Nicholas Marriott
cd5a4f4c35
LC_ALL overrides LC_CTYPE and LANG. Comment was correct but the code
...
wrong. Pointed out by Hannah Schroeter, thanks.
2009-06-25 16:00:02 +00:00
Nicholas Marriott
6f4600c533
Check the first of LC_CTYPE, LC_ALL and LANG, rather than just the last, when
...
trying to decide about UTF-8, and use strcasestr. Reported by Geert Hendrickx.
2009-06-25 15:59:27 +00:00
Nicholas Marriott
f90450f854
Zero the password given to -U in the client as well.
2009-06-25 15:56:25 +00:00
Nicholas Marriott
4f2e5f8c50
Do not set the window title by default (make set-titles option default to off),
...
wiping over the title is rude and annoying.
2009-06-25 15:48:59 +00:00
Nicholas Marriott
28bcf774e5
New session option, status-utf8, to control the interpretation of top-bit-set
...
characters in status-left and status-right (if on, they are treated as UTF-8;
otherwise passed through).
2009-06-25 15:48:25 +00:00
Nicholas Marriott
94f5ddb60c
remove unused flag; while here, make usage's output fit on 80-column displays.
2009-06-25 15:44:44 +00:00
Nicholas Marriott
658659532a
Use login shells by default.
2009-06-25 15:44:03 +00:00
Nicholas Marriott
6528d47ed8
Don't leak memory if multiple -f flags are given. From ray
2009-06-25 15:42:35 +00:00
Nicholas Marriott
dbbb297d5f
If getcwd() fails, use the user's home directory, or /, instead of failing with
...
an error.
2009-06-25 06:54:32 +00:00
Nicholas Marriott
40c242a6d5
Remove error about using -L and -S together which was never displayed as
...
logging wasn't yet enabled, was unnecessary, and contradicted the man page
which says using -S will cause -L to be ignored.
2009-06-25 06:40:25 +00:00
Nicholas Marriott
c2b0fdae5b
LC_ALL overrides LC_CTYPE and LANG. Comment was correct but the code
...
wrong. Pointed out by Hannah Schroeter, thanks.
2009-06-23 18:27:40 +00:00
Nicholas Marriott
18665b8cc9
Check the first of LC_CTYPE, LC_ALL and LANG, rather than just the last, when
...
trying to decide about UTF-8, and use strcasestr. Reported by Geert Hendrickx.
2009-06-05 07:22:23 +00:00
Nicholas Marriott
38b2c42f63
Zero the password given to -U in the client as well.
2009-06-04 21:56:14 +00:00
Nicholas Marriott
655a1aea6c
Do not set the window title by default (make set-titles option default to off),
...
wiping over the title is rude and annoying. Agreed by several.
2009-06-03 17:04:16 +00:00
Nicholas Marriott
6521427a45
New session option, status-utf8, to control the interpretation of top-bit-set
...
characters in status-left and status-right (if on, they are treated as UTF-8;
otherwise passed through).
2009-06-03 16:54:26 +00:00
Igor Sobrado
4215d009a5
remove unused flag; while here, make usage's output fit on 80-column displays.
2009-06-02 16:53:20 +00:00
Pierre-Yves Ritschard
dc373abba8
spawn login shells by default, adapt manpage bits as well.
...
ok nicm@
2009-06-02 15:55:32 +00:00
Ray Lai
df91860b52
Don't leak memory if multiple -f flags are given.
...
OK nicm@
2009-06-02 10:49:40 +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
Nicholas Marriott
940e2ae1fd
endpwent() is not required after getpwuid().
2009-06-01 20:38:59 +00:00
Nicholas Marriott
cd4566cd69
Spacing.
2009-05-26 18:30:51 +00:00
Nicholas Marriott
5db59a0d20
If LANG contains "UTF-8", assume the terminal supports UTF-8, on the grounds that anyone who configures it probably wants UTF-8. Not certain if this is a perfect idea but let's see if it causes any problems.
2009-05-19 16:03:18 +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
72e464fa04
main-horizontal layout and main-pane-height option to match vertical.
2009-05-18 22:17:24 +00:00
Nicholas Marriott
6e4b947d71
New option main-pane-width to set width of pane in left-vertical mode.
2009-05-18 21:55:53 +00:00
Nicholas Marriott
03af7c99b5
Recreate server socket on SIGUSR1, per SF feature request 2792533.
2009-05-16 10:02:51 +00:00
Nicholas Marriott
c8cf438d44
Rename all feature flags to HAVE_* and move out of makefiles into a configure
...
script which must be run before building.
Still two makefiles but they are a hell of a lot simpler.
HAVE_* also will make it easier to move to $buildsystem if necessary later.
2009-05-13 23:27:00 +00:00
Nicholas Marriott
88daeb5410
Bye-bye META.
2009-05-13 22:10:39 +00:00
Nicholas Marriott
143aa718e5
Space trimmage mega-diff.
2009-05-04 17:58:27 +00:00
Nicholas Marriott
f9af6f7f8c
Document -L and -8, fix synopsis.
2009-04-20 19:25:58 +00:00
Nicholas Marriott
3932da2522
Better errno, from joshe.
2009-04-01 20:15:48 +00:00
Nicholas Marriott
b6450b167b
Basic horizontal splitting and layout management. Still some redraw and other
...
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-04-01 18:21:42 +00:00
Nicholas Marriott
be0c79f3ad
Sockets in /tmp are now created in a subdirectory named, tmux-UID, eg
...
tmux-1000. The default socket is thus /tmp/tmux-UID/default. To start a
separate server, the new -L command line option should be used: this creates a
socket in the same directory with a different name ("-L main" will create
socket called "main"). -S should only be used to place the socket outside
/tmp. This makes sockets a little more secure and a bit more convenient to use
multiple servers.
2009-03-27 15:57:10 +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
e6d35b6aa4
Support for 88 colour terminals.
2009-03-07 10:29:06 +00:00
Nicholas Marriott
95c8c049f5
Redo mode keys slightly more cleanly and apply them to command prompt editing. vi or emacs mode is controlled by the session option status-keys.
2009-02-13 21:39:45 +00:00
Nicholas Marriott
b235815831
Don't close fds, so error message appears.
2009-02-08 16:26:43 +00:00
Nicholas Marriott
62d2ab3e68
Continue process if suspended.
2009-02-08 16:11:26 +00:00
Nicholas Marriott
882316ad6a
Set colour of window entry in status line based on window options.
2009-01-30 00:24:49 +00:00
Nicholas Marriott
c6bd9e2063
Allow status, mode and message attributes to be changed by three new options: status-attr, mode-attr, message-attr. A comma-separataed list is accepted containing: bright, dim, underscore, blink, reverse, hidden, italics, for example: set -g status-attr bright,blink
...
From Josh Elsasser, thanks!
2009-01-27 20:22:33 +00:00
Nicholas Marriott
3f171917f6
Return 1 on error. Doh.
2009-01-23 16:19:56 +00:00
Nicholas Marriott
392e135349
Handle SIGTERM (and kill-server which uses it), a bit more neatly - tidy up
...
properly and print a nicer message. Same effect though :-)
2009-01-21 22:47:31 +00:00
Nicholas Marriott
2d15f59859
Try to change the window title to match the command running it in. This is done
...
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-20 19:35:03 +00:00
Nicholas Marriott
93230a64bc
Pass return code from _exec; allow command sequences to work from the command line.
2009-01-19 18:23:40 +00:00
Nicholas Marriott
8ea49712fd
suspend-client command and suspend client when ^Z key binding is used.
2009-01-18 12:09:42 +00:00
Nicholas Marriott
5aa3098bb6
Support #S #H in status-left/right.
2009-01-15 23:42:21 +00:00
Nicholas Marriott
97fef895f2
Rework the prefix-time stuff. The option is now call repeat-time and defaults to 500 ms. However, it only applies to a small subset of commands, currently: up-pane, down-pane, next-window, previous-window, resize-pane-up, resize-pane-down. These are the commands for which it is obviously useful, having it for everything else was just bloody annoying.
2009-01-14 22:13:30 +00:00
Nicholas Marriott
bc56751692
Disable lock-after-time by default.
2009-01-14 18:41:55 +00:00
Nicholas Marriott
78f7e6d127
Turn off prefix-time for the moment, it is too annoying.
2009-01-13 06:52:12 +00:00
Nicholas Marriott
60bfaf5bae
prefix-time option to allow multiple commands without additional prefixes.
2009-01-12 23:37:02 +00:00
Nicholas Marriott
e3feb067a5
Server locking. set-password and lock-server commands, plus automatic locking.
2009-01-11 00:48:42 +00:00
Nicholas Marriott
4d71164826
Pick up cwd from environment,.
2009-01-10 19:37:35 +00:00
Nicholas Marriott
88ab74ac20
Clock mode.
2009-01-10 19:35:40 +00:00
Nicholas Marriott
fd05d07c2b
Change server-info format.
2009-01-10 14:43:43 +00:00
Nicholas Marriott
a1b43faa43
Trim spaces.
2009-01-10 01:51:22 +00:00
Nicholas Marriott
fb6c8ecae6
New command, server-info, to show server info + terminal details. Also tweak term stuff a bit.
2009-01-10 01:30:38 +00:00
Nicholas Marriott
3ed5aa3e72
Build array of codes, stop using ncurses global variables and push ncurses crap into tty-term.c.
2009-01-09 23:57:42 +00:00
Nicholas Marriott
ed1031b358
Update key handling code. Simplify, support ctrl properly and add a new window option (xterm-keys) to output xterm key codes including ctrl and, if available, alt and shift.
2009-01-09 16:45:58 +00:00
Nicholas Marriott
5c3d973a4a
Import OpenBSD's getopt(3) to workaround broken glibc version.
2008-12-10 20:25:42 +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
d0342f4a04
Ability to show window title on status line.
2008-12-05 20:04:06 +00:00
Nicholas Marriott
8f163b8caa
Support dfly, from joshe.
2008-11-27 18:55:47 +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
9e57336786
Style tweaks.
2008-09-29 16:03:27 +00:00
Nicholas Marriott
62457bce0b
Trim.
2008-09-26 06:45:28 +00:00
Nicholas Marriott
df2b3bcf44
Fix stupid GNU getopt behaviour.
2008-09-25 23:28:15 +00:00
Nicholas Marriott
efe557313a
Internal screen data rewrite for better 256 colour/UTF-8 support.
2008-09-25 20:08:57 +00:00
Nicholas Marriott
19a2c87f04
Initial UTF-8 support.
2008-09-09 22:16:37 +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
8ed403e309
Tidy logging and lose stdout hacks for _info.
2008-08-08 17:35:42 +00:00
Nicholas Marriott
892d1b534e
Split emacs/vi keys into seperate tables.
2008-07-02 21:22:57 +00:00
Nicholas Marriott
b881ff91f2
Sync use from priteau.
2008-06-29 21:03:57 +00:00
Nicholas Marriott
d90d646ca8
Zombie windows, requested by Will Maier.
2008-06-29 07:04:31 +00:00
Nicholas Marriott
b69f4a3312
Split internal status-colour into status-fg/status-bg options and lose workarounds in set-option stuff.
2008-06-23 22:12:29 +00:00
Nicholas Marriott
91f3165b2d
IRIX fixes thanks to Elias Pipping.
2008-06-23 16:58:49 +00:00
Nicholas Marriott
c24d849fa4
Split options into a table to allow abbreviations.
2008-06-23 07:41:21 +00:00
Nicholas Marriott
3128de3f19
buffer-limit option.
2008-06-20 18:45:35 +00:00
Nicholas Marriott
4e4f71febb
Swap in new paste buffer code and add a couple more commands.
2008-06-20 17:31:48 +00:00
Nicholas Marriott
a1db273dc2
display-time option to set message display time.
2008-06-19 23:20:45 +00:00
Nicholas Marriott
73d1558ed0
status-lines -> status, prefix-key -> prefix
2008-06-19 22:04:02 +00:00
Nicholas Marriott
c3b7a49cc1
Editable prompt. Not used for anything yet. More to come.
2008-06-19 19:40:35 +00:00
Nicholas Marriott
99df48d70f
Trimify.
2008-06-18 22:21:51 +00:00
Nicholas Marriott
be53d7f298
More Sun OS crap.
2008-06-18 20:11:25 +00:00
Nicholas Marriott
19b7946a85
Start of Solaris port.
2008-06-18 19:34:50 +00:00
Nicholas Marriott
8873c79cbc
Set window title to current session. New options set-titles to disable.
2008-06-18 18:52:44 +00:00
Nicholas Marriott
6c23e89f48
Sort options from Pierre Riteau.
2008-06-18 16:39:15 +00:00
Nicholas Marriott
55d5b83408
Informational messages on window option changes.
2008-06-16 17:35:40 +00:00
Nicholas Marriott
557b6b86b0
Add a couple of extra option types, and implement show-options command.
2008-06-15 08:01:54 +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
642c0b00ab
Easy bits of arg printing for list-keys.
2008-06-05 16:35:32 +00:00
Nicholas Marriott
811e75da52
Status bar left and right strings (set with status-left and status-right), and automatic update (at interval set by status-interval).
2008-06-04 05:40:35 +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
f91e7bfd38
If no command is specified, assume new-session.
2008-06-03 05:35:51 +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
c7243b73cb
Move -s and -c down a level so handling them is the responsibility of the command (with some helper functions), rather than the top-level. This changes the action command syntax so that -s and -c must be after the command rather than before.
2008-06-02 18:08:17 +00:00
Nicholas Marriott
2bc8108b3e
Save term data in a linked list and reuse it.
2007-12-06 18:28:55 +00:00
Nicholas Marriott
103748d6ad
Major reorganisation of screen handling.
2007-12-06 09:46:23 +00:00
Nicholas Marriott
8da0b1fb99
Mostly-complete copy and paste.
2007-11-23 17:52:54 +00:00
Nicholas Marriott
9c584432d0
history-limit option.
2007-11-23 12:48:20 +00:00
Nicholas Marriott
da21ac965d
Work around Linux realpath breakage.
2007-11-20 12:59:27 +00:00
Nicholas Marriott
b359f9b594
Add -c option to specify client, and move detach/refresh to client rather than session.
2007-11-16 21:12:31 +00:00
Nicholas Marriott
4309d65475
realpath the socket path; also sprinkle some const.
2007-11-12 15:12:08 +00:00
Nicholas Marriott
0b832ea466
-V option to show tmux version.
2007-11-09 11:03:35 +00:00
Nicholas Marriott
1f10f6ea8b
Close memory leaks.
2007-10-24 11:42:03 +00:00
Nicholas Marriott
f941d270ca
Save/restore errno, free pfd buffer.
2007-10-24 11:21:29 +00:00
Nicholas Marriott
688a487570
Lift last MAXNAMELEN limit on -s argument.
2007-10-23 10:48:23 +00:00
Nicholas Marriott
f2f1b8fc81
Add default-command option and change default to be $SHELL rather than $SHELL -l. Also try to read shell from passwd db if $SHELL isn't present.
2007-10-20 09:57:08 +00:00
Nicholas Marriott
97e8b94ef8
cctx should be 0.
2007-10-19 21:58:17 +00:00
Nicholas Marriott
de24fbb35c
Add a bell-action option.
2007-10-19 10:21:36 +00:00
Nicholas Marriott
d4330f57c0
Init signals here to pick up zombie.
2007-10-12 17:52:41 +00:00
Nicholas Marriott
37f17a7e5b
Warn and bork on nested sessions ($TMUX exists).
2007-10-12 14:46:48 +00:00
Nicholas Marriott
7ec5be30df
set status, status-fg, status-bg.
2007-10-12 12:08:51 +00:00
Nicholas Marriott
68a5d5c00b
Window attachment, malloc debugging, fix a segfault with no sessions.
2007-10-04 11:52:03 +00:00
Nicholas Marriott
ff56ed7bd6
Nuke ?.
2007-10-04 11:23:17 +00:00
Nicholas Marriott
c3e049c5a9
Tweak error msgs.
2007-10-03 22:32:24 +00:00
Nicholas Marriott
001e2d1947
__progname in error msg.
2007-10-03 21:39:16 +00:00
Nicholas Marriott
df716ecc8f
Rewrite command handling to be more generic. Not finished!
2007-10-03 21:31:07 +00:00
Nicholas Marriott
ab6170d6bf
Use exec on default shell command.
2007-10-03 12:56:02 +00:00
Nicholas Marriott
aaa98ab4a2
Rename some bits.
2007-10-03 12:43:47 +00:00
Nicholas Marriott
fe06744d66
String/number arguments..
2007-10-03 12:34:16 +00:00
Nicholas Marriott
dadc56d754
Key binding, unbinding.
2007-10-03 11:26:34 +00:00
Nicholas Marriott
7ccdbf392d
Sprinkle some const.
2007-10-03 09:17:00 +00:00
Nicholas Marriott
91eb9206d0
Warn on ambiguous commands.
2007-10-02 17:35:00 +00:00
Nicholas Marriott
bfccbc67d1
Simple status line.
2007-10-01 14:53:29 +00:00
Maximilian Gass
d2e035f892
Added window renaming support (tmux rename)
2007-09-28 21:41:52 +00:00
Nicholas Marriott
a73deec89d
Erm, check the right length for short cmds.
2007-09-27 20:54:43 +00:00
Nicholas Marriott
58affec94c
Split list into ls/lsw.
2007-09-27 10:09:37 +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
187648e8d1
-S for socket, -s for session.
2007-09-26 19:38:42 +00:00
Nicholas Marriott
2a3e209cce
Extend op string and add potential for a single alias.
2007-09-26 19:09:30 +00:00
Nicholas Marriott
8d01984182
Restore list command.
2007-09-26 18:32:17 +00:00
Nicholas Marriott
65eeb7e421
Restore -n, now after the command.
2007-09-26 14:08:16 +00:00
Nicholas Marriott
fb39b22a2e
Cleanup part II: split up client stuff and ops. More to come.
2007-09-26 13:43:15 +00:00
Nicholas Marriott
24b978adb7
Don't resize unless size changed.
2007-09-21 18:00:58 +00:00
Nicholas Marriott
2cd99f0ebb
Reset ignored signals after forkpty.
2007-09-20 09:43:33 +00:00
Nicholas Marriott
3846c9b9a8
Set up signal handlers before fork so server has them too.
2007-08-28 09:36:33 +00:00
Nicholas Marriott
38b752c1d8
Remove old sockets after error.
2007-08-28 08:30:36 +00:00
Nicholas Marriott
8dbccbc4db
Consistent error message.
2007-08-27 13:53:55 +00:00
Nicholas Marriott
04f4e4219b
Change command format.
2007-08-27 13:45:26 +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