summaryrefslogtreecommitdiffstats
path: root/mode-tree.c
AgeCommit message (Collapse)Author
2023-08-15Add an option menu-selected-style to configure the currently selectednicm
menu item, from Alexis Hildebrandt.
2023-08-11Do not crash if in buffer mode and the last buffer is deleted using thenicm
command.
2023-08-08Add options and flags for menu styles similar to those existing fornicm
popups, from Alexis Hildebrandt. GitHub issue 3650.
2023-01-20Add a flag to display-menu to select the manu item chosen first, GitHubnicm
issue 3442.
2022-02-01A menu must be shown on a client, so always give the client when addingnicm
the items. Also fix mode menus.
2021-12-06Fix g/G keys to be in line with copy mode.nicm
2021-11-15Leave the hardware cursor at the position of the selected line in choosenicm
modes and current editing position and at the command prompt. It is invisible but this is helpful for people using screen readers. GitHub issue 2970.
2021-10-26Do not allow inline styles to replace mode-style for the selected item,nicm
from Alexis Hildebrandt in GitHub issue 2946.
2021-10-20Add -T to set a popup title, from Alexis Hildebrandt in GitHub issue 2941.nicm
2021-10-14Add popup-border-lines option to set popup line style, from Alexisnicm
Hildebrandt, GitHub issue 2930.
2021-10-13Add popup-style and popup-border-style options, from Alexis Hildebrandtnicm
in GitHub issue 2927.
2021-08-20Remove stray spaces after function names.nicm
2021-06-10Add different command historys for different types of promptsnicm
("command", "search" etc). From Anindya Mukherjee.
2021-04-12Add a flag to disable keys to close a message, GitHub issue 2625.nicm
2021-04-12Permit shortcut keys in buffer, client, tree modes to be configured withnicm
a format; the default remains the line number. GitHub issue 2636.
2020-07-27Add a -d option to display-message to set delay, from theonekeyg atnicm
gmail dot com in GitHub issue 2322.
2020-06-16d and D keys to reset to default in customize mode.nicm
2020-05-16Separate key flags and modifiers, log key flags, make the "xterm" flagnicm
more explicit and fix M- keys with a leading escape.
2020-05-16Expand target from client and use it to expand the prompt.nicm
2020-05-16Add a customize mode where keys and options may be browsed and changed,nicm
includes adding a brief description of each option. Bound to "C" by default.
2020-05-16Support embedded styles in the display-message message, GitHub issuenicm
2206.
2020-05-16Add M-+ and M-- to expand and collapse all items in tree mode.nicm
2020-05-16Do not hoke into struct window_pane from the tty code and instead setnicm
everything up in tty_ctx. Provide a way to initialize the tty_ctx from a callback and use it to let popups draw directly through input_parse in the same way as panes do, rather than forcing a full redraw on every change.
2020-05-16Drop having a separate type for style options and make them all strings,nicm
which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later. To make this work, a few other changes: - set-option -a with a style option automatically appends a ",". - OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style. - status-fg and -bg now override status-style instead of trying to keep them in sync.
2020-04-22Indicate the marked pane in choose mode in reverse and add key to setnicm
and clear it (m and M) and a key to jump to the starting pane (H).
2020-04-13Add helpers for the simple case of parse string and add to command queue.nicm
2020-04-13When adding a list of commands to the queue, instead of automaticallynicm
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).
2020-03-20Fix positioning of menu in choose modes and a couple of keys in tree mode.nicm
2019-12-12Do not crash in tree modes if the pane is only 1 in width, reported bynicm
KOIE Hidetaka in GitHub issue 2015.
2019-08-16Add a flag to reverse sort in the various choose modes, from Benjaminnicm
Poirier in GitHub issue 1875.
2019-07-19Add a few vi(1) key aliases, from D Ben Knoble.nicm
2019-05-30Remove a leftover abort and some fixes from cppcheck.nicm
2019-05-28Change display-menu from taking a single string to a set of arguments,nicm
which is much easier to work with. Based on a diff from Avi Halachmi.
2019-05-27Fix the intended ordering of items in buffer mode - it should not alwaysnicm
be tag 0 when the tree is empty. GitHub issue 1759.
2019-05-26Add formats for word and line under the mouse and use them to add somenicm
items to the pane menu.
2019-05-23Replace the split parser code (cfg.c and cmd-string.c) with a singlenicm
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.
2019-05-12Fix some indentation and dead assignments.nicm
2019-05-12Add simple menus to tree, client, buffer modes.nicm
2019-03-18Extend the #[] style syntax and use that together with previous formatnicm
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.
2019-03-12DECRC and DECSC apparently need to preserve origin mode as well, basednicm
on a fix from Marc Reisner.
2018-11-12Allow style #[] in mode formats.nicm
2018-08-02Make key trees and some other bits static.nicm
2018-02-28Add -Z flag to choose-tree, choose-client, choose-buffer tonicm
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.
2018-02-26C-g for modes too, from Mike Hamrick.nicm
2018-02-05Show if filter is active/no matches in modes.nicm
2017-11-03Clear key properly if on space with nothing in it.nicm
2017-11-03Support mouse on preview in tree mode.nicm
2017-11-03Change mouse in modes so that one click moves the cursor and a doublenicm
click chooses the line.
2017-11-02Make the mode draw function use the parent screen directly rather thannicm
its own to avoid copying twice.
2017-11-02Add a "fast" version of screen_write_copy for tree mode that doesn't donicm
all the checks and selection and marking stuff needed for copy mode.