Commit Graph

4752 Commits (ebe7bd7c8b4f3d703064b3d8b2b5ad8dd01e9e62)

Author SHA1 Message Date
nicm f52eac6225 Don't turn on modifyOtherKeys by default, it is annoying if tmux is
killed and it's left on and we can't turn it on and off like we do for
attributes. It's not hard to enable in .Xresources or .Xdefaults anyway.
2013-10-20 09:37:50 +00:00
Thomas Adam 2c08a3a559 Merge branch 'obsd-master' 2013-10-15 08:06:56 +01:00
nicm 2eb6d6e31b Fix detach -a by skipping clients where the session is NULL. 2013-10-15 00:15:11 +00:00
Thomas Adam 334c28afe7 Fix previous
cwd is a char*, not a u_int.
2013-10-11 19:41:43 +01:00
Thomas Adam 5944230c50 Fix up missing cwd definition
This went walkies during the merge.
2013-10-11 19:38:40 +01:00
Nicholas Marriott 8bcdd8fc21 Merge branch 'master' of ssh://git.code.sf.net/p/tmux/tmux-code
Conflicts:
	cmd-split-window.c
	cmd-unbind-key.c
	format.c
	osdep-openbsd.c
2013-10-11 16:52:39 +01:00
Thomas d518067be6 Forward-declarations for osdep-linux 2013-10-11 14:55:57 +01:00
Thomas f703a30dfe Fixup osdep-* specific code
get_proc_name() is osdep_get_name() outside of OpenBSD.
2013-10-11 14:39:22 +01:00
Nicholas Marriott 1a0951959f Add destroy entry to TODO. 2013-10-11 14:36:28 +01:00
Nicholas Marriott b347a994fd + to TODO. 2013-10-11 14:36:28 +01:00
Nicholas Marriott 6126fa0995 + to TODO. 2013-10-11 14:36:28 +01:00
Nicholas Marriott 85df418728 ++ to TODO. 2013-10-11 14:36:28 +01:00
Nicholas Marriott 558e5639d0 Remove from TODO. 2013-10-11 14:36:28 +01:00
Nicholas Marriott d8d746b4b8 Set EVENT_NOEPOLL on Linux again. 2013-10-11 14:36:28 +01:00
Nicholas Marriott 570028e9c0 Add entry about smaller clients based on text from Thomas Adam. 2013-10-11 14:36:28 +01:00
Thomas Adam 7c3e7d6535 Add subdir-objects to shut automake up
automake 1.14 onwards has started emitting lots of warnings about this
option:

automake: warning: possible forward-incompatibility.
automake: At least a source file is in a subdirectory, but the
'subdir-objects'
automake: automake option hasn't been enabled.  For now, the corresponding
output
automake: object file(s) will be placed in the top-level directory.
However,
automake: this behaviour will change in future Automake versions: they will
automake: unconditionally cause object files to be placed in the same
subdirectory
automake: of the corresponding sources.
automake: You are advised to start using 'subdir-objects' option throughout
your
automake: project, to avoid future incompatibilities.

So enable this in AM_INIT_AUTOMAKE.

This doesn't seem to break older automake versions.
2013-10-11 14:36:28 +01:00
Thomas Adam 5b065e93b3 Check setupterm() in libtinfo also
Some ncurses packages have build time configuration options to separate its
different parts into separate libraries.  Some Linux distributions in
particular separate out the terminfo routines in to libtinfo.

This change teaches configure that setupterm() can also be found there.
2013-10-11 14:36:28 +01:00
Thomas Adam d3f37566e2 Ignore .dirstamp files
GNU automake 1.14+ uses these files for subdir-option detection.  We don't
want to accidentally commit these.  They're not useful to us.
2013-10-11 14:36:28 +01:00
Nicholas Marriott b8b31ad53e Add openat() to compat. 2013-10-11 14:36:28 +01:00
Thomas 7f479ffdce Merge branch 'obsd-master' into mtemp 2013-10-11 14:33:29 +01:00
nicm 4901d9ddc8 Don't leak file descriptors in the rare MSG_VERSION case. From Chris
Johnsen.
2013-10-11 08:07:12 +00:00
nicm ffba21a60c Remove stray return, from Chris Johnsen. 2013-10-11 08:06:03 +00:00
nicm 98b81e9834 And get it right this time... don't leak if it is an empty string either. 2013-10-11 08:03:43 +00:00
nicm 17ec688ced Bracket in the wrong place in description of c0-change-trigger. 2013-10-10 23:31:28 +00:00
nicm 0b77d17b35 Fix leak in format_get_command. 2013-10-10 23:31:03 +00:00
nicm d0566a474a Remove the KERN_PROC_CWD the proc_current_path format (which is the only
thing that uses it now).
2013-10-10 12:39:24 +00:00
nicm 99e3cbc526 Use format_get_command() and some spacing tweaks. 2013-10-10 12:35:30 +00:00
nicm b85de1ddb3 Pass -1 for cwd now not NULL. 2013-10-10 12:29:53 +00:00
nicm c1ccefc62d We accidentally haven't been using $TMUX to work out the session for a
while and in fact it is less useful that using the client ttyname. So
don't bother and don't pass it from the client. If we need it in future
it is in c->environ.
2013-10-10 12:29:35 +00:00
nicm 6ac7abe8f0 Remove now unused cmd_get_default_path. 2013-10-10 12:28:56 +00:00
nicm 909e1c1a86 Don't boke when figuring out working directory from configuration file. 2013-10-10 12:28:38 +00:00
nicm 7936ce3874 Show session name in detached message. Requested by somebody a few
months ago who didn't bother testing it. But it works for me anyway.
2013-10-10 12:28:08 +00:00
nicm b8b85fbb0c Don't look at string[length - 1] if length == 0. 2013-10-10 12:27:38 +00:00
nicm 282c5f9644 Alter how tmux handles the working directory to internally use file
descriptors rather than strings.

- Each session still has a current working directory.

- New sessions still get their working directory from the client that
  created them or its attached session if any.

- New windows are created by default in the session working directory.

- The -c flag to new, neww, splitw allows the working directory to be
  overridden.

- The -c flag to attach let's the session working directory be changed.

- The default-path option has been removed.

To get the equivalent to default-path '.', do:

        bind c neww -c $PWD

To get the equivalent of default-path '~', do:

        bind c neww -c ~

This also changes the client identify protocol to be a set of messages rather
than one as well as some other changes that should make it easier to make
backwards-compatible protocol changes in future.
2013-10-10 12:26:34 +00:00
nicm 165aa59760 Make tilde expansion in command strings work even if it isn't terminated by /. 2013-10-10 12:14:09 +00:00
nicm 10c38436aa Similarly for MSG_COMMAND - allow full imsg limit not arbitrary 2048. 2013-10-10 12:13:56 +00:00
nicm a0404b6902 retcode -> retval for exit message. 2013-10-10 12:12:54 +00:00
nicm eb26dbd072 Merge IDENTIFY_* flags with CLIENT_* flags. 2013-10-10 12:12:08 +00:00
nicm 6c093010e0 Remove CMD_SENDENVIRON. 2013-10-10 12:09:34 +00:00
nicm d2160e3f83 mouse-resize-pane: Only resize on border select
The current behaviour of mouse-resize-pane is such that if the mouse
button is held down and a selection takes place within a pane, that if
the mouse pointer then hits a border edge, that pane-resize would
initiate.

This seems counter-intuitive; instead, check for a resize condition if
the border of a pane is selected, and in the case of mouse selection
within a pane, no longer resize the pane if edge of the border is hit.

By Thomas Adam.
2013-10-10 12:08:14 +00:00
nicm b822d24b15 Support -c for new-session, based on code from J Raynor. 2013-10-10 12:07:36 +00:00
nicm fc54bfe6b0 Make cmdq->client_exit a tristate (-1 means "not set") so that if
explicitly set it can be copied from child to parent cmdq by if-shell
and source-file. This fixes using attach or new. From Chris Johnsen.
2013-10-10 12:04:38 +00:00
nicm 1a49ebaa9f First period not last for host_short, from Michael Scholz. 2013-10-10 12:04:01 +00:00
nicm e4dc1568ce Don't treat TMUX_TMPDIR as a potential file
The point of setting TMUX_TMPDIR is to then make any labels from -L go
to that directory.  In the case of makesocketpath() with no TMUX_TMPDIR
set, would set both the path and the default socket to a file.  The
checking of the permissions on the file worked fine in that case, but
when TMUX_TMPDIR is set, won't work on a directory.

This fixes the problem by ensuring the check on the permissions is
performed on directories only.

By Thomas Adam.
2013-10-10 12:03:22 +00:00
nicm 1bd0851ee8 Mark flags as optional and mutually exclusive. From Tiago Cunha. 2013-10-10 12:02:55 +00:00
nicm 1b7c2dd056 Trivial style and spacing nits. 2013-10-10 12:01:14 +00:00
nicm d45c12b6c9 Remove the barely-used and unnecessary command check() function. 2013-10-10 12:00:18 +00:00
nicm 90ae7682ed Clear window->flags when clearing winlinks
When clearing WINLINK_ALERTFLAGS for all sessions, we must also, for
that window, clear the window->flags as well, otherwise sessions may
well still see flags for winlinks long since cleared.

This therefore introduces WINDOW_ALERTFLAGS to help with this.
2013-10-10 11:59:23 +00:00
nicm e6af0ad23e choose-tree: Reset top when toggling items
When choose-tree is told to expand/collapse items (especially when first
rendering collapsed to just show sessions), ensure that in addition to
setting the selected item, that the item itself appears on the bottom of
the screen, rather than off screen.

This was causing rendering glitches when a very small tmux window tried
to render a list of items in choose-tree much larger than itself, and
the selected item appeared off screen, and didn't show the selection
until the selection had wrapped around to the top of the screen.
2013-10-10 11:58:52 +00:00
nicm 34674bb180 Renumber windows: Lookup lastw via window not index
When calling 'movew -r' on a session to reorder the winlinks, ensure
when adding back in the information for the lastw stack that we look up
the winlink based on the window and not its index.

Using the index doesn't make sense here because when comparing it to the
old set, it will never match since the winlink has been renumbered.

Bug reported by Ben Boeckel. Patch by Thomas Adam.
2013-10-10 11:58:24 +00:00