aboutsummaryrefslogtreecommitdiff
path: root/tmux.h
Commit message (Collapse)AuthorAge
...
* Sync OpenBSD patchset 433:Tiago Cunha2009-10-23
| | | | | | Client tidying: get rid of client_ctx struct in favour of two variables in client.c, and move the functions in client-fn.c into other files.
* Sync OpenBSD patchset 431:Tiago Cunha2009-10-23
| | | | | Remove unused function.
* Sync OpenBSD patchset 421:Tiago Cunha2009-10-23
| | | | | | | | | | | | | | | Try to reduce the UTF-8 mess. Get rid of passing around u_char[4]s and define a struct utf8_data which has character data, size (sequence length) and width. Move UTF-8 character collection into two functions utf8_open/utf8_append in utf8.c which fill in this struct and use these functions from input.c and the various functions in screen-write.c. Space for rather more data than is necessary for one UTF-8 sequence is in the utf8_data struct because screen_write_copy is still nasty and needs to reinject the character (after combining) into screen_write_cell.
* Sync OpenBSD patchset 420:Tiago Cunha2009-10-23
| | | | | | | | | | | | | UTF-8 combined character fixes. Thai can have treble combinations (1 x width=1 then 2 x width=0) so bump the UTF-8 cell data size to 9 and alter the code to allow this. Also break off the combining code into a separate function, handle any further combining beyond the buffer size by replacing the character with _s, and when redrawing the UTF-8 character don't assume the first part has just been printed, redraw the entire line.
* Sync OpenBSD patchset 418:Tiago Cunha2009-10-23
| | | | | Nuke stray blank line.
* Sync OpenBSD patchset 414:Tiago Cunha2009-10-23
| | | | | | | | Instead of having a complicated check to see if the cursor is in the last position to avoid an explicit wrap, actually move it there. Some UTF-8 fixes to come.
* Sync OpenBSD patchset 409:Tiago Cunha2009-10-15
| | | | | | | | Move lines into the history when scrolling even if the scroll region is not the entire screen. Allows ircII users to see history, prompted by naddy.
* Sync OpenBSD patchset 407:Tiago Cunha2009-10-15
| | | | | | Add mode keys to move the cursor to the top, middle and bottom of the screen. H/M/L in vi mode and M-R/M-r in emacs (bottom of screen not bound in emacs).
* Sync OpenBSD patchset 401:Tiago Cunha2009-10-15
| | | | | | | | | | | | | | When drawing lines that have wrapped naturally, don't force a newline but permit them to wrap naturally again. This allows terminals that use this to guess where lines start and end for eg mouse selecting (like xterm) to work correctly. This was another long-standing issue raised by several people over the last while. Thanks to martynas@ for much testing. This was not trivial to get right so bringing it in for wider testing and adn to fix any further glitches in-tree.
* Sync OpenBSD patchset 400:Tiago Cunha2009-10-15
| | | | | | | | | | When backspace is received at the beginning of a line and the previous line was wrapped, move the cursor back up to the end of the previous line. Another one of the forgotten persons requested this quite a while ago (I need to start noting names on todo items...) when it was quite hard to implement. Now it is easy and I don't see it can do any harm, so hey presto...
* Sync OpenBSD patchset 395:Tiago Cunha2009-10-15
| | | | | | | Use relative cursor movement instead of absolute when possible and when supported by the terminal to reduce the size of the output data (generally about 10-20%).
* Sync OpenBSD patchset 393:Tiago Cunha2009-10-15
| | | | | Similarly add a tty_cursor_pane function to tidy up most of the calls.
* Sync OpenBSD patchset 392:Tiago Cunha2009-10-15
| | | | | _absolute is redundant, just use tty_region.
* Sync OpenBSD patchset 391:Tiago Cunha2009-10-15
| | | | | | Cleanup: use two functions for region setting, one for absolute and one inside pane.
* Sync OpenBSD patchset 387:Tiago Cunha2009-10-12
| | | | | | | | | | | | | Add a pipe-pane command to allow a pane to be piped to a shell command, for example: pipe-pane 'cat >~/out' No arguments stops outputing and closes the pipe; the -o flag toggles a pipe and on and off (useful for key bindings). Suggested by espie@.
* Sync OpenBSD patchset 382:Tiago Cunha2009-10-12
| | | | | | Collect status from dead jobs and don't invoke the callback until both all input (the socket is closed) and status is available.
* Sync OpenBSD patchset 381:Tiago Cunha2009-10-12
| | | | | | | | | Clean up by introducing a wrapper struct for mouse clicks rather than passing three u_chars around. As a side-effect this fixes incorrectly rejecting high cursor positions (because it was comparing them as signed char), reported by Tom Doherty.
* Sync OpenBSD patchset 379:Tiago Cunha2009-10-12
| | | | | | Put all jobs on a global all_jobs list and use that in server.c instead of running through all the clients.
* Sync OpenBSD patchset 377:Tiago Cunha2009-10-12
| | | | | Split list-panes off from list-windows.
* Sync OpenBSD patchset 374:Tiago Cunha2009-10-11
| | | | | | | | | | | | | | | | | | | Rather than running status-left, status-right and window title #() with popen immediately every redraw, queue them up and run them in the background, starting each once every status-interval. The actual status line uses the output from the last run. This brings several advantages: - tmux itself may be called from inside #() without causing the server to hang; - likewise, sleep or similar doesn't cause the server to block; - commands aren't run excessively often when redrawing; - commands shared by status-left and status-right, or used multiple times, will only be run once. run-shell and if-shell still use system()/popen() but will be changed over to use this too later.
* Sync OpenBSD patchset 373:Tiago Cunha2009-10-11
| | | | | | | | New option, mouse-select-pane. If on, the mouse may be used to select the current pane. Suggested by sthen@ and also by someone else ages ago who I have forgotten.
* Sync OpenBSD patchset 371:Tiago Cunha2009-10-11
| | | | | | | | | | Add "grouped sessions" which have independent name, options, current window and so on but where the linked windows are synchronized (ie creating, killing windows and so on are mirrored between the sessions). A grouped session may be created by passing -t to new-session. Had this around for a while, tested by a couple of people.
* Sync OpenBSD patchset 370:Tiago Cunha2009-10-11
| | | | | | | | | | | | | | | Support for individual session idle time locking. May be enabled by turning off the lock-server option (it is on by default). When this is off, each session locks when it has been idle for the lock-after-time setting. When on, the entire server locks when ALL sessions have been idle for their individual lock-after-time settings. This replaces one global-only option (lock-after-time) with another (lock-server), but the default behaviour is usually preferable so there don't seem to be many alternatives. Diff/idea largely from Thomas Adam, tweaked by me.
* Sync OpenBSD patchset 368:Tiago Cunha2009-10-09
| | | | | | The UTF-8 detection idea doesn't work and I am reasonably happy with the current methods, so remove the (already #ifdef 0'd) code.
* Sync OpenBSD patchset 362:Tiago Cunha2009-10-06
| | | | | | | Remove scroll mode which is now redundant, copy mode should be used instead. The = key binding now does nothing.
* Sync OpenBSD patchset 361:Tiago Cunha2009-10-06
| | | | | | | Make C-Up and C-Down in copy mode scroll the screen up and down one line without moving the cursor, like Up and Down in scroll mode (which will shortly disappear).
* Sync OpenBSD patchset 360:Tiago Cunha2009-10-06
| | | | | | | | If no target client is specified to commands which accept one, try to guess the current client, in a similar manner to how sessions already work: if the current session can be established and has only one client, use that; otherwise use the most recently created client.
* Sync OpenBSD patchset 353:Tiago Cunha2009-09-25
| | | | | | New lock-client and lock-session commands to lock an individual client or all clients attached to a session respectively.
* Sync OpenBSD patchset 351:Tiago Cunha2009-09-25
| | | | | Remove PROMPT_HIDDEN code which is now unused.
* Sync OpenBSD patchset 350:Tiago Cunha2009-09-23
| | | | | | | | | Support -c like sh(1) to execute a command, useful when tmux is a login shell. Suggested by halex@. This includes another protocol version increase (the last for now) so again restart the tmux server before upgrading.
* Sync OpenBSD patchset 347:Tiago Cunha2009-09-23
| | | | | | | | | | | | | | | | Remove the internal tmux locking and instead detach each client and run the command specified by a new option "lock-command" (by default "lock -np") in each client. This means each terminal has to be unlocked individually but simplifies the code and allows the system password to be used to unlock. Note that the set-password command is gone, so it will need to be removed from configuration files, and the -U command line flag has been removed. This is the third protocol version change so again it is best to stop the tmux server before upgrading.
* Sync OpenBSD patchset 346:Tiago Cunha2009-09-23
| | | | | | | | | Trim some code by moving the ioctl(TIOCGWINSZ) after SIGWINCH from the client into the server. This is another (the second of four) protocol version changes coming this morning, so again the server should be killed before upgrading.
* Sync OpenBSD patchset 345:Tiago Cunha2009-09-23
| | | | | | | | | | | Don't attempt to open() the tty path, rely on the client sending its stdin fd with imsg and fatal if it doesn't, then set the FD_CLOEXEC flag in tty_init instead of tty_open to prevent them leaking into child processes if any are created between the two calls. This bumps the protocol version, so the tmux server should be killed before upgrading.
* Sync OpenBSD patchset 343:Tiago Cunha2009-09-22
| | | | | | | | | | Permit multiple prefix keys to be defined, separated by commas, for example: set -g prefix ^a,^b Any key in the list acts as the prefix. The send-prefix command always sends the first key in the list.
* Sync OpenBSD patchset 340:Tiago Cunha2009-09-22
| | | | | Use option print function for info messages as well.
* Sync OpenBSD patchset 339:Tiago Cunha2009-09-22
| | | | | Move common code from show-options and show-window-options into a function.
* Sync OpenBSD patchset 337:Tiago Cunha2009-09-22
| | | | | Drop tiny union from option struct.
* Sync OpenBSD patchset 336:Tiago Cunha2009-09-22
| | | | | Key options were implemented as a number so these struct members are unused.
* Sync OpenBSD patchset 335:Tiago Cunha2009-09-20
| | | | | | run-shell command to run a shell command without opening a window, sending stdout to output mode.
* Sync OpenBSD patchset 333:Tiago Cunha2009-09-20
| | | | | | Move some common and untidy code for window link/unlink into generic functions instead of duplicating it in move/link window..
* Sync from OpenBSD:Nicholas Marriott2009-09-16
| | | | | | | | | | | == Rather than constructing an entire termios struct from ttydefaults.h, just let forkpty do it and then alter the bits that should be changed after fork. A little neater and more portable. == This should fix problems caused by glibc's broken ttydefaults.h file.
* Sync OpenBSD patchset 326:Tiago Cunha2009-09-15
| | | | | Nuke unused server_client_index function, pointed out by martynas@.
* Sync OpenBSD patchset 324:Tiago Cunha2009-09-13
| | | | | Tidy some common code for destroying sessions into a new function.
* Sync OpenBSD patchset 322:Tiago Cunha2009-09-11
| | | | | | Permit options such as status-bg to be configured using the entire 256 colour palette by setting "colour0" to "colour255".
* Sync OpenBSD patchset 320:Tiago Cunha2009-09-07
| | | | | | Reference count clients and sessions rather than relying on a saved index for cmd-choose-*.
* Sync OpenBSD patchset 318:Tiago Cunha2009-09-07
| | | | | | Give each paste buffer a size member instead of requiring them to be zero-terminated.
* Sync OpenBSD patchset 317:Tiago Cunha2009-09-07
| | | | | | Permit embedded colour and attributes in status-left and status-right using new #[] special characters, for example #[fg=red,bg=blue,blink].
* Sync OpenBSD patchset 309:Tiago Cunha2009-09-03
| | | | | | Accept -l to make it easier for people who use tmux as a login shell to use $SHELL. Originally from martynas@, tweaked by me.
* Sync OpenBSD patchset 308:Tiago Cunha2009-09-03
| | | | | | When incorrect passwords are entered, behave similarly to login(1) and backoff for a bit. Based on a diff from martynas@.
* Sync OpenBSD patchset 307:Tiago Cunha2009-09-02
| | | | | | Add a transpose-chars command in edit mode (C-t in emacs mode only). From Kalle Olavi Niemitalo.