Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Serial Monitor autoscroll only makes bottom line partially visible #972

Closed
3 tasks done
per1234 opened this issue Apr 26, 2022 · 15 comments
Closed
3 tasks done

Serial Monitor autoscroll only makes bottom line partially visible #972

per1234 opened this issue Apr 26, 2022 · 15 comments
Assignees
Labels
conclusion: resolved Issue was resolved topic: code Related to content of the project itself topic: serial monitor Related to the Serial Monitor type: imperfection Perceived defect in any part of project

Comments

@per1234
Copy link
Contributor

per1234 commented Apr 26, 2022

Describe the problem

The Arduino IDE "Serial Monitor" view has a "Toggle Autoscroll" control. When this is enabled, the view automatically scrolls down as the number of lines of data exceed the visible height of the view.

🐛 The autoscroll is not done completely, resulting in the most recently printed line only being partly visible.

To reproduce

Equipment

  • Any Arduino board capable of serial output.

Steps

  1. Upload a sketch that produces sufficient serial output to exceed the height of the "Serial Monitor" view.
    For example:
    int counter;
    void setup() {
      Serial.begin(9600);
    }
    void loop() {
      Serial.print("hello #");
      Serial.println(counter++);
      delay(500);
    }
  2. Open the "Serial Monitor" view.
  3. Select "9600 baud" from the dropdown baud rate menu at the top right corner of the "Serial Monitor" view.
  4. Select the "Toggle Autoscroll" icon at the right side of the bottom panel toolbar if it is not already.
  5. Wait for the serial output to exceed the visible height of the view.

🐛 The most recently printed line is only partly visible:

image

This is especially problematic when the line contains data that is important for the user to see at the time it is printed vs a constant data stream where the previous line serves just as well at the moment as the unreadable one.

Expected behavior

The most recently printed line is always shown above the bottom edge of the Serial Monitor view.

Arduino IDE version

2.0.0-rc6

Operating system

Windows

Operating system version

10

Additional context

I bisected the issue to aba9db6 (it does not occur when using the build from e5b3462)


The line does become fully visible if I manually scroll the Serial Monitor down.


Originally reported at:

Issue checklist

  • I searched for previous reports in the issue tracker
  • I verified the problem still occurs when using the latest nightly build
  • My report contains all necessary details
@per1234 per1234 added topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project topic: serial monitor Related to the Serial Monitor labels Apr 26, 2022
@mklemarczyk
Copy link

Same here, for version rc8 on Windows 10.

@asier70
Copy link

asier70 commented Jun 24, 2022

It's very annoying to use the mouse scroll all the time to see last text line showed in Serial Monitor..
Windows 10, RC7.

@KurtE
Copy link

KurtE commented Jul 2, 2022

Was double checking that issue was reported. Still there on daily 0701

@romainreignier
Copy link

The issue is also present on Linux (Ubuntu 18.04) rc8 AppImage.

@Hsubtnarg
Copy link

I have the same problem and is still there in RC8

@asier70
Copy link

asier70 commented Jul 19, 2022

I noticed another problem conneted to this issue.
Trying to select text using mouse works not as expected.
Moving mouse pointer to the top part of text allows to select text in current line. Moving it to middle or lower horizontal position selects text in line below!
It looks like text is divided in the same way like it hides on the bottom of Serial monitor window.
Probably text displayed in Serial Monitor window is not displayed like classical text in Output window but drawed as graphics. Maybe some calculations of this graphic chars position is done wrong.

@Defragster
Copy link

Defragster commented Jul 24, 2022

Confirm RC9 on Win10 still exhibits this clipping of the newest trailing line in SerMon output area.
Also note if 'select to end' with mouse - as the newest line is added it is also selected (as expected) :

.. CORRECTION on the following - it worked this was once, but I cannot see it happen now?
However when the added line is selected the autoscroll Does Fully Show the bottom line in the highlighted text.

@Defragster
Copy link

Defragster commented Jul 27, 2022

Interesting screen display! Serial output was a static print waiting for user input. But the MATH was such that that last line was CLIPPED and then recalculated and redrawn repeatedly.

ADDED INFO> Got a repro and watched it crawl and start: Line was on the border of too long it seems. Add and remove of Horiz scroll bar caused the recalc/redraw. Sketch was Teensy LittleFS Integrity (PSRAM or QSPI) open screen text draw: left half screen of laptop with SerMon window at Max Height.

When it was in this state on Win 10 laptop a 2 finger scroll up/down would go clear and when full bottom would repeat the blurred redraw:
SerMonSpaz

@asier70
Copy link

asier70 commented Aug 11, 2022

rc9.2 - issue still exists.

@pturri83
Copy link

This issue appears also on MacOS 12.5.

@alec03128
Copy link

rc9.4 - issue still exists on Windows 10.
Changing font sizes and interface scaling does not solve the issue.

@tahunus
Copy link

tahunus commented Sep 15, 2022

Issue still present in stable release 2.0.0 (Windows 11)

(In any case, KUDOS to the team for this release!! )

@el-samiyel
Copy link

Issue still present in 2.0 release. Window 10.

And yes, KUDOS for producing the new IDE, its spectacular.

@per1234
Copy link
Contributor Author

per1234 commented Sep 27, 2022

Resolved by #1446

@heliophagus
Copy link

The bad serial monitor scroll bug persists in the latest version I'm using:

Version: 2.0.3
Date: 2022-12-05T09:30:25.331Z
CLI Version: 0.29.0 [76251df9]

It's SUPER annoying because the output I need to pay attention to (a response to a query) only occurs on the last line of serial output, & I have to scroll down to see that line (which is otherwise completely hidden) every. single. time.

In fact I wasted several hours when I first encountered this bug because it seemed the query wasn't being responded to. But it was. Just hidden.

The puzzling thing is that this bug has been asserted as fixed for months now. But it isn't fixed. Will it ever be fixed? Can it, in fact, be fixed? Is this Kurt Gödel incompleteness territory? Strange times indeed.

@arduino arduino locked as resolved and limited conversation to collaborators Dec 20, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
conclusion: resolved Issue was resolved topic: code Related to content of the project itself topic: serial monitor Related to the Serial Monitor type: imperfection Perceived defect in any part of project
Projects
None yet
Development

No branches or pull requests