<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rtmux.git/window-clock.c, branch master</title>
<subtitle>Tmux with Rahm's extra hacks.</subtitle>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/'/>
<entry>
<title>Do not hoke into struct window_pane from the tty code and instead set</title>
<updated>2020-05-01T16:01:36+00:00</updated>
<author>
<name>Nicholas Marriott</name>
<email>nicholas.marriott@gmail.com</email>
</author>
<published>2020-05-01T16:01:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=8110c7a25f257b13f92f34559efedba204e6ea98'/>
<id>8110c7a25f257b13f92f34559efedba204e6ea98</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>DECRC and DECSC apparently need to preserve origin mode as well, based</title>
<updated>2019-03-12T20:02:47+00:00</updated>
<author>
<name>nicm</name>
<email>nicm</email>
</author>
<published>2019-03-12T20:02:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=938156d73b0cc0692c727ac9a94bf65b235cfe40'/>
<id>938156d73b0cc0692c727ac9a94bf65b235cfe40</id>
<content type='text'>
on a fix from Marc Reisner.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
on a fix from Marc Reisner.
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow multiple modes to be open in a pane. A stack of open modes is kept</title>
<updated>2019-03-12T11:16:49+00:00</updated>
<author>
<name>nicm</name>
<email>nicm</email>
</author>
<published>2019-03-12T11:16:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=3f6bfbaf2babcc7f08f628a82ff31b0b52014e58'/>
<id>3f6bfbaf2babcc7f08f628a82ff31b0b52014e58</id>
<content type='text'>
and the previous restored when the top is exited. If a mode that is
already on the stack is entered, the existing instance is moved to the
top as the active mode rather than being opened new.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
and the previous restored when the top is exited. If a mode that is
already on the stack is entered, the existing instance is moved to the
top as the active mode rather than being opened new.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a separate mode struct for the active window mode if any.</title>
<updated>2019-03-07T20:24:21+00:00</updated>
<author>
<name>nicm</name>
<email>nicm</email>
</author>
<published>2019-03-07T20:24:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=f98c66ece81953c777cd332c6bd29d707b1685e5'/>
<id>f98c66ece81953c777cd332c6bd29d707b1685e5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Pass window into mode functions.</title>
<updated>2018-12-18T13:20:44+00:00</updated>
<author>
<name>nicm</name>
<email>nicm</email>
</author>
<published>2018-12-18T13:20:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=bde0224deb0d0ba87929d2abfb262f3bd187b889'/>
<id>bde0224deb0d0ba87929d2abfb262f3bd187b889</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rewrite of choose mode, both to simplify and tidy the code and to add</title>
<updated>2017-05-30T21:44:59+00:00</updated>
<author>
<name>nicm</name>
<email>nicm</email>
</author>
<published>2017-05-30T21:44:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=aad4e4ddb194cba9c01b0ddd696fb7b214e1a7eb'/>
<id>aad4e4ddb194cba9c01b0ddd696fb7b214e1a7eb</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a format for the name of the pane's mode, lets it be used as a</title>
<updated>2017-05-07T22:27:57+00:00</updated>
<author>
<name>nicm</name>
<email>nicm</email>
</author>
<published>2017-05-07T22:27:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=5fee4638e08b1642a3b8882c5cf8825dd76b3a81'/>
<id>5fee4638e08b1642a3b8882c5cf8825dd76b3a81</id>
<content type='text'>
conditional for key bindings.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
conditional for key bindings.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for the OSC 4 and OSC 104 palette setting escape sequences,</title>
<updated>2017-01-07T15:28:13+00:00</updated>
<author>
<name>nicm</name>
<email>nicm</email>
</author>
<published>2017-01-07T15:28:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=314e933914de4096c40e623c793049d26484d53a'/>
<id>314e933914de4096c40e623c793049d26484d53a</id>
<content type='text'>
from S Gilles.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
from S Gilles.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for BCE (background colour erase). This makes various escape</title>
<updated>2016-10-13T20:27:27+00:00</updated>
<author>
<name>nicm</name>
<email>nicm</email>
</author>
<published>2016-10-13T20:27:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=4179b4242411f41a22d9743b4eff3b19ef69b3e8'/>
<id>4179b4242411f41a22d9743b4eff3b19ef69b3e8</id>
<content type='text'>
sequences (notable EL and ED but also IL, DL, ICH, DCH) create blank
cells using the current background colour rather than the default
colour.

On modern systems BCE doesn't really have many benefits, but most other
terminals now support it, some (lazy) applications rely on it, and it is
not hard to include now that we have pane background colours anyway.

Mostly written by Sean Haugh.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
sequences (notable EL and ED but also IL, DL, ICH, DCH) create blank
cells using the current background colour rather than the default
colour.

On modern systems BCE doesn't really have many benefits, but most other
terminals now support it, some (lazy) applications rely on it, and it is
not hard to include now that we have pane background colours anyway.

Mostly written by Sean Haugh.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fundamental change to how copy mode key bindings work:</title>
<updated>2016-10-11T07:23:34+00:00</updated>
<author>
<name>nicm</name>
<email>nicm</email>
</author>
<published>2016-10-11T07:23:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=76d6d3641f271be1756e41494960d96714e7ee58'/>
<id>76d6d3641f271be1756e41494960d96714e7ee58</id>
<content type='text'>
The vi-copy and emacs-copy mode key tables are gone, and instead copy
mode commands are bound in one of two normal key tables ("copy-mode" or
"copy-mode-vi"). Keys are bound to "send-keys -X copy-mode-command". So:

    bind -temacs-copy C-Up scroll-up
    bind -temacs-copy -R5 WheelUpPane scroll-up

Becomes:

    bind -Tcopy-mode C-Up send -X scroll-up
    bind -Tcopy-mode WheelUpPane send -N5 -X scroll-up

This allows the full command parser and command set to be used - for
example, we can use the normal command prompt for searching, jumping,
and so on instead of a custom one:

    bind -Tcopy-mode C-r command-prompt -p'search up' "send -X search-backward '%%'"

command-prompt also gets a -1 option to only require on key press, which
is needed for jumping.

The plan is to get rid of mode keys entirely, so more to come eventually.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The vi-copy and emacs-copy mode key tables are gone, and instead copy
mode commands are bound in one of two normal key tables ("copy-mode" or
"copy-mode-vi"). Keys are bound to "send-keys -X copy-mode-command". So:

    bind -temacs-copy C-Up scroll-up
    bind -temacs-copy -R5 WheelUpPane scroll-up

Becomes:

    bind -Tcopy-mode C-Up send -X scroll-up
    bind -Tcopy-mode WheelUpPane send -N5 -X scroll-up

This allows the full command parser and command set to be used - for
example, we can use the normal command prompt for searching, jumping,
and so on instead of a custom one:

    bind -Tcopy-mode C-r command-prompt -p'search up' "send -X search-backward '%%'"

command-prompt also gets a -1 option to only require on key press, which
is needed for jumping.

The plan is to get rid of mode keys entirely, so more to come eventually.
</pre>
</div>
</content>
</entry>
</feed>
