SlideShare una empresa de Scribd logo
1 de 65
Descargar para leer sin conexión
tmux
                or how I learned to just compile it locally and not wait
                           for it to get installed on sandbox
                                             -
                              TERMINAL MULTIPLEXER




Wednesday, December 5, 12
what is tmux?




Wednesday, December 5, 12
what is tmux?
   tmux is a terminal multiplexer: it enables a number of
 terminals (or windows), each running a separate program,
    to be created, accessed, and controlled from a single
 screen. tmux may be detached from a screen and continue
      running in the background, then later reattached.




Wednesday, December 5, 12
screenshots



Wednesday, December 5, 12
AWESOME!
Wednesday, December 5, 12
event better...



Wednesday, December 5, 12
our goal: doing this
Wednesday, December 5, 12
tmux vs. screen



Wednesday, December 5, 12
a consistent, well-
                documented command
               interface, with the same
                 syntax whether used
                 interactively, as a key
                  binding, or from the
                          shell
Wednesday, December 5, 12
in other words
                            sane configuration


Wednesday, December 5, 12
easily scriptable
                             from the shell


Wednesday, December 5, 12
tmux can split vertically
                screen requires a patch


Wednesday, December 5, 12
tmux bible
Wednesday, December 5, 12
So, how did I install
                                  tmux?


Wednesday, December 5, 12
libevent

                 $ wget http://sourceforge.net/projects/levent/files/latest/download

                 $ tar xfz libevent-2.0.17-stable.tar.gz

                 $ cd libevent-2.0.17-stable/

                 $ /configure—prefix=/home/jlotito

                 $ make

                 $ make install




Wednesday, December 5, 12
tmux

                 $ wget http://sourceforge.net/projects/tmux/files/latest/download

                 $ tar xfz tmux-1.6.tar.gz

                 $ cd tmux-1.6

                 $ ./configure—prefix=/home/jlotito




Wednesday, December 5, 12
tmux cont.
                 $ ./configure—prefix=/home/jlotito CPPFLAGS=”-I$HOME/include”
                   LDFLAGS=”-static -L$HOME/include -L$HOME/lib”

                 $ make

                 $ make install

                 $ export PATH=~/bin:$PATH

                 $ tmux -V

                    tmux 1.6




Wednesday, December 5, 12
If you have permissions,
                      you can do it.


Wednesday, December 5, 12
sandbox vim: 7.0
                               my vim: 7.3


Wednesday, December 5, 12
:set rnu



Wednesday, December 5, 12
Wednesday, December 5, 12
but you shouldn’t have
                      to set things up


Wednesday, December 5, 12
$ cd
               $ mkdir bin
               $ cp ~/../jlotito/bin/tmux ~/bin
               $ export PATH=~/bin:$PATH



Wednesday, December 5, 12
$ tmux



Wednesday, December 5, 12
prefix = CTRL + b
                                        This is the default prefix
                                   It’s run before every command

                                              prefix d
                            This means type ‘CTRL + b’ and then type ‘d’.




Wednesday, December 5, 12
prefix d
                            Detaches from the current tmux session
                                 In other words, it exits tmux




Wednesday, December 5, 12
detach
                              do it




Wednesday, December 5, 12
$ tmux attach
                            reattaches to the tmux session




Wednesday, December 5, 12
do it
                             now




Wednesday, December 5, 12
Multiple sessions
                                  You can have them
                              We won’t discuss them today




Wednesday, December 5, 12
prefix c
                            create a new window (or tab)




Wednesday, December 5, 12
prefix #
                            ‘prefix 1’ takes you to tab #1




Wednesday, December 5, 12
prefix w
                            provides a list of windows available
                             ‘j’ and ‘k’ to scroll the selections




Wednesday, December 5, 12
prefix %
                            That’s not 5, but ‘%’, which means
                                     prefix SHIFT+5

                               This splits the pane in half




Wednesday, December 5, 12
prefix x
                      In the lower portion of tmux, you’ll see it ask you:
                                      kill pane 2? (y/n)

                                            type ‘y’




Wednesday, December 5, 12
prefix “
                            split horizontally




Wednesday, December 5, 12
prefix o
                            switch between panes




Wednesday, December 5, 12
prefix CTRL + o
                              move panes around layout




Wednesday, December 5, 12
PREFIX SPACE
                              change layout of panes




Wednesday, December 5, 12
Try scrolling in a pane
                               haha




Wednesday, December 5, 12
prefix [
                             CTRL u : up a lot
                            CTRL d: down a lot
                                 Love alot.
                                j : up a line
                              d : down a line
                                    q: quit


Wednesday, December 5, 12
Configuration
                              $ touch ~/.tmux.conf




Wednesday, December 5, 12
CTRL + B is awkward
               # Prefix Config
               set -g prefix C-a
               unbind C-b
               bind C-a send-prefix




Wednesday, December 5, 12
prefix = CTRL + a
                              Remap CAPS LOCK to CTRL.




Wednesday, December 5, 12
Make it responsive
               # Changing the default delay
               set -sg escape-time 1




Wednesday, December 5, 12
Easy config changes
               # Easy config changes
               bind r source-file ~/.tmux.conf ; display "Reloaded!"




Wednesday, December 5, 12
Easy Pane Spitting
               # Splitting Panes
               bind  split-window -h
               bind - split-window -v




Wednesday, December 5, 12
Easy Pane Movement
               # Movement keys, vim style
               bind h select-pane -L
               bind j select-pane -D
               bind k select-pane -U
               bind l select-pane -R




Wednesday, December 5, 12
move one pane left
                                   prefix h




Wednesday, December 5, 12
Pane Resizing
               # Pane resizing, vim style
               bind H resize-pane -L 5
               bind J resize-pane -D 5
               bind K resize-pane -U 5
               bind L resize-pane -R 5




Wednesday, December 5, 12
Try the pane resizing
                            Don’t forget to run this command
                                         prefix r




Wednesday, December 5, 12
Let’s make resizing
                            easier by repeating
               # Pane resizing, vim style
               bind -r H resize-pane -L 5
               bind -r J resize-pane -D 5
               bind -r K resize-pane -U 5
               bind -r L resize-pane -R 5




Wednesday, December 5, 12
resize
                                                prefix L

                            -r You can hold it down, and it will keep moving




Wednesday, December 5, 12
Start at 1
               # Windows and panes index renumbering
               set -g base-index 1
               setw -g pane-base-index 1




Wednesday, December 5, 12
Basic UI
               # Colors
               set -g status-fg white
               set -g status-bg black




Wednesday, December 5, 12
Window movement
               # Window Movement
               bind -r C-h select-window -t :-
               bind -r C-l select-window -t :+




Wednesday, December 5, 12
or...
                            prefix w




Wednesday, December 5, 12
or...
                            prefix #
                             #: 0-9




Wednesday, December 5, 12
timtowtdi
                               • is




Wednesday, December 5, 12
tmux & screen notes
                            http://www.dayid.org/os/notes/tm.html




Wednesday, December 5, 12
book
                            http://pragprog.com/book/bhtmux/tmux




Wednesday, December 5, 12
web
                            http://tmux.sourceforge.net/




Wednesday, December 5, 12
we were using tmux 1.6
                            latest is tmux 1.7




Wednesday, December 5, 12
tmux configuration files now support line-continuation with a "" at the
                                 end of a line.
                               * New option status-position to move the status line to the top or bottom of
                                 the screen.
                               * Enforce history-limit option when clearing the screen.
                               * Give each window a unique id, like panes but prefixed with @.
                               * Add pane id to each pane in layout description (while still accepting
                                 the old form).
                               * Provide defined ways to set the various default-path possibilities: ~
                                 for home directory, . for server start directory, - for session start
                                 directory and empty for the pane's working directory (the default). All
                                 can also be used as part of a relative path (eg -/foo). Also provide -c
                                 flags to neww and splitw to override default-path setting.
                               * Add -l flag to send-keys to send input literally (without translating
                                 key names).
                               * Allow a single option to be specified to show-options to show just that
                                 option.
                               * New command "move-pane" (like join-pane but allows the same window).
                               * join-pane and move-pane commands learn "-b" option to place the pane to
                                 the left or above.
                               * Support for bracketed-paste mode.
                               * Allow send-keys command to accept hex values.
                               * Add locking around "start-server" to avoid race-conditions.
                               * break-pane learns -P/-F arguments for display formatting.
                               * set-option learns "-q" to make it quiet, and not print out anything.




                  new in 1.7
                               * copy mode learns "wrap-search" option.
                               * Add a simple form of output rate limiting by counting the number of
                                 certain C0 sequences (linefeeds, backspaces, carriage returns) and if it
                                 exceeds a threshold (current default 250/millisecond), start to redraw
                                 the pane every 100 milliseconds instead of making each change as it
                                 comes. Two configuration options - c0-change-trigger and
                                 c0-change-interval.
                               * find-window learns new flags: "-C", "-N", "-T" to match against either or
                                 all of a window's content, name, or title. Defaults to all three options
                                 if none specified.
                               * find-window automatically selects the appropriate pane for the found
                                 matches.
                               * show-environment can now accept one option to show that environment value.
                               * Exit mouse mode when end-of-screen reached when scrolling with the mouse
                                 wheel.
                               * select-layout learns -u and -U for layout history stacks.
                               * kill-window, detach-client, kill-session all learn "-a" option for
                                 killing all but the current thing specified.
                               * move-window learns "-r" option to renumber window sequentially in a
                                 session.
                               * New session option "renumber-windows" to automatically renumber windows in
                                 a session when a window is closed. (see "move-window -r").
                               * Only enter copy-mode on scroll up.
                               * choose-* and list-* commands all use "-F" for format specifiers.
                               * When spawning external commands, the value from the "default-shell" option
                                 is now used, rather than assuming /bin/sh.
                               * New choose-tree command to render window/sessions as a tree for selection.
                               * display-message learns new format options.
                               * For linked-windows across sessions, all flags for that window are now
                                 cleared across sessions.
                               * Lots and lots of bug fixes, fixing memory-leaks, etc.
                               * Various manpage improvements.

Wednesday, December 5, 12
fin.




Wednesday, December 5, 12

Más contenido relacionado

Destacado

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Destacado (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Tmux

  • 1. tmux or how I learned to just compile it locally and not wait for it to get installed on sandbox - TERMINAL MULTIPLEXER Wednesday, December 5, 12
  • 2. what is tmux? Wednesday, December 5, 12
  • 3. what is tmux? tmux is a terminal multiplexer: it enables a number of terminals (or windows), each running a separate program, to be created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached. Wednesday, December 5, 12
  • 7. our goal: doing this Wednesday, December 5, 12
  • 8. tmux vs. screen Wednesday, December 5, 12
  • 9. a consistent, well- documented command interface, with the same syntax whether used interactively, as a key binding, or from the shell Wednesday, December 5, 12
  • 10. in other words sane configuration Wednesday, December 5, 12
  • 11. easily scriptable from the shell Wednesday, December 5, 12
  • 12. tmux can split vertically screen requires a patch Wednesday, December 5, 12
  • 14. So, how did I install tmux? Wednesday, December 5, 12
  • 15. libevent $ wget http://sourceforge.net/projects/levent/files/latest/download $ tar xfz libevent-2.0.17-stable.tar.gz $ cd libevent-2.0.17-stable/ $ /configure—prefix=/home/jlotito $ make $ make install Wednesday, December 5, 12
  • 16. tmux $ wget http://sourceforge.net/projects/tmux/files/latest/download $ tar xfz tmux-1.6.tar.gz $ cd tmux-1.6 $ ./configure—prefix=/home/jlotito Wednesday, December 5, 12
  • 17. tmux cont. $ ./configure—prefix=/home/jlotito CPPFLAGS=”-I$HOME/include” LDFLAGS=”-static -L$HOME/include -L$HOME/lib” $ make $ make install $ export PATH=~/bin:$PATH $ tmux -V tmux 1.6 Wednesday, December 5, 12
  • 18. If you have permissions, you can do it. Wednesday, December 5, 12
  • 19. sandbox vim: 7.0 my vim: 7.3 Wednesday, December 5, 12
  • 22. but you shouldn’t have to set things up Wednesday, December 5, 12
  • 23. $ cd $ mkdir bin $ cp ~/../jlotito/bin/tmux ~/bin $ export PATH=~/bin:$PATH Wednesday, December 5, 12
  • 25. prefix = CTRL + b This is the default prefix It’s run before every command prefix d This means type ‘CTRL + b’ and then type ‘d’. Wednesday, December 5, 12
  • 26. prefix d Detaches from the current tmux session In other words, it exits tmux Wednesday, December 5, 12
  • 27. detach do it Wednesday, December 5, 12
  • 28. $ tmux attach reattaches to the tmux session Wednesday, December 5, 12
  • 29. do it now Wednesday, December 5, 12
  • 30. Multiple sessions You can have them We won’t discuss them today Wednesday, December 5, 12
  • 31. prefix c create a new window (or tab) Wednesday, December 5, 12
  • 32. prefix # ‘prefix 1’ takes you to tab #1 Wednesday, December 5, 12
  • 33. prefix w provides a list of windows available ‘j’ and ‘k’ to scroll the selections Wednesday, December 5, 12
  • 34. prefix % That’s not 5, but ‘%’, which means prefix SHIFT+5 This splits the pane in half Wednesday, December 5, 12
  • 35. prefix x In the lower portion of tmux, you’ll see it ask you: kill pane 2? (y/n) type ‘y’ Wednesday, December 5, 12
  • 36. prefix “ split horizontally Wednesday, December 5, 12
  • 37. prefix o switch between panes Wednesday, December 5, 12
  • 38. prefix CTRL + o move panes around layout Wednesday, December 5, 12
  • 39. PREFIX SPACE change layout of panes Wednesday, December 5, 12
  • 40. Try scrolling in a pane haha Wednesday, December 5, 12
  • 41. prefix [ CTRL u : up a lot CTRL d: down a lot Love alot. j : up a line d : down a line q: quit Wednesday, December 5, 12
  • 42. Configuration $ touch ~/.tmux.conf Wednesday, December 5, 12
  • 43. CTRL + B is awkward # Prefix Config set -g prefix C-a unbind C-b bind C-a send-prefix Wednesday, December 5, 12
  • 44. prefix = CTRL + a Remap CAPS LOCK to CTRL. Wednesday, December 5, 12
  • 45. Make it responsive # Changing the default delay set -sg escape-time 1 Wednesday, December 5, 12
  • 46. Easy config changes # Easy config changes bind r source-file ~/.tmux.conf ; display "Reloaded!" Wednesday, December 5, 12
  • 47. Easy Pane Spitting # Splitting Panes bind split-window -h bind - split-window -v Wednesday, December 5, 12
  • 48. Easy Pane Movement # Movement keys, vim style bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R Wednesday, December 5, 12
  • 49. move one pane left prefix h Wednesday, December 5, 12
  • 50. Pane Resizing # Pane resizing, vim style bind H resize-pane -L 5 bind J resize-pane -D 5 bind K resize-pane -U 5 bind L resize-pane -R 5 Wednesday, December 5, 12
  • 51. Try the pane resizing Don’t forget to run this command prefix r Wednesday, December 5, 12
  • 52. Let’s make resizing easier by repeating # Pane resizing, vim style bind -r H resize-pane -L 5 bind -r J resize-pane -D 5 bind -r K resize-pane -U 5 bind -r L resize-pane -R 5 Wednesday, December 5, 12
  • 53. resize prefix L -r You can hold it down, and it will keep moving Wednesday, December 5, 12
  • 54. Start at 1 # Windows and panes index renumbering set -g base-index 1 setw -g pane-base-index 1 Wednesday, December 5, 12
  • 55. Basic UI # Colors set -g status-fg white set -g status-bg black Wednesday, December 5, 12
  • 56. Window movement # Window Movement bind -r C-h select-window -t :- bind -r C-l select-window -t :+ Wednesday, December 5, 12
  • 57. or... prefix w Wednesday, December 5, 12
  • 58. or... prefix # #: 0-9 Wednesday, December 5, 12
  • 59. timtowtdi • is Wednesday, December 5, 12
  • 60. tmux & screen notes http://www.dayid.org/os/notes/tm.html Wednesday, December 5, 12
  • 61. book http://pragprog.com/book/bhtmux/tmux Wednesday, December 5, 12
  • 62. web http://tmux.sourceforge.net/ Wednesday, December 5, 12
  • 63. we were using tmux 1.6 latest is tmux 1.7 Wednesday, December 5, 12
  • 64. tmux configuration files now support line-continuation with a "" at the end of a line. * New option status-position to move the status line to the top or bottom of the screen. * Enforce history-limit option when clearing the screen. * Give each window a unique id, like panes but prefixed with @. * Add pane id to each pane in layout description (while still accepting the old form). * Provide defined ways to set the various default-path possibilities: ~ for home directory, . for server start directory, - for session start directory and empty for the pane's working directory (the default). All can also be used as part of a relative path (eg -/foo). Also provide -c flags to neww and splitw to override default-path setting. * Add -l flag to send-keys to send input literally (without translating key names). * Allow a single option to be specified to show-options to show just that option. * New command "move-pane" (like join-pane but allows the same window). * join-pane and move-pane commands learn "-b" option to place the pane to the left or above. * Support for bracketed-paste mode. * Allow send-keys command to accept hex values. * Add locking around "start-server" to avoid race-conditions. * break-pane learns -P/-F arguments for display formatting. * set-option learns "-q" to make it quiet, and not print out anything. new in 1.7 * copy mode learns "wrap-search" option. * Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 250/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval. * find-window learns new flags: "-C", "-N", "-T" to match against either or all of a window's content, name, or title. Defaults to all three options if none specified. * find-window automatically selects the appropriate pane for the found matches. * show-environment can now accept one option to show that environment value. * Exit mouse mode when end-of-screen reached when scrolling with the mouse wheel. * select-layout learns -u and -U for layout history stacks. * kill-window, detach-client, kill-session all learn "-a" option for killing all but the current thing specified. * move-window learns "-r" option to renumber window sequentially in a session. * New session option "renumber-windows" to automatically renumber windows in a session when a window is closed. (see "move-window -r"). * Only enter copy-mode on scroll up. * choose-* and list-* commands all use "-F" for format specifiers. * When spawning external commands, the value from the "default-shell" option is now used, rather than assuming /bin/sh. * New choose-tree command to render window/sessions as a tree for selection. * display-message learns new format options. * For linked-windows across sessions, all flags for that window are now cleared across sessions. * Lots and lots of bug fixes, fixing memory-leaks, etc. * Various manpage improvements. Wednesday, December 5, 12