summaryrefslogtreecommitdiffstats
path: root/window-client.c
AgeCommit message (Collapse)Author
2023-08-08Extend the menu drawing function to support custom characters andnicm
styles, from Alexis Hildebrandt.
2022-05-30Spacing/style nits.nicm
2021-08-20Hide struct args behind a couple of accessor functions.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-12-03Redraw any visible modes when status line changes so that formats likenicm
the pane title are updated. GitHub issue 2487. Also a man page fix from jmc.
2020-06-01Instead of sending all data to control mode clients as fast as possible,nicm
add a limit of how much data will be sent to the client and try to use it for panes with some degree of fairness. GitHub issue 2217, with George Nachman.
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-16Tweak the default choose modes formats:nicm
- Only show pane title if it is not default and not empty. - Add a prettier time format and use that instead of long ctime(). - Remove clutter and change the order.
2020-01-28Add a define for flags meaning a client is not attached, and fixnicm
unattached counter, reported by Thomas Sattler.
2019-12-03Style nits in function arguments.nicm
2019-08-16Add a flag to reverse sort in the various choose modes, from Benjaminnicm
Poirier in GitHub issue 1875.
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-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-18Add format variables for the default formats for the various modesnicm
(tree_mode_format and so on) and add a -a flag to display-message to list variables with values.
2019-03-16Use a pointer for the active screen in the status line instead ofnicm
copying them around all the time.
2019-03-16Tidy and rename some bits of status line code.nicm
2019-03-12DECRC and DECSC apparently need to preserve origin mode as well, basednicm
on a fix from Marc Reisner.
2019-03-07Add a separate mode struct for the active window mode if any.nicm
2018-12-18Pass window into mode functions.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-05Add struct status_line to hold status line members of struct client, notnicm
used yet but will be soon. From Thomas Adam.
2017-11-03Support mouse on preview in tree mode.nicm
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.
2017-10-25Add P key to paste tagged in buffer mode, and trim some code that shouldnicm
no longer be necessary.
2017-08-09Add -F to choose-tree, choose-client, choose-buffer to specify thenicm
format of each line, as well as adding a couple of formats needed for the default display.
2017-06-30Try to show a better preview of sessions and windows in tree mode.nicm
2017-06-09Extend filters (f key) to buffer and client mode and add -f flag tonicm
specify to command.
2017-06-09Add -O option to choose-* to set initial sort order.nicm
2017-06-08Add size to client descriptions in list, suggested by Greg Hurrell.nicm
2017-06-07Add simple searching (C-s and n) to the various choose modes: by namenicm
for client and tree, and by name and content for buffer.
2017-05-31time.h here too.nicm
2017-05-30Rewrite of choose mode, both to simplify and tidy the code and to addnicm
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.