aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Zero dirty count after flushing.nicm2016-10-18
|
* Store the right size in the pipe offset for pipe-pane.nicm2016-10-18
|
* Use notifys for alerts too.nicm2016-10-16
|
* Use the notify name string instead of going via an enum and changenicm2016-10-16
| | | | existing hooks to use notifys instead.
* Add hook_session and hook_window formats to get information on thenicm2016-10-16
| | | | | affected session or window when a hook fires. Enable session-created and session-closed hooks now that that is available.
* Provide a way for hooks to tag formats onto the commands they fire sonicm2016-10-16
| | | | | that the user can get at additional information - now used for the "hook" format, more to come.
* Notifys can go via the command queue instead of using their own queue.nicm2016-10-16
|
* Mass rename struct cmd_q to struct cmdq_item and related.nicm2016-10-16
|
* Rewrite command queue handling. Each client still has a command queue,nicm2016-10-16
| | | | | | | | | | | | | | | but there is also now a global command queue. Instead of command queues being dispatched on demand from wherever the command happens to be added, they are now all dispatched from the top level server loop. Command queues may now also include callbacks as well as commands, and items may be inserted after the current command as well as at the end. This all makes command queues significantly more predictable and easier to use, and avoids the complex multiple nested command queues used by source-file, if-shell and friends. A mass rename of struct cmdq to a better name (cmdq_item probably) is coming.
* Only use pane with run-shell if -t is given.nicm2016-10-15
|
* zap double .Pp;jmc2016-10-15
|
* Give window_create and window_create1 better names.nicm2016-10-15
|
* Rename a function for consistency and some spacing nits.nicm2016-10-15
|
* Fire hooks on the simple notifys (window-renamed and session-renamed),nicm2016-10-15
| | | | the complicated ones get no hooks for now (more to come).
* Drain notifys once at the end of the server loop instead of doing itnicm2016-10-15
| | | | from the end of every command queue (which could be nested).
* Add CMD_AFTERHOOK flag to the easy commands that don't need any special ↵nicm2016-10-14
| | | | handling.
* Don't make assumptions about line wrap on !xenl terminals, means thatnicm2016-10-14
| | | | | using a wrong TERM without xenl is not so broken if used on a sensible terminal.
* source-file and some other commands can recurse back into cmdq_continue,nicm2016-10-14
| | | | | | | which could potentially free the currently running command, so we need to take a reference to it in cmdq_continue_one. Fixes problem reported by Theo Buehler.
* Missing flags in capture-pane, and tweak choose-tree text. From Dilyan Palauzov.nicm2016-10-14
|
* Trying to do hooks generically is way too complicated and unreliable andnicm2016-10-13
| | | | | | | | | | | | | | | | | | confusing, particularly trying to automatically figure out what target hooks should be using. So simplify it: - drop before hooks entirely, they don't seem to be very useful; - commands with special requirements now fire their own after hook (for example, if they change session or window, or if they have -t and -s and need to choose which one the hook uses as current target); - commands with no special requirements can have the CMD_AFTERHOOK flag added and they will use the -t state. At the moment new-session, new-window, split-window fire their own hook, and display-message uses the flag. The remaining commands still need to be looked at.
* Remove the set-remain-on-exit option, it was always a hack and can nownicm2016-10-13
| | | | be done with hooks instead.
* Add support for BCE (background colour erase). This makes various escapenicm2016-10-13
| | | | | | | | | | | | 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.
* Remove mention of key tables than no longer exist.nicm2016-10-13
|
* Some improvements and bug fixes for hooks:nicm2016-10-13
| | | | | | | | | | | | | | | | | | | | | - Prepare the state again before the "after" hooks are run, because the command may have killed or moved windows. - Use the hooks list from the newly prepared target, not the old hooks list (only matters for new-session really). - Correctly detect an invalid current state and ignore it in cmd_find_target ("killw; swapw"). - Change neww, new, killp, killw, splitw, swapp, swapw to update the current state (used if no explicit target is given) to something more useful after they have finished. For example, neww changes it to the newly created window. Hooks are still relatively new and primitive so there are likely to be more changes to come. Parts based on bug reports from Uwe Werler and Iblis Lin.
* -f missed from splitw usage, from Felix Rosencrantz.nicm2016-10-13
|
* Compare to see if pane status line has actually changed, not just size, andnicm2016-10-12
| | | | do not draw if pane is not visible.
* Fix a couple of problems with insert mode: flush dirty cells before wenicm2016-10-12
| | | | | modify the screen, not after; and use grid_view_insert_cells to make space not grid_move_cells.
* bind-key -c has gone, remove from man page, and unused table declarations.nicm2016-10-12
|
* Drop the edit mode key tables and just use fixed key bindings for thenicm2016-10-12
| | | | command prompt.
* Redraw selection in tty_draw_line, so it appears when redrawing wholenicm2016-10-12
| | | | pane. Reported by Theo Buehler.
* The repeat prompt in both emacs and vi (and the old one in tmux) doesn'tnicm2016-10-12
| | | | | | support line editing and instead executes a command as soon as a non-number key is pressed. Add a -N flag to command-prompt for the same in copy mode. Reported by Theo Buehler.
* Unused variable and missing time.h.nicm2016-10-12
|
* Some other stuff that can be local to one file.nicm2016-10-11
|
* Add static in window-*.c and move some internal functions out of tmux.h.nicm2016-10-11
|
* Support double and triple clicks (they are cumulative, so double isnicm2016-10-11
| | | | | fired then triple), and use for select-word and select-line in copy mode. Inspired by a different solution from Omar Sandoval.
* Fundamental change to how copy mode key bindings work:nicm2016-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Support UTF-8 entry into the command prompt.nicm2016-10-11
|
* Add static in cmd-* and fix a few other nits.nicm2016-10-10
|
* Loads more static, except for cmd-*.c and window-*.c.nicm2016-10-10
|
* Do not allow the opposite pane to resize when dragging with the mousenicm2016-10-10
| | | | | because it is not possible to keep the mouse on the border when the minimum size is reached.
* Some more static.nicm2016-10-10
|
* Make the CLIENT_STATUS flag imply that pane status lines are redrawn ifnicm2016-10-09
| | | | | they are enabled and break the actual screen generation code into a separate function. Fixes problems reported by Romain Francoise.
* Pass file/line to new command for if-shell so that errors appearnicm2016-10-09
| | | | sensibly.
* Handle NULL window or session for user options.nicm2016-10-09
|
* Use xsnprintf not snprintf for the prompt in window_copy_write_linenicm2016-10-09
| | | | | because we don't care if it is truncated to the screen width, we don't want it to be fatal.
* screen_write_copy tried to be clever and clear the line if it reachednicm2016-10-05
| | | | | | | the end of the source, but it was wrong and causes problems that are only showing up now we are more aggressive about skipping redundant screen updates. Remove the optimization entirely as more trouble than it is worth to fix (and it'll have to go when BCE is done anyway).
* Wrap some long lines in screen-write.c.nicm2016-10-05
|
* Keep buffer creation time and add accessors for it and the order number.nicm2016-10-05
|
* Allow cmd_mouse_at return arguments to be NULL.nicm2016-10-05
|
* Remove some dead code in cmd-move-window.c and make a load of localnicm2016-10-03
| | | | functions static.