Are you still talking about the terminal scrollback rather than internal tmux/screen history?
Because this is not the case for me, even if I add "altscreen off" to your .screenrc below, screen behaves like I would expect - if I do ls -la then vi then exit vi and scroll up into the terminal scroll buffer, what is in the scrollback buffer is whatever screen happened to scroll off the screen, usually the output of ls cut off (so if I have a two line terminal and ls displays four lines a,b,c,d then a and b are left in the scrollback). What xterm version are you using on what platform? What is in your .Xresources/.Xdefaults? What screen version? I take it TERM is set to xterm? On Thu, Mar 08, 2012 at 05:57:18PM -0800, Gustavo Baratto wrote: > Hi Nicholas... > Try running "ls -la", then opening any file with 'vi'. > When 'vi' starts, the result of 'ls -la' get overwritten in tmux. > With screen or the plain terminal, the result of 'ls -la' get moved up but > not overwritten, so I never lose what was printed on the terminal. > This is my .tmux.conf: > ---- > set -g history-limit * * * 200000 > set -g set-titles * * * * *on > set -g set-titles-string * '[#I:#W:#T]' > set -g status-justify * * *right * > set -g status-keys * * * * vi > set -g status-left * * * * '#[fg=red][#I:#W]' > set -g status-left-length *50 > set -g status-left-attr * *"none" > set -g status-right * * * *'' > set -g status-right-length 1 > set -g status-bg * * * * * *'yellow' > set -g default-terminal * * *"screen-256color" > set -g terminal-overrides *'*:smcup@:rmcup@' > setw -g window-status-current-format > *'#[fg=red,underscore,blink][#I:#W#F]' > setw -g window-status-attr * * * * * *dim > setw -g window-status-format * * * * *'#I:#W#F' > setw -g mode-keys * * * * * * * * * * vi > setw -g mode-mouse * * * * * * * * * off* > setw -g alternate-screen * * * * * * *off > ---- > And this is my .screenrc: > ---- > termcapinfo xterm ti@:te@ > defscrollback 100000 > ---- > On Thu, Mar 8, 2012 at 5:32 PM, Nicholas Marriott > <[1]nicholas.marri...@gmail.com> wrote: > > I don't really understand what you are asking. > > tmux has no control over what goes into the terminal scrollback and > when, nor does screen, it's entirely up to the terminal. > > If I run screen with altscreen off it leaves the terminal scrollback > unaltered, same as tmux w/o smcup in terminfo. > > What do you think they are doing differently? > > On Thu, Mar 08, 2012 at 03:07:13PM -0800, Gustavo Baratto wrote: > > * *Hi Nicholas... > > * *Most people I surveyed (including myself) use the terminal's > scrollback > > * *instead of screen/tmux history. Not a very statistically relevant > sample, > > * *but these are all seasoned sysadmins coming from different > backgrounds, so > > * *I suppose there is good demand for such feature. > > * *That works perfectly in screen, and it would be great if we have > both > > * *options for scrollback in the terminal and tmux history to satisfy > all > > * *tastes :) > > * *Thanks a bunch. > > * *g. > > > > * *On Thu, Mar 8, 2012 at 2:45 PM, Nicholas Marriott > > * *<[1][2]nicholas.marri...@gmail.com> wrote: > > > > * * *tmux already moves the content into the history on clear. > > > > * * *On Thu, Mar 08, 2012 at 11:32:02AM -0800, Gustavo Baratto wrote: > > * * *> * *Hi guys... > > * * *> > > * * *> * *Is there any news regarding this? > > * * *> * *I'm on tmux 1.5, and having problem with tmux overwriting > existing > > * * *content > > * * *> * *on the terminal when starting vi. > > * * *> * *I cannot send clear as '\E[H\E[2J' with either > terminal-override: > > * * *> > > * * *> * *set -g terminal-overrides *'*:smcup@:rmcup@:clear=\E[H\E[2J' > > * * *> > > * * *> * *or by compiling my own terminal. > > * * *> > > * * *> * *Recapping what the problem is (in the well crafted words of > Fabian > > * * *in an > > * * *> * *earlier post): > > * * *> * *--- > > * * *> > > * * *> * *What typically happens is something like this for a 4 line > > * * *terminal: > > * * *> > > * * *> * *shell% ls > > * * *> * *file1 > > * * *> * *file2 > > * * *> * *shell% > > * * *> > > * * *> * *Now if I would type vim as command (and execute it by > pressing > > * * *enter), > > * * *> * *what I want to happen, is that the above 4 lines are moved > up in my > > * * *> * *terminal's buffer, and Vim to use "new space" below what was > > * * *already on > > * * *> * *the screen. > > * * *> * *--- > > * * *> > > * * *> * *I really like tmux, but this behavior is a showstopper for > me and > > * * *many > > * * *> * *co-workers that now use screen. > > * * *> * *Thanks a bunch :) > > * * *> * *g. > > * * *> > > * * *> * *On Sun, Sep 25, 2011 at 07:55:27AM +0100, Nicholas Marriott > wrote: > > * * *> * *> It wasn't supported in tmux 1.4, try tmux 1.5? > > * * *> * *> > > * * *> * *> If that doesn't work, send me the output of "clear|cat -v" > on > > * * *your > > * * *> * *> box. > > * * *> * *> > > * * *> * *> > > * * *> * *> On Sat, Sep 24, 2011 at 06:25:40PM -0700, Robin Lee Powell > wrote: > > * * *> * *> > Note, by the way, that on other machines "clear" *used* > to do > > * * *the > > * * *> * *> > right thing for me; we had a long thread about it a > while back; > > * * *> * *> > [1][2][3]http://www.mail-archive.com/tmux-users@...> > > * * *> * *> > > > * * *> * *> > This is a completely new system, and I don't know what > changed. > > * * *> * *> > It's Fedora 15, running tmux 1.4. > > * * *> * *> > > > * * *> * *> > Suggestions welcome for how to test/debug this, as > usual. > > * * *> * *> > > > * * *> * *> > -Robin > > * * *> * *> > > > * * *> * *> > On Sat, Sep 24, 2011 at 06:15:29PM -0700, Robin Lee > Powell > > * * *wrote: > > * * *> * *> > > On my current Fedora machine, no, it doesn't. > > * * *> * *> > > > > * * *> * *> > > If I run "clear", with alternate-screen off, it simply > > * * *destroys > > * * *> * *> > > what's on the screen; it doesn't go into tmux's > > * * *backscroll/history > > * * *> * *> > > or anything, it's just *gone*. > > * * *> * *> > > > > * * *> * *> > > I want this fixed so very, very badly. ;_; > > * * *> * *> > > > > * * *> * *> > > It annoys me so much that I may have to switch back to > GNU > > * * *screen, > > * * *> * *> > > where I never had this problem, despite it being a > worse > > * * *program in > > * * *> * *> > > basically every other respect. > > * * *> * *> > > > > * * *> * *> > > -Robin > > * * *> * *> > > > > * * *> * *> > > On Mon, Aug 22, 2011 at 10:28:09PM +0100, Nicholas > Marriott > > * * *wrote: > > * * *> * *> > > > Don't we do this already? Clear screen scrolls lines > into > > * * *the > > * * *> * *history? > > * * *> * *> > > > Or do you want something else? It isn't very > obvious. > > * * *> * *> > > > > > * * *> * *> > > > > > * * *> * *> > > > > > * * *> * *> > > > On Mon, Aug 22, 2011 at 10:22:16PM +0200, Fabian > Groffen > > * * *wrote: > > * * *> * *> > > > > Hi list, > > * * *> * *> > > > > > > * * *> * *> > > > > In my quest to get rid of the alternative buffer > feature > > * * *of > > * * *> * *todays > > * * *> * *> > > > > terminals, I've configured tmux with: > > * * *> * *> > > > > > > * * *> * *> > > > > set -g terminal-overrides 'xterm*:smcup@...@' > > * * *> * *> > > > > set -g alternate-screen off > > * * *> * *> > > > > > > * * *> * *> > > > > This basically does everything I want, except that > > * * *compared to a > > * * *> * *> > > > > non-tmux session (with terminfo settings to remove > smcup > > * * *and > > * * *> * *rmcup > > * * *> * *> > > > > capabilities) a "clear" overwrites the existing > contents > > * * *of the > > * * *> * *> > > > > terminal. E.g. when I run Vim in tmux, I lose the > > * * *information on > > * * *> * *my > > * * *> * *> > > > > screen, whereas outside it isn't. The \E[2J > sequence > > * * *triggers a > > * * *> * *full > > * * *> * *> > > > > clear screen, and the attached patch changes the > > * * *behaviour for > > * * *> * *that > > * * *> * *> > > > > sequence in the tty_cmd_clearscreen function not > to > > * * *overwrite, > > * * *> * *but > > * * *> * *> > > > > rather add empty lines to make the terminal clean. > This > > * * *is only > > * * *> * *done > > * * *> * *> > > > > when alternate-screen is set to off, when this > behaviour > > * * *makes > > * * *> * *sense. > > * * *> * *> > > > > > > * * *> * *> > > > > Please consider the attached patch. > > * * *> * *> > > > > > > * * *> * *> > > > > > > * * *> * *> > > > > -- > > * * *> * *> > > > > Fabian Groffen > > * * *> * *> > > > > Gentoo on a different level > > * * *> * *> > > > > > * * *> * *> > > > > # HG changeset patch > > * * *> * *> > > > > # User Fabian Groffen <grobian@...> > > * * *> * *> > > > > # Date 1314042382 -7200 > > * * *> * *> > > > > # Node ID 1b455a85ed6ca5e6aeea23a7152bffcc902966b3 > > * * *> * *> > > > > # Parent 051fdc014dc5bc730e4b0eb380af8b09938dd9b8 > > * * *> * *> > > > > tty_cmd_clearscreen: don't overwrite the buffer if > > * * *> * *alternate-screen=off > > * * *> * *> > > > > > > * * *> * *> > > > > If the alternative-screen isn't used, overwriting > the > > * * *buffer > > * * *> * *contents > > * * *> * *> > > > > loses the information that the user probably > wanted to > > * * *retain > > * * *> * *(hence no > > * * *> * *> > > > > alternate-screen). Instead, write enough newlines > to > > * * *clear the > > * * *> * *screen > > * * *> * *> > > > > and reset the cursor, such that we retain all > information > > * * *that > > * * *> * *was on > > * * *> * *> > > > > the screen before the clear. > > * * *> * *> > > > > > > * * *> * *> > > > > For example: having ls output and starting Vim > won't > > * * *overwrite > > * * *> * *the ls > > * * *> * *> > > > > output, but show the output including the vim > invocation. > > * * *> * *> > > > > > > * * *> * *> > > > > diff -r 051fdc014dc5 -r 1b455a85ed6c tty.c > > * * *> * *> > > > > --- a/tty.c Mon Aug 22 20:14:55 2011 +0200 > > * * *> * *> > > > > +++ b/tty.c Mon Aug 22 21:46:22 2011 +0200 > > * * *> * *> > > > > @@ -899,24 +899,32 @@ > > * * *> * *> > > > > > > * * *> * *> > > > > tty_reset(tty); > > * * *> * *> > > > > > > * * *> * *> > > > > - tty_region_pane(tty, ctx, 0, screen_size_y(s) - > 1); > > * * *> * *> > > > > - tty_cursor_pane(tty, ctx, 0, 0); > > * * *> * *> > > > > + if (options_get_number(&wp->window->options, > > * * *> * *"alternate-screen")) { > > * * *> * *> > > > > + tty_region_pane(tty, ctx, 0, screen_size_y(s) - > 1); > > * * *> * *> > > > > + tty_cursor_pane(tty, ctx, 0, 0); > > * * *> * *> > > > > > > * * *> * *> > > > > - if (wp->xoff == 0 && screen_size_x(s) >= tty->sx > && > > * * *> * *> > > > > - tty_term_has(tty->term, TTYC_EL)) { > > * * *> * *> > > > > - for (i = 0; i < screen_size_y(s); i++) { > > * * *> * *> > > > > - tty_putcode(tty, TTYC_EL); > > * * *> * *> > > > > - if (i != screen_size_y(s) - 1) { > > * * *> * *> > > > > - tty_emulate_repeat(tty, TTYC_CUD, TTYC_CUD1, 1); > > * * *> * *> > > > > - tty->cy++; > > * * *> * *> > > > > + if (wp->xoff == 0 && screen_size_x(s) >= tty->sx > && > > * * *> * *> > > > > + tty_term_has(tty->term, TTYC_EL)) { > > * * *> * *> > > > > + for (i = 0; i < screen_size_y(s); i++) { > > * * *> * *> > > > > + tty_putcode(tty, TTYC_EL); > > * * *> * *> > > > > + if (i != screen_size_y(s) - 1) { > > * * *> * *> > > > > + tty_emulate_repeat(tty, TTYC_CUD, TTYC_CUD1, 1); > > * * *> * *> > > > > + tty->cy++; > > * * *> * *> > > > > + } > > * * *> * *> > > > > + } > > * * *> * *> > > > > + } else { > > * * *> * *> > > > > + for (j = 0; j < screen_size_y(s); j++) { > > * * *> * *> > > > > + tty_cursor_pane(tty, ctx, 0, j); > > * * *> * *> > > > > + for (i = 0; i < screen_size_x(s); i++) > > * * *> * *> > > > > + tty_putc(tty, ' '); > > * * *> * *> > > > > } > > * * *> * *> > > > > } > > * * *> * *> > > > > } else { > > * * *> * *> > > > > - for (j = 0; j < screen_size_y(s); j++) { > > * * *> * *> > > > > - tty_cursor_pane(tty, ctx, 0, j); > > * * *> * *> > > > > - for (i = 0; i < screen_size_x(s); i++) > > * * *> * *> > > > > - tty_putc(tty, ' '); > > * * *> * *> > > > > - } > > * * *> * *> > > > > + /* make sure we don't overwrite buffer contents, > move > > * * *down */ > > * * *> * *> > > > > + for (j = 0; j < screen_size_y(s); j++) > > * * *> * *> > > > > + tty_putc(tty, '\n'); > > * * *> * *> > > > > + tty_region_pane(tty, ctx, 0, screen_size_y(s) - > 1); > > * * *> * *> > > > > + tty_cursor_pane(tty, ctx, 0, 0); > > * * *> * *> > > > > } > > * * *> * *> > > > > } > > * * *> * *> > > > > > > * * *> * *> > > > > > * * *> * *> > > > > > > * * *> * > > * * > > **------------------------------------------------------------------------------ > > * * *> * *> > > > > uberSVN's rich system and user administration > > * * *capabilities and > > * * *> * *model > > * * *> * *> > > > > configuration take the hassle out of deploying and > > * * *managing > > * * *> * *Subversion and > > * * *> * *> > > > > the tools developers use with it. Learn more about > > * * *uberSVN and > > * * *> * *get a free > > * * *> * *> > > > > download at: > [2][3][4]http://p.sf.net/sfu/wandisco-dev2dev > > * * *> * *> > > > > > * * *> * *> > > > > _______________________________________________ > > * * *> * *> > > > > tmux-users mailing list > > * * *> * *> > > > > tmux-users@... > > * * *> * *> > > > > > > * * *[3][4][5]https://lists.sourceforge.net/lists/listinfo/tmux-users > > * * *> * *> > > > > > * * *> * *> > > > > > * * *> * *> > > > > > * * *> * > > * * > > **------------------------------------------------------------------------------ > > * * *> * *> > > > uberSVN's rich system and user administration > capabilities > > * * *and > > * * *> * *model > > * * *> * *> > > > configuration take the hassle out of deploying and > managing > > * * *> * *Subversion and > > * * *> * *> > > > the tools developers use with it. Learn more about > uberSVN > > * * *and get > > * * *> * *a free > > * * *> * *> > > > download at: > [4][5][6]http://p.sf.net/sfu/wandisco-dev2dev > > * * *> * *> > > > _______________________________________________ > > * * *> * *> > > > tmux-users mailing list > > * * *> * *> > > > tmux-users@... > > * * *> * *> > > > > > * * *[5][6][7]https://lists.sourceforge.net/lists/listinfo/tmux-users > > * * *> * *> > > * * *> * *> > > * * *> * > > * * > > **------------------------------------------------------------------------------ > > * * *> * *> All of the data generated in your IT infrastructure is > seriously > > * * *> * *valuable. > > * * *> * *> Why? It contains a definitive record of application > performance, > > * * *> * *security > > * * *> * *> threats, fraudulent activity, and more. Splunk takes this > data > > * * *and makes > > * * *> * *> sense of it. IT sense. And common sense. > > * * *> * *> [6][7][8]http://p.sf.net/sfu/splunk-d2dcopy2 > > * * *> * *> _______________________________________________ > > * * *> * *> tmux-users mailing list > > * * *> * *> tmux-users@... > > * * *> * *> > [7][8][9]https://lists.sourceforge.net/lists/listinfo/tmux-users > > * * *> * *> > > * * *> > > * * *> References > > * * *> > > * * *> * *Visible links > > * * *> * *1. [9][10]http://www.mail-archive.com/tmux-users@.. > > * * *> * *2. [10][11]http://p.sf.net/sfu/wandisco-dev2dev > > * * *> * *3. > [11][12]https://lists.sourceforge.net/lists/listinfo/tmux-users > > * * *> * *4. [12][13]http://p.sf.net/sfu/wandisco-dev2dev > > * * *> * *5. > [13][14]https://lists.sourceforge.net/lists/listinfo/tmux-users > > * * *> * *6. [14][15]http://p.sf.net/sfu/splunk-d2dcopy2 > > * * *> * *7. > [15][16]https://lists.sourceforge.net/lists/listinfo/tmux-users > > > > * * *> > > * * > > *------------------------------------------------------------------------------ > > * * *> Virtualization & Cloud Management Using Capacity Planning > > * * *> Cloud computing makes use of virtualization - but cloud > computing > > * * *> also focuses on allowing computing to be delivered as a > service. > > * * *> [16][17]http://www.accelacomm.com/jaw/sfnl/114/51521223/ > > > > * * *> _______________________________________________ > > * * *> tmux-users mailing list > > * * *> [17][18]tmux-users@lists.sourceforge.net > > * * *> [18][19]https://lists.sourceforge.net/lists/listinfo/tmux-users > > > > References > > > > * *Visible links > > * *1. mailto:[20]nicholas.marri...@gmail.com > > * *2. [21]http://www.mail-archive.com/tmux-users@.. > > * *3. [22]http://p.sf.net/sfu/wandisco-dev2dev > > * *4. [23]https://lists.sourceforge.net/lists/listinfo/tmux-users > > * *5. [24]http://p.sf.net/sfu/wandisco-dev2dev > > * *6. [25]https://lists.sourceforge.net/lists/listinfo/tmux-users > > * *7. [26]http://p.sf.net/sfu/splunk-d2dcopy2 > > * *8. [27]https://lists.sourceforge.net/lists/listinfo/tmux-users > > * *9. [28]http://www.mail-archive.com/tmux-users@ > > * 10. [29]http://p.sf.net/sfu/wandisco-dev2dev > > * 11. [30]https://lists.sourceforge.net/lists/listinfo/tmux-users > > * 12. [31]http://p.sf.net/sfu/wandisco-dev2dev > > * 13. [32]https://lists.sourceforge.net/lists/listinfo/tmux-users > > * 14. [33]http://p.sf.net/sfu/splunk-d2dcopy2 > > * 15. [34]https://lists.sourceforge.net/lists/listinfo/tmux-users > > * 16. [35]http://www.accelacomm.com/jaw/sfnl/114/51521223/ > > * 17. mailto:[36]tmux-users@lists.sourceforge.net > > * 18. [37]https://lists.sourceforge.net/lists/listinfo/tmux-users > > References > > Visible links > 1. mailto:nicholas.marri...@gmail.com > 2. mailto:nicholas.marri...@gmail.com > 3. http://www.mail-archive.com/tmux-users@.. > 4. http://p.sf.net/sfu/wandisco-dev2dev > 5. https://lists.sourceforge.net/lists/listinfo/tmux-users > 6. http://p.sf.net/sfu/wandisco-dev2dev > 7. https://lists.sourceforge.net/lists/listinfo/tmux-users > 8. http://p.sf.net/sfu/splunk-d2dcopy2 > 9. https://lists.sourceforge.net/lists/listinfo/tmux-users > 10. http://www.mail-archive.com/tmux-users@ > 11. http://p.sf.net/sfu/wandisco-dev2dev > 12. https://lists.sourceforge.net/lists/listinfo/tmux-users > 13. http://p.sf.net/sfu/wandisco-dev2dev > 14. https://lists.sourceforge.net/lists/listinfo/tmux-users > 15. http://p.sf.net/sfu/splunk-d2dcopy2 > 16. https://lists.sourceforge.net/lists/listinfo/tmux-users > 17. http://www.accelacomm.com/jaw/sfnl/114/51521223/ > 18. mailto:tmux-users@lists.sourceforge.net > 19. https://lists.sourceforge.net/lists/listinfo/tmux-users > 20. mailto:nicholas.marri...@gmail.com > 21. http://www.mail-archive.com/tmux-users@ > 22. http://p.sf.net/sfu/wandisco-dev2dev > 23. https://lists.sourceforge.net/lists/listinfo/tmux-users > 24. http://p.sf.net/sfu/wandisco-dev2dev > 25. https://lists.sourceforge.net/lists/listinfo/tmux-users > 26. http://p.sf.net/sfu/splunk-d2dcopy2 > 27. https://lists.sourceforge.net/lists/listinfo/tmux-users > 28. http://www.mail-archive.com/tmux-users@ > 29. http://p.sf.net/sfu/wandisco-dev2dev > 30. https://lists.sourceforge.net/lists/listinfo/tmux-users > 31. http://p.sf.net/sfu/wandisco-dev2dev > 32. https://lists.sourceforge.net/lists/listinfo/tmux-users > 33. http://p.sf.net/sfu/splunk-d2dcopy2 > 34. https://lists.sourceforge.net/lists/listinfo/tmux-users > 35. http://www.accelacomm.com/jaw/sfnl/114/51521223/ > 36. mailto:tmux-users@lists.sourceforge.net > 37. https://lists.sourceforge.net/lists/listinfo/tmux-users ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ tmux-users mailing list tmux-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tmux-users