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