aboutsummaryrefslogtreecommitdiff
path: root/tmux.h
Commit message (Collapse)AuthorAge
...
* -c needs to be able for fail for display-message.nicm2015-12-13
|
* Use struct cmd_find_state directly and remove cmd_state_flag, alsonicm2015-12-13
| | | | change so that winlink is set even if an index is too.
* Change cmd_find_target to use a state struct from the caller.nicm2015-12-13
|
* Remove the cmd_find_{session,window,pane,index} functions (which arenicm2015-12-13
| | | | | just wrappers around cmd_find_target) and just use cmd_find_target directly.
* Instead of every command resolving the target (-t or -s) itself, preparenicm2015-12-13
| | | | | | | | | | | | | | | | the state (client, session, winlink, pane) for it it before entering the command. Each command provides some flags that tell the prepare step what it is expecting. This is a requirement for having hooks on commands (for example, if you hook "select-window -t1:2", the hook command should to operate on window 1:2 not whatever it thinks is the current window), and should allow some other target improvements. The old cmd_find_* functions remain for the moment but that layer will be dropped later. Joint work with Thomas Adam.
* Add key-table option to set the default key table for a session, allowsnicm2015-12-12
| | | | different key bindings for different sessions and a few other things.
* Allow prefix and prefix2 to be set to None to disable (useful if younicm2015-12-12
| | | | would rather bind the prefix in the root table).
* Style nits and line wrapping of function declarations.nicm2015-12-11
|
* We cannot do hooks_find and then hooks_remove because it might have comenicm2015-12-11
| | | | | | | from the parent (global) tree, instead make it remove by name like options. While here, also tidy up a few bits of options and hooks handling (use RB_FOREACH_SAFE, and a helper function for the free).
* Add cmdq as an argument to format_create and add a format for thenicm2015-12-11
| | | | command name (will also be used for more later).
* Remove format_create_flags and just pass flags to format_create.nicm2015-12-08
|
* Spacing nits.nicm2015-12-08
|
* Add hooks infrastructure, basic commands (set-hook, show-hooks) and anicm2015-12-08
| | | | | | couple of not very useful client hooks. This will eventually let commands be run at various points and on notifications. Joint work with Thomas Adam.
* Fix bell indicators across detach, reported by Torbjorn Lonnemark, diffnicm2015-12-07
| | | | from Thomas Adam.
* Do not set a limit on the length of commands when printing them.nicm2015-11-27
|
* Make environ_set va_args and use it to tidy up some calls. Also add anicm2015-11-24
| | | | missing word in manpage (from jmc).
* Shell command from -c doesn't have to be global, pass it as an argument.nicm2015-11-24
|
* Tidy the code that works out the socket path, and just use the full pathnicm2015-11-24
| | | | in the global socket_path rather than copying it.
* Remove the -I part of show-messages which isn't really that useful; thenicm2015-11-24
| | | | | server start time can now be accessed with a new start_time format (use: tmux display -p '#{t:start_time}')
* Make the log stuff a bit tidier with some helper functions.nicm2015-11-24
|
* Don't allow options in table without scope set.nicm2015-11-24
|
* Partly revert previous, it is harmless to keep support for UTF-8 mousenicm2015-11-23
| | | | mode inside tmux, just no longer support it for tmux itself.
* Remove support for the UTF-8 mouse extension. This was a briefly used,nicm2015-11-23
| | | | | | | | poor idea that was fairly quickly replaced by SGR mouse input (which is now widespread). It is impossible to tell the difference between UTF-8 and non-UTF-8 mouse input; since the mouse-utf8 option was removed tmux has not handled it correctly in any case; and it is ridiculous to have three different forms of mouse input.
* Instead of separate tables for different types of options, give eachnicm2015-11-20
| | | | option a scope type (server, session, window) in one table.
* Only assume pasting with at least two characters, reduces problems fornicm2015-11-19
| | | | | people who can type ^B c very fast, or who are using tmux inside something else that buffers.
* Use __unused rather than rolling our own.nicm2015-11-18
|
* Sync the entire xmalloc.[ch] with the other users, but with the additionnicm2015-11-18
| | | | of xrealloc, xvasprintf, xvsnprintf.
* Make key_code unsigned long long not uint64_t which is more portable fornicm2015-11-15
| | | | | printf formats, and move UTF8_SIZE define down to near the rest of the UTF-8 bits.
* All these return values from utf8_* are confusing, use an enum.nicm2015-11-14
|
* Be more strict about invalid UTF-8.nicm2015-11-14
|
* Push stdout and stderr to clients more aggressively, and add an event tonicm2015-11-14
| | | | continue if the send fails.
* Long overdue change to the way we store cells in the grid: now, insteadnicm2015-11-13
| | | | | | | | | | | | | | | of storing a full grid_cell with UTF-8 data and everything, store a new type grid_cell_entry. This can either be the cell itself (for ASCII cells), or an offset into an extended array (per line) for UTF-8 data. This avoid a large (8 byte) overhead on non-UTF-8 cells (by far the majority for most users) without the complexity of the shadow array we had before. Grid memory without any UTF-8 is about half. The disadvantage that cells can no longer be modified in place and need to be copied out of the grid and back but it turned out to be lot less complicated than I expected.
* Add utf8_padcstr and use it to align columns in list-keys.nicm2015-11-12
|
* Tidy utf8.c a little: build table on first use, and make utf8_width takenicm2015-11-12
| | | | a u_int rather than splitting and then combining again in utf8_split.
* If we know the terminal outside tmux is not UTF-8, replace UTF-8 innicm2015-11-12
| | | | | error messages and whatnot with underscores the same as we do when we draw UTF-8 characters as part of the screen.
* Nuke the utf8 and status-utf8 options and make tmux only a UTF-8nicm2015-11-12
| | | | | terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
* Support UTF-8 key bindings by expanding the key type from int tonicm2015-11-12
| | | | | | 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.)
* The output log is only useful once and it means creating a file, so opennicm2015-10-31
| | | | it once at startup instead of in every call to tty_open.
* Because pledge(2) does not allow us to pass directory file descriptorsnicm2015-10-31
| | | | | | | | | around, we can't use file descriptors for the working directory because we will be unable to pass it to a privileged process to tell it where to read or write files or spawn children. So move tmux back to using strings for the current working directory. We try to check it exists with access() when it is set but ultimately fall back to ~ if it fails at time of use (or / if that fails too).
* Like options, move the environ struct into environ.c.nicm2015-10-28
|
* Move struct options into options.c.nicm2015-10-27
|
* Break the common process set up, event loop and imsg dispatch codenicm2015-10-27
| | | | | between server and client out into a separate internal API. This will make it easier to add another process.
* Extend the modifiers allowed before formats: as well as the existingnicm2015-10-25
| | | | | | | #{=10:...} length limit, add #{t:...} to convert a time_t format to a string, #{b:...} for basename and #{d:...} for dirname. Remove all the foo_string time formats as they can now be replaced by "t:", for example #{window_activity_string} becomes #{t:window_activity}.
* Format for scroll position, from Jorge Morante.nicm2015-10-23
|
* Pass current directory as a string rather than a file descriptor becausenicm2015-10-18
| | | | pledge doesn't let us pass directory file descriptors.
* Free the history when it is cleared, based on a diff from Carlo Cannas.nicm2015-09-25
|
* Rename cmd_q dead flag to a general flags bitmask (will be more flags later).nicm2015-09-16
|
* Style nit, int for flags not u_int.nicm2015-09-14
|
* When the active pane changes, redraw panes if the style hasnicm2015-09-14
| | | | changed. From Cam Hutchison.
* Make refresh-client force update of jobs, from Sina Siadat.nicm2015-09-14
|