mirror of
https://github.com/tmux/tmux.git
synced 2024-12-13 18:38:48 +00:00
Add to TODO.
This commit is contained in:
parent
4f5cb88c2b
commit
7a6b21de65
39
TODO
39
TODO
@ -155,9 +155,9 @@ TODO soonish maybe:
|
|||||||
#{W:#{window_name} }. It would need to be able to reach
|
#{W:#{window_name} }. It would need to be able to reach
|
||||||
into a window's options in order to allow different windows
|
into a window's options in order to allow different windows
|
||||||
to have different format, maybe an operator to evaluate an
|
to have different format, maybe an operator to evaluate an
|
||||||
option value as a format, maybe make it so ! on evaluates
|
option value as a format, maybe make it so E: on evaluates
|
||||||
the result as a format again something like, so end up with
|
the result as a format again something like, so end up with
|
||||||
something like #{W:#{!window-status-format} }
|
something like #{W:#{E:window-status-format} }
|
||||||
|
|
||||||
2) Some way to include alignment information for part of a format.
|
2) Some way to include alignment information for part of a format.
|
||||||
|
|
||||||
@ -167,16 +167,45 @@ TODO soonish maybe:
|
|||||||
status-left and right and the default status-format becomes
|
status-left and right and the default status-format becomes
|
||||||
something like (plus some bits for current window):
|
something like (plus some bits for current window):
|
||||||
|
|
||||||
#{L:#{!status-left} #{M:#{W:{!window-status-format}}} #{R:#{!status-right}}
|
#{L:#{E:status-left} #{M:#{W:{E:window-status-format}}} #{R:#{E:status-right}}
|
||||||
|
|
||||||
Where L = left, M = middle, R = right; W = for each window;
|
Where L = left, M = middle, R = right; W = for each window;
|
||||||
! = get option value and evaluate as format.
|
E = get option value and evaluate as format.
|
||||||
|
|
||||||
4) Also need a way to return mouse positioning, so a format
|
4) Also need a way to return mouse positioning, so a format
|
||||||
like the alignment that stores the offset/size for
|
like the alignment that stores the offset/size for
|
||||||
Mouse*Status{Left,Right}.
|
Mouse*Status{Left,Right}.
|
||||||
|
|
||||||
5) Then status-format can be an array option specifying
|
5) Likewise, styles. Alignment, mouse, styles can all be done
|
||||||
|
similarly - format_expand can be given the available width
|
||||||
|
and then build a list of format_range with type (ALIGN_LEFT,
|
||||||
|
STYLE, MOUSE_LEFT and so on) which a format_draw function
|
||||||
|
can use to draw the format, and can be stored to be used by
|
||||||
|
the mouse positioning check code.
|
||||||
|
|
||||||
|
6) status-left-length and similar will need to be taken into
|
||||||
|
account, perhaps add an alternative form of the length limit
|
||||||
|
eg #{l:#{status-left-length},#{...}}.
|
||||||
|
|
||||||
|
7) Supporting trimming the window list and adding <> might be
|
||||||
|
tricky, probably a second pass over the format_range list to
|
||||||
|
trim as appropriate. But it will need to know which element
|
||||||
|
to trim first, so some way to mark that is needed (maybe a
|
||||||
|
priority or something in the alignment/length limit).
|
||||||
|
|
||||||
|
8) Formats are going to get very long so perhaps standardize
|
||||||
|
them a bit so they are all something like #{F/argument:text}
|
||||||
|
then then could be #{A/foo;B/bar:text} rather than
|
||||||
|
#{A:foo,#{B:bar,text}} and so on. Need to keep the old style
|
||||||
|
for compatibility, at least for the most popular formats. So
|
||||||
|
the status-left part would be something like:
|
||||||
|
|
||||||
|
#{A/left;S/#{status-left-style};M/left;l/#{status-left-length};E:status-left}
|
||||||
|
|
||||||
|
Where A = alignment, S = style, M = mouse, l = length limit,
|
||||||
|
E = expand again.
|
||||||
|
|
||||||
|
9) Then status-format can be an array option specifying
|
||||||
multiple status lines. Perhaps one option for top and one
|
multiple status lines. Perhaps one option for top and one
|
||||||
for bottom.
|
for bottom.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user