aboutsummaryrefslogtreecommitdiff
path: root/mode-tree.c
Commit message (Collapse)AuthorAge
* Add helpers for the simple case of parse string and add to command queue.nicm2020-04-13
|
* When adding a list of commands to the queue, instead of automaticallynicm2020-04-13
| | | | | | | creating a new state for each group of commands, require the caller to create one and use it for all the commands in the list. This means the current target works even with list with multiple groups (which can happen if they are defined with newlines).
* Fix positioning of menu in choose modes and a couple of keys in tree mode.nicm2020-03-20
|
* Do not crash in tree modes if the pane is only 1 in width, reported bynicm2019-12-12
| | | | KOIE Hidetaka in GitHub issue 2015.
* Add a flag to reverse sort in the various choose modes, from Benjaminnicm2019-08-16
| | | | Poirier in GitHub issue 1875.
* Add a few vi(1) key aliases, from D Ben Knoble.nicm2019-07-19
|
* Remove a leftover abort and some fixes from cppcheck.nicm2019-05-30
|
* Change display-menu from taking a single string to a set of arguments,nicm2019-05-28
| | | | which is much easier to work with. Based on a diff from Avi Halachmi.
* Fix the intended ordering of items in buffer mode - it should not alwaysnicm2019-05-27
| | | | be tag 0 when the tree is empty. GitHub issue 1759.
* Add formats for word and line under the mouse and use them to add somenicm2019-05-26
| | | | items to the pane menu.
* Replace the split parser code (cfg.c and cmd-string.c) with a singlenicm2019-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | parser using yacc(1). This is a major change but is clearer and simpler and allows some edge cases to be made more consistent, as well as tidying up how aliases are handled. It will also allow some further improvements later. Entirely the same parser is now used for parsing the configuration file and for string commands. This means that constructs previously only available in .tmux.conf, such as %if, can now be used in string commands (for example, those given to if-shell - not commands invoked from the shell, they are still parsed by the shell itself). The only syntax change I am aware of is that #{} outside quotes or a comment is now considered a format and not a comment, so #{ is now a syntax error (notably, if it is at the start of a line). This also adds two new sections to the man page documenting the syntax and outlining how parsing and command execution works. Thanks to everyone who sent me test configs (they still all parse without errors - but this doesn't mean they still work as intended!). Thanks to Avi Halachmi for testing and man page improvements, also to jmc@ for reviewing the man page changes.
* Fix some indentation and dead assignments.nicm2019-05-12
|
* Add simple menus to tree, client, buffer modes.nicm2019-05-12
|
* 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.
* DECRC and DECSC apparently need to preserve origin mode as well, basednicm2019-03-12
| | | | on a fix from Marc Reisner.
* Allow style #[] in mode formats.nicm2018-11-12
|
* Make key trees and some other bits static.nicm2018-08-02
|
* Add -Z flag to choose-tree, choose-client, choose-buffer tonicm2018-02-28
| | | | | | automatically zoom the pane when the mode is entered and unzoom when it exits, assuming the pane is not already zoomed. Add -Z to the default key bindings.
* C-g for modes too, from Mike Hamrick.nicm2018-02-26
|
* Show if filter is active/no matches in modes.nicm2018-02-05
|
* Clear key properly if on space with nothing in it.nicm2017-11-03
|
* Support mouse on preview in tree mode.nicm2017-11-03
|
* Change mouse in modes so that one click moves the cursor and a doublenicm2017-11-03
| | | | click chooses the line.
* Make the mode draw function use the parent screen directly rather thannicm2017-11-02
| | | | its own to avoid copying twice.
* Add a "fast" version of screen_write_copy for tree mode that doesn't donicm2017-11-02
| | | | all the checks and selection and marking stuff needed for copy mode.
* h/l keys for expand and collapse.nicm2017-10-25
|
* Add P key to paste tagged in buffer mode, and trim some code that shouldnicm2017-10-25
| | | | no longer be necessary.
* Clear to end of line properly with UTF-8 present.nicm2017-10-11
|
* Add C-n and C-p keys for tree mode, and choose the right initial linenicm2017-10-11
| | | | when no panes.
* Fix a few errors in how the selected line is chosen after resize,nicm2017-09-08
| | | | reported by Felix Rosencrantz in GitHub issue 1059.
* Do not allow the current line of screen when the preview is toggled,nicm2017-08-27
| | | | from Thomas Adam.
* Key (v) and flag (-N) to toggle preview in choose modes.nicm2017-08-23
|
* Line up keys in tree mode, and don't expand windows with one pane. Fromnicm2017-07-12
| | | | Thomas Adam.
* Handle 0 size of preview box in caller.nicm2017-07-04
|
* Extend filters (f key) to buffer and client mode and add -f flag tonicm2017-06-09
| | | | specify to command.
* Add -O option to choose-* to set initial sort order.nicm2017-06-09
|
* Return 1 if name matches not 0, also fix some spaces.nicm2017-06-07
|
* Add simple searching (C-s and n) to the various choose modes: by namenicm2017-06-07
| | | | for client and tree, and by name and content for buffer.
* Do not leak command, from David CARLIER.nicm2017-06-04
|
* Rewrite of choose mode, both to simplify and tidy the code and to addnicm2017-05-30
some modern features. Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes. Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are: - each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane; - items may be sorted in different ways ('O' key); - multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once); - in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':'); - displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f'); - the custom format (-F) for the display is no longer available; - shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z. Now that the code is simpler, other improvements will come later. Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree). Parts written by Thomas Adam.