summaryrefslogtreecommitdiffstats
path: root/cmd-set-window-option.c
AgeCommit message (Collapse)Author
2011-01-07Sync OpenBSD patchset 831:Tiago Cunha
Now that parsing is common, merge some of the small, related commands together to use the same code. Also add some arguments (such as -n and -p) to some commands to match existing commands.
2011-01-07Sync OpenBSD patchset 829:Tiago Cunha
Clean up and simplify tmux command argument parsing. Originally, tmux commands were parsed in the client process into a struct with the command data which was then serialised and sent to the server to be executed. The parsing was later moved into the server (an argv was sent from the client), but the parse step and intermediate struct was kept. This change removes that struct and the separate parse step. Argument parsing and printing is now common to all commands (in arguments.c) with each command left with just an optional check function (to validate the arguments at parse time), the exec function and a function to set up any key bindings (renamed from the old init function). This is overall more simple and consistent. There should be no changes to any commands behaviour or syntax although as this touches every command please watch for any unexpected changes.
2009-12-04Sync OpenBSD patchset 580:Tiago Cunha
Eliminate duplicate code and ease the passage for server-wide options by adding a -w flag to set-option and show-options and making setw and showw aliases to set -w and show -w. Note: setw and showw are still there, but now aliases for set -w and show -w.
2009-11-19Sync OpenBSD patchset 553:Tiago Cunha
Two new options, window-status-format and window-status-current-format, which allow the format of each window in the status line window list to be controlled using similar # sequences as status-left/right. This diff also moves part of the way towards UTF-8 support in window names but it isn't quite there yet.
2009-11-14Sync OpenBSD patchset 539:Tiago Cunha
Get rid of the ugly CMD_CHFLAG macro and use a const string (eg "dDU") in the command entry structs and a couple of functions to check/set the flags.
2009-10-09Sync OpenBSD patchset 367:Tiago Cunha
Add a simple synchronize-panes window option: when set, all input to any pane that is part of the window is also sent to all other panes in the same window. Suggested by several, most recently Tomasz Pajor.
2009-09-22Sync OpenBSD patchset 343:Tiago Cunha
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.
2009-08-11Sync from OpenBSD:Nicholas Marriott
Add flags for 1+2 and 2 arguments to the generic target code, use it for cmd-set-environment/option/window-option and remove the generic options parsing.
2009-08-09Sync OpenBSD patchset 219:Tiago Cunha
Add a -a flag to set-option and set-window-option to append to an existing string value, useful for terminal-overrides.
2009-07-30Sync OpenBSD patchset 198:Tiago Cunha
Add a mode-mouse option to prevent tmux taking over the mouse in choice or copy modes.
2009-07-28Sync OpenBSD patchset 181:Tiago Cunha
Make all messages sent between the client and server fixed size. This is the first of two changes to make the protocol more resilient and less sensitive to other changes in the code, particularly with commands. The client now packs argv into a buffer and sends it to the server for parsing, rather than doing it itself and sending the parsed command data. As a side-effect this also removes a lot of now-unused command marshalling code. Mixing a server without this change and a client with or vice versa will cause tmux to hang or crash, please ensure that tmux is entirely killed before upgrading.
2009-07-20Sync OpenBSD patchset 146:Tiago Cunha
New options, window-status-current-{fg,bg,attr}, to set the fg, bg and attributes with which the current window is shown in the status line. From Johan Friis, thanks.
2009-07-15Having to update NSETOPTION/NSETWINDOWOPTION when adding new options is a bitNicholas Marriott
annoying and it is only use for iterating, so use a sentinel to mark the end of each array instead. Different fix for a problem pointed out by Kalle Olavi Niemitalo.
2009-07-15Add main-pane-height to the options list (was missed before).Nicholas Marriott
2009-07-14Having fixed flags for single-character getopt options is a bit hard toNicholas Marriott
maintain and is only going to get worse as more are used. So instead, add a new uint64_t member to cmd_entry which is a bitmask of upper and lowercase options accepted by the command. This means new single character options can be used without the need to add it explicitly to the list.
2009-07-08Fix $Id$.Nicholas Marriott
2009-07-08Rename the global options variables to be shorter and to make session optionsNicholas Marriott
clear. No functional change, getting this out of the way to make later options changes easier.
2009-06-25Restore $Id$ and add script to do so.Nicholas Marriott
2009-06-25Unused prototypes. Found by lint, no binary change.Nicholas Marriott
2009-05-19- New window option monitor-content to search for a string in a window, andTiago Cunha
highlight the status line if it matches. - To make this possible, the function cmd_find_window_search from cmd-find-window.c had to be moved to window.c and renamed window_pane_search. - While there use three new functions in server.c to check for bell, activity, and content, to avoid too much nesting.
2009-05-18New option main-pane-width to set width of pane in left-vertical mode.Nicholas Marriott
2009-01-30Set colour of window entry in status line based on window options.Nicholas Marriott
2009-01-27Allow status, mode and message attributes to be changed by three new ↵Nicholas Marriott
options: status-attr, mode-attr, message-attr. A comma-separataed list is accepted containing: bright, dim, underscore, blink, reverse, hidden, italics, for example: set -g status-attr bright,blink From Josh Elsasser, thanks!
2009-01-20Try to change the window title to match the command running it in. This is doneNicholas Marriott
by reading argv[0] from the process group leader of the group that owns the tty (tcgetpgrp()). This can't be done portably so some OS-dependent code is introduced (ugh); OpenBSD, FreeBSD and Linux are supported at the moment. A new window flag, automatic-rename, is available: if this is set to off, the window name is not changed. Specifying a name with the new-window, new-session or rename-window commands will automatically set this flag to off for the window in question. To disable it entirely set the option to off globally (setw -g automatic-rename off).
2009-01-19Pass return code from _exec; allow command sequences to work from the ↵Nicholas Marriott
command line.
2009-01-18Support command sequences separated by " ; ". Also clean up command printing.Nicholas Marriott
2009-01-10Clock mode.Nicholas Marriott
2009-01-10Trim spaces.Nicholas Marriott
2009-01-09Update key handling code. Simplify, support ctrl properly and add a new ↵Nicholas Marriott
window option (xterm-keys) to output xterm key codes including ctrl and, if available, alt and shift.
2009-01-07Some options tidying/code shrinkage. Also add -u option to unset non-global ↵Nicholas Marriott
options (allowing them to inherit), and some extra info.
2008-12-10Import OpenBSD's getopt(3) to workaround broken glibc version.Nicholas Marriott
2008-12-08Make window options work the same was as session options, add ↵Nicholas Marriott
mode-fg/mode-bg options, force -g for global on set/show/setw/showw/
2008-11-16Disable UTF-8 by default and add options to enable it.Nicholas Marriott
2008-09-25Fix stupid GNU getopt behaviour.Nicholas Marriott
2008-06-29Zombie windows, requested by Will Maier.Nicholas Marriott
2008-06-18Trimify.Nicholas Marriott
2008-06-18More Sun OS crap.Nicholas Marriott
2008-06-16Informational messages on window option changes.Nicholas Marriott
2008-06-14New window options: force-width and force-height. This will force a window toNicholas Marriott
an arbitrary width and height (0 for the default unlimited). This is neat for emacs which doesn't have a sensible way to force hard wrapping at 80 columns. Also, don't try to be clever and use clr_eol when redrawing the whole screen, it causes trouble since the redraw functions are used to draw the blank areas too.
2008-06-06New flag: aggressize resize. Resize window when to size of smallest session ↵Nicholas Marriott
for which it is _current_ window.
2008-06-05Big reorganisation of command-line syntax.Nicholas Marriott
2008-06-05Print for the less easy commands.Nicholas Marriott
2008-06-05Easy bits of arg printing for list-keys.Nicholas Marriott
2008-06-04Make monitor-activity w/o arguments toggle.Nicholas Marriott
2008-06-04Disable/enable window activity monitoring with set-window-option command.Nicholas Marriott