summaryrefslogtreecommitdiffstats
path: root/arguments.c
AgeCommit message (Collapse)Author
2017-08-23Run alert hooks based on the options rather than unconditionally, fromnicm
Brad Town.
2017-05-30Rewrite of choose mode, both to simplify and tidy the code and to addnicm
some modern features. Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes. Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are: - each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane; - items may be sorted in different ways ('O' key); - multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once); - in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':'); - displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f'); - the custom format (-F) for the display is no longer available; - shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z. Now that the code is simpler, other improvements will come later. Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree). Parts written by Thomas Adam.
2017-04-22Do not need getopt.h.nicm
2017-01-18Plain stravis() because it will mangle UTF-8 characters, so addnicm
utf8_stravis() which calls our existing utf8_strvis() and use it instead
2017-01-18Run arguments through vis() as well when printing them.nicm
2016-10-11Add static in window-*.c and move some internal functions out of tmux.h.nicm
2016-10-10Some more static.nicm
2016-01-19I no longer use my SourceForge address so replace it.nicm
2015-11-27Do not set a limit on the length of commands when printing them.nicm
2015-08-29struct args_entry can go into arguments.c.nicm
2014-10-20Tidy up some includes.nicm
2014-04-11Don't blindly increase offsets by the return value of snprintf, if therenicm
wasn't enough space this will go off the end. Instead clamp to the available space. Fixes crash reported by Julien Rebetez.
2014-01-15Couple of fixes from cppcheck via Tiago Cunha.nicm
2014-01-09Simplify args_set, from Tiago Cunha.nicm
2013-11-17Include unistd.h as it is the standard location for getopt().okan
OK millert@
2013-05-31Instead of eating 1024 bytes or so for the arguments of each command,Nicholas Marriott
save memory by using an RB tree. From Tiago Cunha.
2012-07-10xfree is not particularly helpful, remove it. From Thomas Adam.Nicholas Marriott
2011-07-09Pass the right size to calloc (* not **).Nicholas Marriott
2011-01-30Free old argument even if setting to NULL.Nicholas Marriott
2011-01-04Clean up and simplify tmux command argument parsing.Nicholas Marriott
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.