summaryrefslogtreecommitdiffstats
path: root/cmd-list-windows.c
AgeCommit message (Collapse)Author
2010-07-02Sync OpenBSD patchset 732:Tiago Cunha
Custom layouts. list-windows command displays the layout as a string (such as "bb62,159x48,0,0{79x48,0,0,79x48,80,0}") and it can be applied to another window (with the same number of panes or fewer) using select-layout.
2009-11-14Sync OpenBSD patchset 539:Tiago Cunha
Get rid of the ugly CMD_CHFLAG macro and use a const string (eg "dDU") in the command entry structs and a couple of functions to check/set the flags.
2009-10-12Sync OpenBSD patchset 377:Tiago Cunha
Split list-panes off from list-windows.
2009-08-09Sync OpenBSD patchset 226:Tiago Cunha
Change the way the grid is stored, previously it was: - a two-dimensional array of cells; - a two-dimensional array of utf8 data; - an array of line lengths. Now it is a single array of a new struct grid_line each of which represents a line and contains the length and an array of cells and an array of utf8 data. This will make it easier to add additional per-line members, such as flags.
2009-08-08Update.Nicholas Marriott
2009-07-28Sync OpenBSD patchset 181:Tiago Cunha
Make all messages sent between the client and server fixed size. This is the first of two changes to make the protocol more resilient and less sensitive to other changes in the code, particularly with commands. The client now packs argv into a buffer and sends it to the server for parsing, rather than doing it itself and sending the parsed command data. As a side-effect this also removes a lot of now-unused command marshalling code. Mixing a server without this change and a client with or vice versa will cause tmux to hang or crash, please ensure that tmux is entirely killed before upgrading.
2009-07-20Sync OpenBSD patchset 142:Tiago Cunha
Each window now has a tree of layout cells associated with it. In this tree, each node is either a horizontal or vertical cell containing a list of other cells running from left-to-right or top-to-bottom, or a leaf cell which is associated with a pane. The major functional changes are: - panes may now be split arbitrarily both horizontally (splitw -h, C-b %) and vertically (splitw -v, C-b "); - panes may be resized both horizontally and vertically (resizep -L/-R/-U/-D, bound to C-b left/right/up/down and C-b M-left/right/up/down); - layouts are now applied and then may be modified by resizing or splitting panes, rather than being fixed and reapplied when the window is resized or panes are added; - manual-vertical layout is no longer necessary, and active-only layout is gone (but may return in future); - the main-pane layouts now reduce the size of the main pane to fit all panes if possible. Thanks to all who tested.
2009-07-14Having fixed flags for single-character getopt options is a bit hard toNicholas Marriott
maintain and is only going to get worse as more are used. So instead, add a new uint64_t member to cmd_entry which is a bitmask of upper and lowercase options accepted by the command. This means new single character options can be used without the need to add it explicitly to the list.
2009-05-04Space trimmage mega-diff.Nicholas Marriott
2009-04-30Display the layout name in window lists.Nicholas Marriott
2009-03-28Better UTF-8 support, including combined characters. Unicode data is now storedNicholas Marriott
as UTF-8 in a separate array, the code does a lookup into this every time it gets to a UTF-8 cell. Zero width characters are just appended onto the UTF-8 data for the previous cell. This also means that almost no bytes extra are wasted non-Unicode data (yay). Still some oddities, such as copy mode skips over wide characters in a strange way, and the code could do with some tidying.
2009-03-28Step 2 of the Grand Plan To Make UTF-8 Better.Nicholas Marriott
Split grid into two arrays, one containing grid attributes/flags/colours (keeps the name grid_cell for now) and a separate with the character data (called text). The text is stored as a u_short but is treated as a uint64_t elsewhere; eventually the grid will have two arrays. I'm not happy with the naming so that might change. Still need to decide where to go from here. I'm not sure whether to combine the peek/set functions together, and also whether to continue to treat the text as a uint64_t (and convert to/from Unicode) or make it a char array (of size one when UTF-8 disabled, eight when enabled) and keep everything as UTF-8. Also since UTF-8 will eventually become an attribute of the grid itself it might be nice to move all the padding crap into grid.c.
2009-03-28struct grid_data -> struct grid. Stage 1 of the Grand Plan To Make UTF-8 Better.Nicholas Marriott
2009-01-19Pass return code from _exec; allow command sequences to work from the ↵Nicholas Marriott
command line.
2009-01-14Whoops, make this work properly.Nicholas Marriott
2009-01-14Multiple window splitting.Nicholas Marriott
2009-01-12Make the window pane code handle panes of different sizes, and add a -l and ↵Nicholas Marriott
-p arguments to split-window to specify the new window size in lines or as a percentage.
2009-01-11Window splitting. Two vertical panes fixed 50% each. This is a huge diff, ↵Nicholas Marriott
still a couple of bugs (notably heap corruption somewhere causing segfault on exit).
2008-09-26Trim.Nicholas Marriott
2008-09-25Internal screen data rewrite for better 256 colour/UTF-8 support.Nicholas Marriott
2008-09-09Initial UTF-8 support.Nicholas Marriott
2008-09-08Initial 256 colour support, lightly tested.Nicholas Marriott
2008-06-29Zombie windows, requested by Will Maier.Nicholas Marriott
2008-06-05Big reorganisation of command-line syntax.Nicholas Marriott
2008-06-05Easy bits of arg printing for list-keys.Nicholas Marriott
2008-06-03If no command is specified, assume new-session.Nicholas Marriott
2008-06-02Add a windowonly generic command and use it where appropriate. Also trim ↵Nicholas Marriott
includes and unused.
2008-06-02Move -s and -c down a level so handling them is the responsibility of the ↵Nicholas Marriott
command (with some helper functions), rather than the top-level. This changes the action command syntax so that -s and -c must be after the command rather than before.
2007-12-06Major reorganisation of screen handling.Nicholas Marriott
2007-11-23Show hlimit.Nicholas Marriott
2007-11-23Only show history size.Nicholas Marriott
2007-11-21Don't count actual struct, don't count size twice.Nicholas Marriott
2007-11-21Cut memory consumption by only allocating lines when there is actually data ↵Nicholas Marriott
on them, and only as much as the right-most data. Everything else is filled in at runtime.
2007-11-21Initial history support.Nicholas Marriott
2007-11-20Mass screen.c rename/tidy. Add a actual size (ysize) as distinct from ↵Nicholas Marriott
display size (now dx,dy). Move functions which work on the displayed area into screen-display.c and tidy. Use macros consistently when accessing screen data (may want to move everything about again later!). This the first step on the road to scrollback.
2007-11-16Add -c option to specify client, and move detach/refresh to client rather ↵Nicholas Marriott
than session.
2007-11-13Use ctx->client/ctx->session inline instead of temporary variables which wereNicholas Marriott
being reused and causing confusion and problems.
2007-10-31Make it build/run on Linux.Nicholas Marriott
2007-10-30%u -> %d for indexes. Some lint fixes.Nicholas Marriott
2007-10-26Reorg window data structures. Add an intermediate data type (struct winlink) ↵Nicholas Marriott
to hold index and make sessions hold a RB tree of them rather than a fixed array.
2007-10-23Show size.Nicholas Marriott
2007-10-04Lose command index enum in favour of runtime-calculated index.Nicholas Marriott
2007-10-04Oops, missed this file too.Nicholas Marriott