#
83e83a91 |
| 16-May-2020 |
nicm <nicm@openbsd.org> |
Do not hoke into struct window_pane from the tty code and instead set 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
Do not hoke into struct window_pane from the tty code and instead set 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.
show more ...
|
#
5c6c7001 |
| 12-Mar-2019 |
nicm <nicm@openbsd.org> |
DECRC and DECSC apparently need to preserve origin mode as well, based on a fix from Marc Reisner.
|
#
2c8678f7 |
| 12-Mar-2019 |
nicm <nicm@openbsd.org> |
Allow multiple modes to be open in a pane. A stack of open modes is kept and the previous restored when the top is exited. If a mode that is already on the stack is entered, the existing instance is
Allow multiple modes to be open in a pane. A stack of open modes is kept 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.
show more ...
|
#
30a94f45 |
| 07-Mar-2019 |
nicm <nicm@openbsd.org> |
Add a separate mode struct for the active window mode if any.
|
#
bf52409e |
| 18-Dec-2018 |
nicm <nicm@openbsd.org> |
Pass window into mode functions.
|
#
a42faf7d |
| 30-May-2017 |
nicm <nicm@openbsd.org> |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into wi
Rewrite of choose mode, both to simplify and tidy the code and to add 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.
show more ...
|
#
4fad4d31 |
| 07-May-2017 |
nicm <nicm@openbsd.org> |
Add a format for the name of the pane's mode, lets it be used as a conditional for key bindings.
|
#
e16c1698 |
| 07-Jan-2017 |
nicm <nicm@openbsd.org> |
Add support for the OSC 4 and OSC 104 palette setting escape sequences, from S Gilles.
|
#
ae4624e7 |
| 13-Oct-2016 |
nicm <nicm@openbsd.org> |
Add support for BCE (background colour erase). This makes various escape sequences (notable EL and ED but also IL, DL, ICH, DCH) create blank cells using the current background colour rather than the
Add support for BCE (background colour erase). This makes various escape 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.
show more ...
|
#
576538d5 |
| 11-Oct-2016 |
nicm <nicm@openbsd.org> |
Fundamental change to how copy mode key bindings work:
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 "
Fundamental change to how copy mode key bindings work:
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.
show more ...
|
#
dc1f0f5f |
| 10-Oct-2016 |
nicm <nicm@openbsd.org> |
Add static in cmd-* and fix a few other nits.
|
#
92c661c5 |
| 15-Jul-2016 |
nicm <nicm@openbsd.org> |
Instead of representing colours in several different forms with various cell flags, convert to use an int with flags marking 256 or RGB colours in the top byte (except in cells, which we don't want t
Instead of representing colours in several different forms with various cell flags, convert to use an int with flags marking 256 or RGB colours in the top byte (except in cells, which we don't want to make any bigger). From Brad Town.
show more ...
|
#
98ca8272 |
| 19-Jan-2016 |
nicm <nicm@openbsd.org> |
I no longer use my SourceForge address so replace it.
|
#
d0e2e7f1 |
| 18-Nov-2015 |
nicm <nicm@openbsd.org> |
Use __unused rather than rolling our own.
|
#
885a4698 |
| 12-Nov-2015 |
nicm <nicm@openbsd.org> |
Support UTF-8 key bindings by expanding the key type from int to uint64_t and converting UTF-8 to Unicode on input and the reverse on output. (This allows key bindings, there are still omissions - th
Support UTF-8 key bindings by expanding the key type from int to uint64_t and converting UTF-8 to Unicode on input and the reverse on output. (This allows key bindings, there are still omissions - the largest being that the various prompts do not accept UTF-8.)
show more ...
|
#
d89252e5 |
| 27-Oct-2015 |
nicm <nicm@openbsd.org> |
Move struct options into options.c.
|
#
b8aa9345 |
| 14-Sep-2015 |
nicm <nicm@openbsd.org> |
Remove some extra blank lines.
|
#
c439b3e0 |
| 28-Aug-2015 |
nicm <nicm@openbsd.org> |
Give clock mode its own timer.
|
#
e048bb79 |
| 19-Apr-2015 |
nicm <nicm@openbsd.org> |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse supp
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
show more ...
|
#
56def5a9 |
| 31-Mar-2014 |
nicm <nicm@openbsd.org> |
Having three *clock* files is ridiculous, remove clock.c.
|
#
dafea000 |
| 22-Mar-2013 |
nicm <nicm@openbsd.org> |
No more lint means no more ARGSUSED.
|
#
db4b44a2 |
| 05-Feb-2013 |
nicm <nicm@openbsd.org> |
Automatically reflow wrapped lines when a pane is resized, requested by many over the years and finally implemented by Richard Woodbury.
|
#
7d053cf9 |
| 10-Jul-2012 |
nicm <nicm@openbsd.org> |
xfree is not particularly helpful, remove it. From Thomas Adam.
|
#
a0b28a81 |
| 23-May-2010 |
nicm <nicm@openbsd.org> |
Pass in the session, rather than the client, to window modes' key() function. We were only ever using the client to find the session anyway.
This allows send-key to work properly for manipulating co
Pass in the session, rather than the client, to window modes' key() function. We were only ever using the client to find the session anyway.
This allows send-key to work properly for manipulating copy mode from outside tmux.
From Micah Cowan.
show more ...
|
#
197ec97c |
| 03-Dec-2009 |
nicm <nicm@openbsd.org> |
Massive spaces->tabs and trailing whitespace cleanup, hopefully for the last time now I've configured emacs to make them displayed in really annoying colours...
|