1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

How to? Is it possible to freeze one side of the console?

Discussion in 'Support' started by Avi Shmidman, Feb 18, 2013.

  1. Avi Shmidman

    Joined:
    Feb 23, 2012
    Messages:
    238
    Likes Received:
    3
    I often run command line utilities which output a steady stream of information to the console (that is, every 5 seconds or so another line is output). At times I need to scroll back through this console output, to review the progress of the task. However, since the task is continually outputting data, I can't simply browse the console buffer with alt-pgup, because whenever a new line is output to the console, the console buffer jumps all the way back to the end.

    Obviously, I can do a "select all", copy the entire buffer, and paste it into a separate text editor to examine the contents. But that's not very streamlined or convenient. I'd prefer to have a way to scroll up within TCC itself, without having the console jump back down with every new line.

    I was wondering whether it might be possible to accomplish this with the vertical slider. That is, is it possible to "freeze" one side of the console, so that, say, the left side would show the updates on the bottom as they are output, while the right side would allow me to scroll around inside the buffer, without having the buffer jump back down to the bottom with every new line?
     
  2. vefatica

    Joined:
    May 20, 2008
    Messages:
    7,775
    Likes Received:
    29
    Just the thought of it reminds me of DesqView (anyone?) and of being able to set the scrolling region of a UNIX console with escape sequences (IIRC, ckermit (anyone?) and real VT terminals could do that too). I'm pretty sure the answer is "no" since Windows simply does not have the capability.

    But it makes me wonder. TCMD has the capability of showing you (very efficiently) what's going on in a hidden console. So I wonder if it's possible for one console (maybe a second instance of TCC) to "mirror" (how about a MIRROR command) what's going on in another console (Rex?) ... with the possibility of suspending the mirroring (quite possibly with the loss of any output produced before the mirroring is resumed).

    ... or could TCMD (theoretically) show the same console in two tabs, one of them stoppable?

    Anyway (to Avi) you can suspend console output with Ctrl-S (resume with any key) and examine the buffer via the scroll bar. I believe this actually pauses the process or thread producing the output.
     
  3. Avi Shmidman

    Joined:
    Feb 23, 2012
    Messages:
    238
    Likes Received:
    3
    Hi Vince,

    Thanks for your response (and for the loving memory of Desqview on the 386). I'd love to see TC include the possibility to stop the console input in one of the vertical panes, even as the task continues working and outputting data in the other pane. If this is not possible now, I'll add it as a request on the user voice forum.

    In the meantime, though, I'd like to get the Ctrl-S option that you mentioned working. This keystroke does not pause the task on my computer (I'm running in a Take Command window). I figured that perhaps I just have it mapped differently in my configuration, but a review of the Customize/Keyboard dialog did not reveal any relevant commands (that is, there was no "Pause" or "Stop" command to which I might assign a keystroke). Can you please provide more information on the Ctrl-S option, or a link to the relevant page in the help file?

    Thanks!
     
  4. Avi Shmidman

    Joined:
    Feb 23, 2012
    Messages:
    238
    Likes Received:
    3
    Hi Vince,
    Were you perhaps referring to the Ctrl-S option included within Tail, Head, and Type? In those commands Ctrl-S does effectively stop the output. However, as far as I can tell, this option is specific to those commands, and does not affect other tasks.
    - Avi
     
  5. vefatica

    Joined:
    May 20, 2008
    Messages:
    7,775
    Likes Received:
    29
    Ctrl-S works automatically in consoles. And for me it works in TC also. Check how your Ctrl keys are configured in TC's options.

    And (Rex?) while I have "Left Ctrl Key" checked and "Right Ctrl Key" unchecked, Ctrl-S with either one stops output in TakeCmd.
     
  6. rconn

    rconn Administrator
    Staff Member

    Joined:
    May 14, 2008
    Messages:
    9,722
    Likes Received:
    80
    That's Windows, not Take Command. The ^S is intercepted before TCMD ever sees it.
     
  7. rconn

    rconn Administrator
    Staff Member

    Joined:
    May 14, 2008
    Messages:
    9,722
    Likes Received:
    80
    Yes, that's what the splitter window is for.
     
  8. Avi Shmidman

    Joined:
    Feb 23, 2012
    Messages:
    238
    Likes Received:
    3
    Hi Rex,

    I had thought the splitter window would be helpful here. However, it doesn't seem to help in my situation. Whenever my console program outputs a new line, *both* of my splitter windows immediately scroll all the way down to the bottom.

    That is: I am running a console program which outputs a line every 5 seconds or so. With my left window showing the current output, I switch to the right window and begin scrolling upward to review previous content. However, as soon as the console program outputs another line, the right window pops down to the bottom again.

    What I was hoping for was to see the output as it comes in the left window, but all the while to scroll back upward in the right window, without the window being forced back down to the bottom.

    Is there any way to accomplish this?
     
  9. rconn

    rconn Administrator
    Staff Member

    Joined:
    May 14, 2008
    Messages:
    9,722
    Likes Received:
    80
    The splitter window will only track the "master" window when the caret is on the last line. Click somewhere else in the window and it will no longer scroll.
     
  10. rconn

    rconn Administrator
    Staff Member

    Joined:
    May 14, 2008
    Messages:
    9,722
    Likes Received:
    80
    Already done with splitter windows.
     
  11. Avi Shmidman

    Joined:
    Feb 23, 2012
    Messages:
    238
    Likes Received:
    3
    Hi Rex,

    I've now managed (for the first time!) to get the splitter window to stay in place without jumping down, and in doing so I think I've discovered the real issue.

    Whenever I scroll my windows, I do so by holding down the right-alt key together with PageUp. And it always jumps back when I let go of Alt. But now I see that if I use the left-alt instead of the right-alt, it actually stays in place! (I imagine that most people would use the left-alt key to begin with; however, on my keyboard the pgup and pgdown keys are on the left side; hence I combine them with the right-alt key with my right hand).

    So, the real question now is, what is going on with the right-alt key that causes the display to jump back to the bottom, and how can this be circumvented?

    [The splitter window feature has been there for nearly a year, and yet I've never understood how it was meant to work until now, because whenever I tried it I would naturally use the right-alt key, and the output would always jump back to the bottom. Now that I see how it works with the left-alt key I finally understand how useful a feature this can be!]
     
  12. Steve Fabian

    Joined:
    May 20, 2008
    Messages:
    3,523
    Likes Received:
    4
    In TCMD's Option dialog -> Tab Windows you can independently select between the left and right ALT keys and CTRL keys to be used by TCMD, and which to pass to programs running in tabs. The one TCMD uses is never seen by console programs running in tabs.
    --
    HTH, Steve
     
  13. Avi Shmidman

    Joined:
    Feb 23, 2012
    Messages:
    238
    Likes Received:
    3
    Thanks so much, Steve! That solved the problem!

    (Rex had once said that in the splitter window any regular keypress would necessarily return the cursor back to the bottom; but I didn't realize that this would include modifier keys like Ctrl and Alt. Now I see that even just hitting Ctrl or Alt will return the cursor to the bottom, unless TCMD is configured to specifically swallow up those keys).
     
  14. JohnQSmith

    Joined:
    Jan 19, 2011
    Messages:
    560
    Likes Received:
    8
    Did I miss a feature? "Splitter windows"?
     
  15. David Marcus

    Joined:
    Jun 4, 2008
    Messages:
    646
    Likes Received:
    1
    Look for "splitter windows" in the Help index. The discussion is at the bottom of the "Tab Windows" page.
     
  16. JohnQSmith

    Joined:
    Jan 19, 2011
    Messages:
    560
    Likes Received:
    8
    Thanks. I did a Search in the help file for "splitter" and got "No topics found." I then did a search for "split" and got "Split File View" and "Synchronized Scrolling" which both refer to the "view" command. That's when I asked.
     
  17. David Marcus

    Joined:
    Jun 4, 2008
    Messages:
    646
    Likes Received:
    1
    When I search for "splitter", I get three results. The first is "Tab Windows". Do you have "Search titles only" checked?
     
  18. JohnQSmith

    Joined:
    Jan 19, 2011
    Messages:
    560
    Likes Received:
    8
    Yes. Yes I did. Thanks for that one too. I bet the search function is going to be useful for me now. :facepalm:
     
  19. djspits

    Joined:
    Apr 13, 2010
    Messages:
    187
    Likes Received:
    2
    Personally, I would run the job in an invisible / minimized console and pipe the output to a file. As part of starting the job, also launch a VIEW /T on that file. Lots of plusses here; you can use many ways of navigating the output, including searching, filtering, copying and starting other programs with pieces of it. There are many more neat things you can do with a setup lke that,...

    Hope to help,
    DJ
     
  20. Avi Shmidman

    Joined:
    Feb 23, 2012
    Messages:
    238
    Likes Received:
    3
    Thanks! I'll try it out. (I imagine, though, that the output would be somewhat delayed, because the actual data would only be picked up by View when the file cache is flushed. I wonder if there is any way to force the pipe to flush the cache after each line?)
     

Share This Page