bugGNU Octave - Bugs: bug #61461, Command Window hide part of the...

 
 

bug #61461: Command Window hide part of the line

Submitter:  Stefan Pofahl <ellocco>
Submitted:  Wed 10 Nov 2021 04:07:42 PM UTC
   
 
Category:  GUI Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Other
Status:  Fixed Assigned to:  None
Originator Name:  ellocco Open/Closed:  * Closed
Release:  * 7.1.0 Operating System:  * Microsoft Windows
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Fri 24 Jun 2022 08:34:16 AM UTC, comment #33: 

Sent via private email:

> Hallo Markus,
>
> der aktuelle Snapshot sieht bei mir schon ganz prima aus!
> Herzlichen Glückwunsch!
>
> Grüße
>
> Stefan


I'm guessing that means that the original issue is resolved.

Closing report.

Markus Mützel <mmuetzel>
Group administrator
Wed 25 May 2022 08:34:53 AM UTC, comment #32: 

Do I understand correctly that the command window widget is very small for you when undocked but displays correctly when docked in the main window? Could you please attach a screenshot for when the undocked command window widget is tiny?

Could you please clarify whether the original issue is solved for you with that nightly build?

Markus Mützel <mmuetzel>
Group administrator
Wed 25 May 2022 08:17:31 AM UTC, comment #31: 

Hello Markus,

thanks for the new version, unfortunatly I observed one issue:
The command window is tiny, and there is no way to increase the
size. By chance I figured out that a double klick on the tiny window provoke that it is back (docked in again).

Regards,

Stefan

Stefan Pofahl <ellocco>
Mon 23 May 2022 07:48:08 AM UTC, comment #30: 

@Torsten: Thanks for cherry-picking these changes to stable.

@Stefan: Could you please check if your original issue is solved with one of the recent nightly builds from the stable branch? You can download them from here:
https://buildbot.octave.space/#/download

Markus Mützel <mmuetzel>
Group administrator
Fri 20 May 2022 07:46:45 PM UTC, comment #29: 

I have pushed the changeset to stable with http://hg.savannah.gnu.org/hgweb/octave/rev/35d37e433532

If I haven't missed something, the minimal Qt version required for compiling the changeset is 5.6.

Torsten Lilge <ttl>
Group Member
Tue 17 May 2022 09:35:02 PM UTC, comment #28: 

@Torsten: I was thinking more about the latter (since the change on the default branch is quite large). I also don't know if we have different minimum requirements for the version of Qt on the default and stable branch. Neither do I know if the Qt version would even be important for that specific change.

I completely trust your judgement in these regards. 🙂

Markus Mützel <mmuetzel>
Group administrator
Tue 17 May 2022 07:10:37 PM UTC, comment #27: 

@Stefan: You're welcome.

@Markus: Do you mean safely regarding possible merge conflicts or regarding the very short test time since the patch is quite new (30th Jan 2022)?

Torsten Lilge <ttl>
Group Member
Tue 17 May 2022 04:23:15 PM UTC, comment #26: 

Thank you Torsten!

Stefan Pofahl <ellocco>
Tue 17 May 2022 06:18:28 AM UTC, comment #25: 

Thanks for the feedback. But you should direct your thanks towards Torsten who likely actually fixed that bug on the default branch.

@Torsten: Would it be possible to (safely) cherry-pick the relevant changes to the stable branch?

Markus Mützel <mmuetzel>
Group administrator
Tue 17 May 2022 05:47:52 AM UTC, comment #24: 

I have tested the build artifact from the default branch provided by Markus M. and I can see a good improvements regarding unwanted distortions of the GUI-content on a MS-WIN10 installation with three monitors.
@Markus M.
Thank you Markus!

Stefan Pofahl <ellocco>
Sat 07 May 2022 12:20:46 PM UTC, comment #23: 

Sent by Stefan Pofahl via private email:

> Hi Torsten,
>
> first of all I am very much in favor of Octave since more than 20 years.
> At that time it was quite common to ignore the plot command under Octave
> to generate serious graphs for publications, but rather to use Octave for the purpose
> to generate script code for GNU-plot ...
> Now to the Octave GUI provided by Markus:
> I have not yet tested intensively, but my first impression is quite positive under MS-WIN.
> In our institute more than 90% of colleagues work with a multi-monitor set-up.
> Please let me know, if I should test this version more rigorously.
>
> Best regards,
>
> Stefan
>
> P.S.:
> If you are new to Octave and you are confronted with these kind of GUI-limitations you might
> become quite disappointed ...


I'm not sure whether that means that the original issue is solved for you with the build artifact from the default branch. Could you please clarify?
(And please use Savannah's web interface for answering. Albeit its limitations, it is very difficult to keep track of which information was exchanged if it is partly hidden in private emails...)

Markus Mützel <mmuetzel>
Group administrator
Sat 30 Apr 2022 08:32:12 AM UTC, comment #22: 

@Stefan, seems that you were able to get a dev version running. Is the original issue fixed in this version? And is comment #21 related to Octave 7.1 or the dev version?

If really the re-structuring of screen and size detection solves the multi-monitor issues, I could try to cherry pick the relevant changeset(s) into the stable branch.

Torsten Lilge <ttl>
Group Member
Thu 28 Apr 2022 04:33:41 PM UTC, comment #21: 

I do not know, if this grafical artefact is discribed in another ticket, ...
The graphical representation of blanks is disturbed under MS Windows. Single blank letters are sometime quite long.


Stefan Pofahl <ellocco>
Wed 27 Apr 2022 06:10:44 PM UTC, comment #20: 

Where did you install MSYS2? What does `which libstdc++-6.dll` return? What does `echo $PATH` return after you added the Octave package to the path?

Markus Mützel <mmuetzel>
Group administrator
Wed 27 Apr 2022 04:18:30 PM UTC, comment #19: 

Looking at it again: `mingw-w64-x86_64-gcc-libs` is a dependency of  `mingw-w64-x86_64-gcc-libgfortran`. So, that library should have been installed already by the original command.

Did the command that installed the packages display any errors?

Markus Mützel <mmuetzel>
Group administrator
Wed 27 Apr 2022 11:47:31 AM UTC, comment #18: 

Replying here to a privately sent email about a missing `libstdc++-6.dll`:

Oops. It looks like that package was missing in the command for installing the dependencies. The command including that package:

pacman -Syu
pacman -S --needed mingw-w64-x86_64-gcc-libgfortran mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-arpack mingw-w64-x86_64-curl mingw-w64-x86_64-fftw mingw-w64-x86_64-fltk mingw-w64-x86_64-ghostscript mingw-w64-x86_64-gl2ps mingw-w64-x86_64-glpk mingw-w64-x86_64-gnuplot mingw-w64-x86_64-graphicsmagick mingw-w64-x86_64-hdf5 mingw-w64-x86_64-libsndfile mingw-w64-x86_64-portaudio mingw-w64-x86_64-qhull mingw-w64-x86_64-qrupdate mingw-w64-x86_64-qscintilla mingw-w64-x86_64-qt5-tools mingw-w64-x86_64-sundials mingw-w64-x86_64-suitesparse


I hope I didn't forget anything else...

Markus Mützel <mmuetzel>
Group administrator
Tue 26 Apr 2022 05:18:47 PM UTC, comment #17: 

Should have mentioned: The default branch isn't "stable". Some functionality might not work. E.g., currently sorting arrays that contain NaN values doesn't work correctly (and maybe also other things...).

Markus Mützel <mmuetzel>
Group administrator
Tue 26 Apr 2022 05:09:34 PM UTC, comment #16: 

Ok. I tried to add steps that upload the build artifacts for MINGW64 in a fork on GitHub. The resulting artifact is pretty large; the binaries aren't stripped. But that might also be useful sometimes.

You can download the artifact from the bottom of this page:
https://github.com/mmuetzel/octave/actions/runs/2226780883
(I don't know if you need to be logged in to GitHub to be able to see that.)

Download that artifact and unzip it to e.g. `C:\Octave\test`

Those artifacts were built with MSYS2 on Windows. So, you'll need to install MSYS2 to be able to start it. It can be downloaded from here:
https://www.msys2.org/

After you've installed it, open an MINGW64 shell (the blue icon), update the package repository and install Octave's runtime dependencies with:

pacman -Syu
pacman -S --needed mingw-w64-x86_64-gcc-libgfortran mingw-w64-x86_64-arpack mingw-w64-x86_64-curl mingw-w64-x86_64-fftw mingw-w64-x86_64-fltk mingw-w64-x86_64-ghostscript mingw-w64-x86_64-gl2ps mingw-w64-x86_64-glpk mingw-w64-x86_64-gnuplot mingw-w64-x86_64-graphicsmagick mingw-w64-x86_64-hdf5 mingw-w64-x86_64-libsndfile mingw-w64-x86_64-portaudio mingw-w64-x86_64-qhull mingw-w64-x86_64-qrupdate mingw-w64-x86_64-qscintilla mingw-w64-x86_64-qt5-tools mingw-w64-x86_64-sundials mingw-w64-x86_64-suitesparse


After that, add the bin directory of the artifact to the PATH and start Octave:

export PATH=/C/Octave/test/mingw64/bin:$PATH
octave --gui


After you are done testing, you can delete that folder and uninstall MSYS2 (or keep it for later tests).

The dependencies packaged in MSYS2 and Octave's installer might be different versions. But that is probably the closest that we can get to "nightlies" for Windows from the default branch without too much effort.

I didn't read up on the limitations for those artifacts on GitHub. But if this works for you (and the terms allow this), we could maybe consider building those on the "official" mirror of Octave on GitHub...

Markus Mützel <mmuetzel>
Group administrator
Mon 25 Apr 2022 12:19:16 PM UTC, comment #15: 

There are only nightlies for Windows that are built from the stable  branch of the Octave repository with MXE Octave. IIUC, hg id e2c8c852399e was pushed to the default branch after the merge of default to stable for the Octave 7.x release cycle. So, you'd need to manually build Octave to check if these changes make a difference (either in MSYS2 natively or with MXE Octave on Linux/WSL).

IIUC, it is possible to create build artifacts on GitHub that a user can download after the job. Maybe, we could try and set that up for one of the jobs (e.g., MINGW64)? But I didn't look into how that would work and it might not work at all...

Markus Mützel <mmuetzel>
Group administrator
Mon 25 Apr 2022 11:42:15 AM UTC, comment #14: 

@Thorsten: I managed in the past to compile the installer, but it took some effort and would prefer to install a version that is already compiled.
If something has been modified to improve the robustness of the GUI please let me know and if there is no installer available I will try to compile the code.

Stefan Pofahl <ellocco>
Sat 23 Apr 2022 05:04:55 PM UTC, comment #13: 

@Stefan: Do you have the possibility to build the development version of Octave or @Markus, are there some "nightly build" available for windows? Changeset http://hg.savannah.gnu.org/hgweb/octave/rev/e2c8c852399e in the default branch updated the way the screen geometry and screen numbers are detected and used for the window geometry.

Torsten Lilge <ttl>
Group Member
Tue 23 Nov 2021 10:02:59 AM UTC, comment #12: 

Might also be the logical pixels that make the difference if different scaling factors are used on different monitors...

Markus Mützel <mmuetzel>
Group administrator
Tue 23 Nov 2021 09:58:07 AM UTC, comment #11: 

All three monitors have the same resolution: 1920x1200

Stefan Pofahl <ellocco>
Tue 23 Nov 2021 09:05:59 AM UTC, comment #10: 

Thanks. So this indeed is the same bug that I remember reading about before.
I still can't find the original report. So, marking this one as confirmed.

If I try to remember the details, ISTR that the command window got cut off at or around the width in pixels of the (smaller) primary monitor.

A long time goal is to replace the command widget with a cross-platform Qt widget. That will probably also resolve this issue.

A work-around is to use the largest monitor as the primary monitor on Windows.

Markus Mützel <mmuetzel>
Group administrator
Mon 22 Nov 2021 05:44:28 PM UTC, comment #9: 

Hi Markus,
sorry for the late reply, yes it makes a difference.
If the external monitor is the main monitor the full line is visible, even if the command window is inside the octave main
window (is docked inside / not in separate window). Stefan

Stefan Pofahl <ellocco>
Sun 14 Nov 2021 10:45:05 AM UTC, comment #8: 

comment #3:

> Does changing the primary monitor make a difference to the behavior you observe?

Markus Mützel <mmuetzel>
Group administrator
Sun 14 Nov 2021 10:15:26 AM UTC, comment #7: 

Status: "need info":
What is needed? Is there something a can test or report?

Stefan Pofahl <ellocco>
Fri 12 Nov 2021 03:52:41 PM UTC, comment #6: 

OT: yes, those two bug reports describe the situation I was trying to recall, as the subject recently came up in another discourse discussion. thanks for the pointers to direct that part of the conversation.

Nicholas Jankowski <nrjank>
Group Member
Fri 12 Nov 2021 03:26:44 PM UTC, comment #5: 

Off topic:
Afaict, Octave's interpreter is fine with handling non-ASCII characters on all platforms.
IIUC, Stefan was referring to the command window of the GUI. That might be a combination of bug #60683 and bug #59495. But it might also be something different if it crashes Octave entirely (not just the console).

Anyway, let's try and keep this on-topic.

Markus Mützel <mmuetzel>
Group administrator
Fri 12 Nov 2021 03:17:41 PM UTC, comment #4: 

regarding your pasting crashes, it was mentioned before that the windows interpreter has issues with non-ascii characters.  copy/paste in the windows interpreter can often produce garbage characters, and pasting those back in, or pasting in text from another source with those types of characters in it (sometimes hidden) can cause Octave to crash.

Nicholas Jankowski <nrjank>
Group Member
Fri 12 Nov 2021 02:46:17 PM UTC, comment #3: 

ISTR, there were reports that something was off when a "secondary" monitor was larger than the "primary" monitor and depending on whether the secondary monitor extended the desktop to the right or to the left.

Does changing the primary monitor make a difference to the behavior you observe?


Markus Mützel <mmuetzel>
Group administrator
Fri 12 Nov 2021 02:19:03 PM UTC, comment #2: 

I am working with three monitors, all with the same resolution:
1920x1200.
The configuration is: Laptop with docking-station and two monitors attached to the docking station.
If only a part of the line is visible is in my set-up dependent on the monitor,
e.g. on the build in laptop monitor the GUI is more reliable.
If I move the Octave GUI to the laptop-monitor the whole line can be seen :-)
There seems to be a workaround, if I un-dock the command window the whole line is displayed.
Furthermore, dependent on the total width of the GUI-window it differs how much of the line is hidden.
Attached two screen shots.

P.S.:
The GUI is quite vulnerable against pasting test into the command window, copying test into it can crash Octave.
Since I work with Octave 6.4 for MS Windows I observed at least 10 crashes.


Stefan Pofahl <ellocco>
Wed 10 Nov 2021 05:38:01 PM UTC, comment #1: 

Works for me.

Your screenshot looks similar to bug #53189 (and ISTR other reports I can't find atm).

IIRC, others that reported that issue in the past used a monitor with high DPI or buggy fonts.

Could that apply in your case, too?

Markus Mützel <mmuetzel>
Group administrator
Wed 10 Nov 2021 04:07:42 PM UTC, original submission:  

I can see only a part of the whole line inside the command window.

Stefan Pofahl <ellocco>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #53156:  spacing_of_blanks_is_corrupt.png added by ellocco (17KiB - image/png - Distorted visualization of blanks in the editor. )

 

Depends on the following items: None found

Digest:
   bug dependencies.

 

Carbon-Copy List
  • -email is unavailable- added by ttl (Posted a comment)
  • -email is unavailable- added by nrjank (Posted a comment)
  • -email is unavailable- added by mmuetzel (Posted a comment)
  • -email is unavailable- added by ellocco (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 11 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2022-06-24 mmuetzel StatusReady For Test Fixed
        Open/ClosedOpen Closed
    2022-05-20 ttl StatusNeed Info Ready For Test
        Releasedev 7.1.0
    2022-05-07 mmuetzel StatusConfirmed Need Info
    2022-05-07 mmuetzel Dependencies- bugs #62350 is dependent
    2022-04-28 ellocco Attached File- Added spacing_of_blanks_is_corrupt.png, #53156
    2021-11-23 mmuetzel StatusNeed Info Confirmed
        Release6.4.0 dev
    2021-11-12 mmuetzel StatusNone Need Info
    2021-11-10 ellocco Attached File- Added command_window_cut_line.png, #52232

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code