Squashed commit of the following:
commit 6ebc3feb4671d9b25b3db99d3c16b2323b8e3d02
Author: topcat001 <anindya49@hotmail.com>
Date: Sun Aug 20 16:09:51 2023 -0700
Remove redundant {}.
commit 6f013fce39602c259a5be2d690d548c73e51cccc
Author: topcat001 <anindya49@hotmail.com>
Date: Sun Aug 20 16:02:15 2023 -0700
Revert "Do not defer redraw if it is just the status line (will need to do more here I"
This reverts commit 0a15bbf3f1.
commit e6322b4196d73c975ba2e73633e6de9c46779059
Author: topcat001 <anindya49@hotmail.com>
Date: Sun Aug 20 15:46:59 2023 -0700
Fix placeholder label and clean up.
commit 5896ac52a1f72056a75480b3e1ada328f239df9b
Merge: ad982330 e3a8b843
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Fri Aug 18 17:00:03 2023 +0100
Merge branch 'master' into sixel
commit ad98233066b72547aee7fa0c87838847ee7f1ece
Author: topcat001 <anindya49@hotmail.com>
Date: Tue Aug 15 13:57:08 2023 -0700
Better text placeholder.
commit 312d83252c27fc4d09d09d121bf7573336e3cdca
Merge: 14b8b524 3d93b0c5
Author: topcat001 <anindya49@hotmail.com>
Date: Tue Aug 15 13:39:22 2023 -0700
Merge remote-tracking branch 'origin/master' into sixel
commit 14b8b524523a7d5a4e42f7dfa346905c604c91e2
Merge: 4baf7642 fda39377
Author: topcat001 <anindya49@hotmail.com>
Date: Sat Jul 22 17:29:10 2023 -0700
Merge branch 'master' into sixel
commit 4baf76422fadb216bf27b47645b52da3379e7dea
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Wed Jun 21 07:43:53 2023 +0100
Both files can go on one line.
commit 4c92acf6ff
Author: topcat001 <anindya49@hotmail.com>
Date: Sat Jun 17 17:53:01 2023 -0700
Merge topcat001/tmux/sixel.
commit 6794facc82
Merge: 7b85f5ad f41c536f
Author: topcat001 <anindya49@hotmail.com>
Date: Sat Jun 17 17:21:02 2023 -0700
Merge remote-tracking branch 'origin/master' into sixel
commit 7b85f5adf9a5094db580ca98e4d2231d8d5b5a4f
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Jun 8 12:55:03 2023 +0100
Do not require passthrough for SIXEL.
commit a6ee55e0925cac35d011c188db2da0421fc09be1
Merge: 6da391f4 fe385b18
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Jun 8 12:19:55 2023 +0100
Merge branch 'master' into sixel
commit 6da391f460414ed3dde23e5ab6ca3fe8e988ce51
Merge: 0d71e585 0eb5d254
Author: topcat001 <anindya49@hotmail.com>
Date: Sat May 20 17:05:55 2023 -0700
Merge branch 'master' into sixel
commit 0d71e5853ffe797f90b815ac3af25ac0ad92ab07
Merge: 64368a1afbe6fe7f
Author: topcat001 <anindya49@hotmail.com>
Date: Sat Apr 29 17:32:07 2023 -0700
Merge branch 'master' into sixel
commit 64368a1a63
Merge: c630a56a22eb0334
Author: topcat001 <anindya49@hotmail.com>
Date: Thu Mar 30 14:21:09 2023 -0700
Merge branch 'master' into sixel
commit c630a56a62
Merge: 34c96c4caaa043a2
Author: topcat001 <anindya49@hotmail.com>
Date: Thu Nov 10 18:53:01 2022 -0800
Merge branch 'master' into sixel
commit 34c96c4c4a
Merge: 2a1e16a250f4e0fa
Author: topcat001 <anindya49@hotmail.com>
Date: Sat Nov 5 18:05:36 2022 -0700
Merge branch 'master' into sixel
commit 2a1e16a24d
Merge: a82f14c7d001a94d
Author: topcat001 <anindya49@hotmail.com>
Date: Thu Oct 27 16:01:35 2022 -0700
Merge branch 'master' into sixel
commit a82f14c7b2
Merge: 742c0634f7b30ed3
Author: topcat001 <anindya49@hotmail.com>
Date: Sun Aug 28 13:43:07 2022 -0700
Merge branch 'master' into sixel
commit 742c063473
Merge: 906c92a587b248f3
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Fri Apr 1 10:14:15 2022 +0100
Merge branch 'master' into sixel
commit 906c92a5f4
Merge: 6680a024138ffc7c
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Wed Dec 8 10:37:33 2021 +0000
Merge branch 'master' into sixel
commit 6680a024be
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Oct 7 13:59:08 2021 +0100
Fix build.
commit ebd2c58593
Merge: 90dc0519fed7b29c
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Oct 7 13:19:48 2021 +0100
Merge branch 'master' into sixel
commit 90dc05191c
Merge: a282439f4694afbe
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Feb 20 20:37:32 2020 +0000
Merge branch 'master' into sixel
commit a282439fcb
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Jan 30 09:12:53 2020 +0000
Add missing declarations.
commit 3a741aacd1
Merge: 40ad0107339832b9
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Jan 30 09:11:01 2020 +0000
Merge branch 'sixel-passthrough' into sixel
commit 339832b92c
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Jan 30 09:04:51 2020 +0000
Bad merge.
commit 92ed9fc0b2
Merge: 5bb0754832be954b
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Jan 30 09:03:38 2020 +0000
Merge branch 'master' into sixel-passthrough
commit 40ad01073d
Merge: dd3c72f161b075a2
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Sun Jan 12 20:03:41 2020 +0000
Merge branch 'master' into sixel
commit 5bb075487f
Merge: 7c033a7454efe337
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Wed Dec 18 20:24:42 2019 +0000
Merge branch 'master' into sixel-passthrough
commit dd3c72f132
Merge: 1a0e5fe954efe337
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Wed Dec 18 20:24:26 2019 +0000
Merge branch 'master' into sixel
commit 1a0e5fe933
Merge: cf071ffe15d7e564
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Tue Dec 10 16:34:11 2019 +0000
Merge branch 'master' into sixel
commit cf071ffecd
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Mon Dec 9 15:41:56 2019 +0000
Remove images when reflow happens.
commit 2006b7a563
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Dec 5 09:27:15 2019 +0000
More invalidation of images.
commit b642eac450
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Dec 5 09:11:24 2019 +0000
Redraw and scroll images and part of invalidating them.
commit 7566e37a46
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Dec 5 08:51:24 2019 +0000
Call sixel_scale with the right number of arguments.
commit 62c0280b23
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Dec 5 08:48:58 2019 +0000
Correctly remove when not visible.
commit 86c5098a88
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Dec 5 08:32:25 2019 +0000
Add helpers to scroll image up and a flag to copy the colours.
commit 49f2f0a8f1
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Dec 5 00:02:55 2019 +0000
Store images, currently at most 10.
commit 3aebcc6709
Merge: 146ee3f692ecd611
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Wed Dec 4 19:27:16 2019 +0000
Merge branch 'master' into sixel
commit 7c033a74e2
Merge: 0a15bbf392ecd611
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Wed Dec 4 12:41:09 2019 +0000
Merge branch 'master' into sixel-passthrough
commit 146ee3f6f8
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Sat Nov 30 09:47:53 2019 +0000
Don't write image as text yet.
commit 0a15bbf3f1
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Sat Nov 30 09:15:35 2019 +0000
Do not defer redraw if it is just the status line (will need to do more here I
think).
commit a5b1e20941
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Nov 28 14:20:22 2019 +0000
Add a flag to disable blocking while sending a SIXEL image (turned off when the
buffer hits 0 size).
commit 968382aa6a
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Nov 28 12:35:18 2019 +0000
Pass through SIXEL DCS sequences (treat similarly to the passthrough escape
sequence) if it appears the terminal outside supports them.
commit b1904c9b8d
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Sat Nov 30 09:17:18 2019 +0000
Store SIXELs as a box for the moment.
commit 5d8dbcdf3d
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Sat Nov 30 09:15:35 2019 +0000
Do not defer redraw if it is just the status line (will need to do more here I
think).
commit 0c999a402e
Merge: 28961dd5866b053f
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Fri Nov 29 18:54:09 2019 +0000
Merge branch 'master' into sixel
commit 28961dd5a3
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Nov 28 14:24:57 2019 +0000
Add an image.
commit d2e3f3c1cc
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Nov 28 14:20:22 2019 +0000
Add a flag to disable blocking while sending a SIXEL image (turned off when the
buffer hits 0 size).
commit e01df67ca1
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Nov 28 13:21:40 2019 +0000
Crop and scale images as needed when drawing them.
commit e24acc0b5c
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Nov 28 12:38:02 2019 +0000
Simple SIXEL parse and modify API.
commit b34111b3da
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date: Thu Nov 28 12:35:18 2019 +0000
Pass through SIXEL DCS sequences (treat similarly to the passthrough escape
sequence) if it appears the terminal outside supports them.
terminals such as iTerm2). Originally written by me then extended and
completed by first Will Noble and later Jeff Chiang. GitHub issues 911,
2621, 2890, 3240.
borders if the terminal support UTF-8 and an extension terminfo(5)
capability "Bidi" is present. On terminals with BiDi support (ie, VTE)
this seems to be enough to display right-to-left text acceptably enough
to be usable (with some caveats about the mouse position). Requested by
and with help from Mahmoud Elagdar in GitHub issue 2425.
lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or
number (the pane numbers). Lines that won't work on a non-UTF-8 terminal
are translated back into ACS when they are output.
client and allows it to be changed independently from the real active
pane stored in the window. This is can be used with session groups which
allow an independent current window (although it would be nice to have a
flag for this too and remove session groups). The client active pane is
only really useful interactively, many things (hooks, window-style,
zooming) still use the window active pane.
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.
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.
clear it on the first redraw, and it can't be set when we are finished
or they would be redrawn again, so if the redraw is deferred for a
client, copy the redraw flag into a separate set of bits just for that
client.
the data from the last one, other panes could update while waiting, so
we set the flag to redraw them all when the new redraw actually
happened. But this means a lot of redrawing panes unnecessarily if they
haven't changed - so instead set a flag to say "at least one pane needs
to be redrawed" then look at the invidual pane flags to see which ones
need it.
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.
been a limitation for a long time.
There are two new options, window-size and default-size, and a new
command, resize-window. The force-width and force-height options and the
session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of
windows: largest means it picks the size of the largest session,
smallest the smallest session (similar to the old behaviour) and manual
means that it does not automatically resize windows. The default is
currently largest but this may change. aggressive-resize modifies the
choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only
part of the window is shown. tmux attempts to keep the cursor visible,
so the part of the window displayed is changed as the cursor moves (with
a small delay, to try and avoid excess redrawing when applications
redraw status lines or similar that are not currently visible). The
offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as
those which fit, particularly when the cursor moves, so it is
recommended to avoid using this on slow machines or networks (set
window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it
is used, the window-size option is automatically set to manual for the
window (undo this with "setw -u window-size"). resize-window works in a
similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and
-A flags. -a sets the window to the size of the smallest client (what it
would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window
-x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size
option is used for new windows. If -x or -y is used with new-session,
that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to
complain and much higher memory use if making a window excessively
big. The minimum size is the size required for the current layout
including borders.
The refresh-client command can be used to pan around a window, -U -D -L
-R moves up, down, left or right and -c returns to automatic cursor
tracking. The position is reset when the current window is changed.