aboutsummaryrefslogtreecommitdiff
path: root/window.c
Commit message (Collapse)AuthorAge
* When the active pane changes, redraw panes if the style hasnicm2015-09-14
| | | | changed. From Cam Hutchison.
* Remove some old prototypes and unused functions.nicm2015-08-29
|
* Move alerts onto events rather than checking every loop.nicm2015-08-29
|
* Treat entering or leaving a mode as pane changed.nicm2015-08-29
|
* Better take on reducing the name timer. Again check for name changes innicm2015-08-29
| | | | | | the main loop after events that may have changed the pane, but do so at most once every 500 millis. If the pane changed too soon, use a timer to ensure that a check happens later.
* Only set default title to hostname on screens that are being used for anicm2015-08-28
| | | | window pane, no point in calling gethostname() for temporary screens.
* Revert previous; we do need a timer, until I have a better idea. Wenicm2015-08-28
| | | | | | can't do the name check every loop, because that is too expensive, and we can't make sure it only happens infrequently because we have no idea when the next change will happen.
* We now only checking for name changes when the active pane has changed,nicm2015-08-28
| | | | | | | but that can only happen when we have already been woken up by a read event, so there is no need for a timer, we can just check the changed flag on the end of that read event (we already loop over the windows to check for bells etc anyway).
* Error messages should not have a trailing period.nicm2015-08-28
|
* Only do the automatic-rename dance if the pane has changed (seen output,nicm2015-08-28
| | | | or new active pane).
* Do not call window_unzoom from window_destroy because it will try to addnicm2015-07-17
| | | | | | | a notification which will get confused because the reference count is already zero and end up back in window_destroy and a double free. Instead, just destroy the layouts directly. Noticed by Thomas Adam.
* Move the shuffle code from new-window -a into a function and add a -anicm2015-06-17
| | | | flag for move-window too. From Thomas Adam.
* Add window_activity format, from Thomas Adam based on a diff originallynicm2015-06-15
| | | | from propos6 at gmail dot com.
* Add support for a single "marked pane". There is one marked pane in thenicm2015-06-04
| | | | | | | | | server at a time; it may be toggled or cleared with select-pane -m and -M (the border is highlighted). A new target '~' or '{marked}' specifies the marked pane to commands and it is the default target for the swap-pane and join-pane -s flag (this makes them much simpler to use - mark the source pane and then change to the target pane to run swapp or joinp).
* To replace c0-*, add a high watermark to the pty event, and also backoffnicm2015-05-12
| | | | | when the any of the ttys the pane is going to write to has buffered enough data.
* Remove the c0-* options which never really worked satisfactorily. Goingnicm2015-05-11
| | | | to try something else...
* Style spacing nits.nicm2015-05-07
|
* Add a format window_linked which is 1 if a window has been linkednicm2015-05-06
| | | | | | | multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
* Add select-layout -o to undo the last layout change (apply the previouslynicm2015-04-28
| | | | set layout).
* Get rid of window_choose_list type.nicm2015-04-25
|
* Make message log a TAILQ.nicm2015-04-25
|
* Move the functions to convert ids from strings into session.c and window.c.nicm2015-04-25
|
* Change the windows array into an RB tree and fix some places where wenicm2015-04-22
| | | | were only looking at the first winlink for a window in a session.
* window_index is only used in one place (window_destroy) so inline it there.nicm2015-04-22
|
* Always format real layout even when zoomed.nicm2015-04-21
|
* Use a more sensible buffer size for flags string.nicm2015-04-20
|
* Rewrite of tmux mouse support which was a mess. Instead of havingnicm2015-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on). See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event). The default builtin bindings for the mouse are: bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M To get the effect of turning mode-mouse off, do: unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
* Support setting the default window and pane background colours (windownicm2015-04-19
| | | | | and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
* Entries in the window list can be NULL, prompted by a crash seen by Bennicm2015-02-09
| | | | Boeckel.
* Notify on zoom/unzoom, from George Nachmann.nicm2014-12-15
|
* Only redraw pane when it has actually changed.nicm2014-10-21
|
* Add flags to selectp to enable and disable input to a pane, from Anishnicm2014-08-11
| | | | Athalye.
* Allow keys and send-keys to invisible panes, from saggy-kun at users dotnicm2014-06-23
| | | | sf dot net.
* Reset properly when c0-change-trigger is increased from zero so panesnicm2014-06-05
| | | | don't get stuck.
* If multiple arguments are given to new-session, new-window,nicm2014-05-13
| | | | | | split-window, respawn-window or respawn-pane, pass them directly to execvp() to help avoid quoting problems. One argument still goes to "sh -c" like before. Requested by many over the years. Patch from J Raynor.
* Both the two previous ways of navigating panes by direction havenicm2014-05-08
| | | | | | | | | | | | | | | | irritating flaws: a) The old way of always using the top or left if the choice is ambiguous is annoying when the layout is unbalanced. b) The new way of remembering the last used pane is annoying if the layout is balanced and the leftmost is obvious to the user (because clearly if we go right from the top-left in a tiled set of four we want to end up in top-right, even if we were last using the bottom-right). So instead, use a combination of both: if there is only one possible pane alongside the current pane, move to it, otherwise choose the most recently used of the choice.
* Some more long lines.nicm2014-04-17
|
* Set PATH explicitly, either from client or sessionnicm2014-04-17
| | | | | environment. Previously it came from the session environment. From J Raynor.
* Remove some unnecessary includes and fix a typo.nicm2014-04-17
|
* Correct the dance to fix the active pane in join-pane by pulling thenicm2014-04-17
| | | | | (right) code from break-pane and window_remove_pane into a helper function.
* Remove the monitor-content option and associated bits and bobs. It'snicm2014-04-17
| | | | | never worked very well. If there is a big demand for it to return, will consider better ways to do it.
* Don't segfaut when the parent of the layout cell is NULL, from Thomas Adam.nicm2014-03-31
|
* Fix crash due to uninitialized lastwp member of layout_cell, reported bynicm2014-02-22
| | | | Balazs Kezes.
* Allow replacing each of the many sets of separate foo-{fg,bg,attr}nicm2014-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | options with a single foo-style option. For example: set -g status-fg yellow set -g status-bg red set -g status-attr blink Becomes: set -g status-style fg=yellow,bg=red,blink The -a flag to set can be used to add to rather than replace a style. So: set -g status-bg red Becomes: set -ag status-style bg=red Currently this is fully backwards compatible (all *-{fg,bg,attr} options remain) but the plan is to deprecate them over time. From Tiago Cunha.
* Remember the last active pane in the top-bottom or left-right cell sonicm2014-01-28
| | | | | that it can be restored when moving back to that cell with selectp -L/-R/etc. From Suraj N Kurapati.
* Alter how tmux handles the working directory to internally use filenicm2013-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Clear window->flags when clearing winlinksnicm2013-10-10
| | | | | | | | 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.
* Fix compiler warnings, missing #include. From Thomas Adam.Nicholas Marriott2013-03-26
|
* Revert the command-prefix change which breaks sequences of commands.Nicholas Marriott2013-03-25
|
* Set pane resize flag when needed.Nicholas Marriott2013-03-25
|