aboutsummaryrefslogtreecommitdiff
path: root/window.c
Commit message (Collapse)AuthorAge
* Make client -c and -t handling common in cmd-queue.c and try to benicm2020-04-13
| | | | | clearer about whether the client is the target client (must have a session) or not.
* Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make itsnicm2020-04-13
| | | | use more clearly defined and preparation for some future work).
* Now that copy mode copies the pane content rather than keeping anicm2020-04-10
| | | | | | | | | | reference to it, it isn't necessary that the pane in copy mode is the same as the one copying from. Add a -s flag to copy-mode to specify a different pane for the source content. This means it is possible to view two places in a pane's history at the same time in different panes, or copy from a pane's history into an editor or shell in the same pane. From Anindya Mukherjee.
* Pass correct flags to fnmatch.nicm2020-04-09
|
* Change copy mode to make copy of the pane history so it does not need tonicm2020-04-06
| | | | | | freeze updates (which does not play nicely with some applications, a longstanding problem) and will allow some other changes later. From Anindya Mukherjee.
* Move alternate screen into the screen rather than the pane.nicm2020-03-31
|
* Change input path so it doesn't require a pane.nicm2020-03-19
|
* FIx type for %u, from Thomas Adam.nicm2020-03-16
|
* Fix top/bottom pane calculation with pane border status enabled,nicm2020-02-14
| | | | reported by Stanislav Spassov.
* Treat plausible but invalid keys (like C-BSpace) as literal like anynicm2020-01-13
| | | | | other unrecognised string passed to send-keys. Reported by Anthony Sottile in GitHub issue 2049.
* Rewrite the code for reading and writing files. Now, if the client isnicm2019-12-12
| | | | | | | | | not attached, the server process asks it to open the file, similar to how works for stdin, stdout, stderr. This makes special files like /dev/fd/X work (used by some shells). stdin, stdout and stderr and control mode are now just special cases of the same mechanism. This will also make it easier to use for other commands that read files such as source-file.
* Make a best effort to set xpixel and ypixel for each pane and addnicm2019-11-28
| | | | formats for them.
* Start with empty rather than NULL window name to avoid NULL printf ifnicm2019-10-28
| | | | window_name is evaluated early. Reported by Mikolaj Kucharski.
* Make client exit if pane where input is going is closed.nicm2019-09-10
|
* The resize event was never deciding to actually resize the pane if therenicm2019-08-28
| | | | | | | was output in the pane faster than the timer would fire, so change how it works to only defer the timer again if the pane was actually resized within the last timer period. Reported by James Tai in GitHub issue 1880.
* Add -Z flag to rotate-window, select-pane, swap-pane, switch-client tonicm2019-08-14
| | | | preserve zoomed state. GitHub issue 1839.
* Do not double free window if pane fails to start.nicm2019-06-30
|
* Fix a typo in window_pane_find_down (w not wp) and a missing PANE_STATUS_TOP.nicm2019-06-26
|
* Log window and pane resizes.nicm2019-06-26
|
* Add #define for the pane status line option position numbers.nicm2019-06-26
|
* Trim trailing spaces when matching.nicm2019-06-24
|
* allow-rename and alternate-screen can be pane options.nicm2019-06-20
|
* Add a per-pane option set. Pane options inherit from window options (sonicm2019-06-20
| | | | | | | | | | | | there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p. Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later). This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
* Add a cmdq_continue function rather than twiddling the flag directly.nicm2019-06-18
|
* Add regular expression support for the format search, match andnicm2019-06-13
| | | | substitute modifiers.
* Exiting alternate screen mode should restore cursor position andnicm2019-06-09
| | | | | attributes even if already outside alternate screen mode. GitHub issue 1789.
* Remove a leftover abort and some fixes from cppcheck.nicm2019-05-30
|
* Do not use evbuffer_add_buffer because it is destructive and doesn'tnicm2019-05-07
| | | | work in newer libevent.
* Allow panes to be empty (no command), output can be piped to them withnicm2019-05-03
| | | | split-window or display-message -I.
* Destroy panes before options to avoid crash when forced into a mode by anicm2019-04-26
| | | | hook.
* Break new window and pane creation common code from various commands andnicm2019-04-17
| | | | window.c into a separate file spawn.c.
* Free temporary screens when writing format.nicm2019-03-18
|
* Extend the #[] style syntax and use that together with previous formatnicm2019-03-18
| | | | | | | | | | | | | | | | | | | | changes to allow the status line to be entirely configured with a single option. Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time. Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings. The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
* Mode init needs to be fired with the mode on the list or it will not benicm2019-03-18
| | | | resized correctly.
* Add format variables for the default formats for the various modesnicm2019-03-18
| | | | | (tree_mode_format and so on) and add a -a flag to display-message to list variables with values.
* Add a wrapper (struct style) around styles rather than using thenicm2019-03-14
| | | | grid_cell directly. There will be some non-cell members soon.
* Fix resizing of control clients, should be ignored until SIZECHANGED flag set.nicm2019-03-12
|
* Allow multiple modes to be open in a pane. A stack of open modes is keptnicm2019-03-12
| | | | | | and the previous restored when the top is exited. If a mode that is already on the stack is entered, the existing instance is moved to the top as the active mode rather than being opened new.
* Add a separate mode struct for the active window mode if any.nicm2019-03-07
|
* Pass window into mode functions.nicm2018-12-18
|
* Clear PANE_EXITED flag when starting new child process in case the panenicm2018-11-30
| | | | has been respawned.
* evbuffer_new and bufferevent_new can both fail (when malloc fails) andnicm2018-11-19
| | | | return NULL. GitHub issue 1547.
* Support for windows larger than visible on the attached client. This hasnicm2018-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | been a limitation for a long time. There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed. The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before. If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right. Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual). The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest. For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing.. If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session. The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders. The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
* calloc the mode data instead of malloc and initialize everything.nicm2018-08-05
|
* Log command arguments.nicm2018-08-02
|
* Make server_client_get_cwd used (almost) everywhere we need to work outnicm2018-05-24
| | | | | the cwd, and do not fall back to "." as it is pretty useless. GitHub issue 1331.
* Improve logging of the environment etc for new panes.nicm2018-05-24
|
* Insert full size panes at the right position, from KOIE Hidetaka innicm2018-03-16
| | | | GitHub issue 1284.
* If we successfully change the directory, set PWD too to give the shell anicm2017-11-09
| | | | hint in case of symlinks.
* Show exit status and time in the remain-on-exit pane text, mostly fromnicm2017-10-12
| | | | Timo Boettcher in GitHub issue 1103.