aboutsummaryrefslogtreecommitdiff
path: root/tmux.h
Commit message (Collapse)AuthorAge
...
* | Merge branch 'obsd-master'Thomas Adam2016-11-24
|\|
| * The mouse valid flag needs to be correct before we fire the draggingnicm2016-11-24
| | | | | | | | | | callback, so move the callback outside of server_client_check_mouse and use a new special key code to indicate it.
* | Merge branch 'obsd-master'Thomas Adam2016-11-24
|\|
| * Make the selection able to exist independent of the cursor position, sonicm2016-11-24
| | | | | | | | | | | | | | | | | | | | | | | | that it is not affected by scrolling. If MouseDragEnd1Pane is bound to the new "stop-selection" command: bind -Tcopy-mode MouseDragEnd1Pane stop-selection A selection made with the mouse will stay as it is after button 1 is released. (It also works bound to a key.) From Artem Fokin.
* | Merge branch 'obsd-master'Thomas Adam2016-11-23
|\|
| * For mouse keys, use the mouse pane as the default current pane.nicm2016-11-23
| |
* | Merge branch 'obsd-master'Thomas Adam2016-11-16
|\|
| * The target validity check used window_pane_visible but that may be falsenicm2016-11-16
| | | | | | | | | | | | | | if the pane is zoomed, so instead add a new function to just check if the pane is actually on screen (most commands still want to accept panes invisible by zoom). Also reject panes outside the window for various special targets. Problem reported by Sean Haugh.
* | Merge branch 'obsd-master'Thomas Adam2016-11-15
|\|
| * Turn on margins, with a couple of fixes (only limit to the pane for linenicm2016-11-15
| | | | | | | | feeds, and do not move cursor to end for full width panes).
| * Initial attempt to make use of left and right margins if the terminalnicm2016-11-15
| | | | | | | | | | | | | | supports them (that is, if it advertises itself as a VT420 - probably just xterm). These are the vertical equivalent of the scroll region and allow much faster scrolling of panes that do not take up the full width of the terminal.
* | Merge branch 'obsd-master'Thomas Adam2016-11-04
|\|
| * enum values need to fit in 32 bits; we only use enum for numbering andnicm2016-11-04
| | | | | | | | | | Unicode characters fit in 24 bits, so we can leave key_code as 64 bits and change KEYC_BASE down to 0x10000000.
* | Merge branch 'obsd-master'Thomas Adam2016-10-19
|\|
| * Alerts are too slow, so rather than walking all sessions and windows,nicm2016-10-19
| | | | | | | | | | | | add a link of winlinks to each window and a pointer to the session to each winlink. Also rewrite the alerts processing to return to the old behaviour (alert in any window sets the flag on any winlink).
* | Merge branch 'obsd-master'Thomas Adam2016-10-18
|\|
| * Give each item on queue a name for better logging.nicm2016-10-18
| |
* | Merge branch 'obsd-master'Thomas Adam2016-10-17
|\|
| * 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.
* | Merge branch 'obsd-master'Thomas Adam2016-10-16
|\|
| * 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
| |
* | Merge branch 'obsd-master'Thomas Adam2016-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.
* | Merge branch 'obsd-master'Thomas Adam2016-10-15
|\|
| * Give window_create and window_create1 better names.nicm2016-10-15
| |
* | Merge branch 'obsd-master'Thomas Adam2016-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).
* | Merge branch 'obsd-master'Thomas Adam2016-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.
* | Merge branch 'obsd-master'Thomas Adam2016-10-13
|\|
| * 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.
* | Merge branch 'obsd-master'Thomas Adam2016-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.
* | Merge branch 'obsd-master'Thomas Adam2016-10-13
|\| | | | | | | | | Conflicts: paste.c
| * 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.
* | Merge branch 'obsd-master'Thomas Adam2016-10-12
|\| | | | | | | | | | | Conflicts: format.c osdep-openbsd.c
| * 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
| |
* | Merge branch 'obsd-master'Thomas Adam2016-10-10
|\|