patchGNU Octave - Patches: patch #8091, Align terminal window contents...

 
 

patch #8091: Align terminal window contents with bottom of view

Submitter:  Dan Sebald <sebald>
Submitted:  Mon 24 Jun 2013 01:26:29 AM UTC
   
 
Category:  None Priority:  5 - Normal
Status:  Done Privacy:  Public
Assigned to:  None Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Tue 05 Nov 2013 03:28:46 PM UTC, comment #9: 

Please also see the additional change I posted to the maintainers list that attempts to compute the number of lines (and columns) that can be completely displayed.  As it is now, it seems we are computing the number of lines including any fractional lines, and then rounding up, so we display the partial line at the top when aligning at the bottom.

Instead of sometimes aligning at the top and sometimes at the bottom, it seems simpler to me to just compute a max number of lines or columns that will completely fit in the window.

John W. Eaton <jwe>
Group administrator
Tue 05 Nov 2013 07:17:09 AM UTC, comment #8: 

Neither is the best solution.  I think I may have tried a new patch that aligns at the top until the window is full and then align at bottom.  At the time it seemed more work and uncertainty than warranted compared to other issues.  In a future version this could be done more thoroughly.

What if in the short term the GUI code puts a CR-LF at the start of the data stream upon creating the terminal window object?  I doubt many users would pay much attention to the extra space, and once it is past the top of the window certainly won't notice.

Dan Sebald <sebald>
Tue 05 Nov 2013 05:48:50 AM UTC, comment #7: 

Do we really want to truncate the first line of the startup message ("GNU Octave, version 3.7.7+", see attached screenshot in my comment #5)?

Torsten Lilge <ttl>
Group Member
Tue 05 Nov 2013 04:26:49 AM UTC, comment #6: 

I applied the patch and pushed it to savannah.  It seems to work fine for me.  Sorry about the long delay.

John W. Eaton <jwe>
Group administrator
Sat 29 Jun 2013 11:45:11 AM UTC, comment #5: 

The top line is always truncated even at start up when the full height of the terminal is not used (screenshot attached). We should avoid truncating the top line of the octave start up message. Is there a way to start the alignment at the bottom line only when the cursor reaches the bottom line?


Torsten Lilge <ttl>
Group Member
Mon 24 Jun 2013 09:09:55 PM UTC, comment #4: 

I found a couple other places that look as though they should be offset from the top which is derived from the lower-left corner (i.e., it was assumed the top was 0).  One of theme is used by the cursor code to erase the area to give the appearance of blinking.  In other words, the cursor code was repainting an area about eight pixels further down.  Please give the attached changeset a try.

I'm not sure what the preference is generally, but the other apps with alignment from top don't have the last line as the main area of activity.  Editors like Geany and such usually have activity going on in the center of the window.  Do a search, for example, and it will position the found item more toward the center of the window.


(file #28403)

Dan Sebald <sebald>
Mon 24 Jun 2013 06:59:28 PM UTC, comment #3: 

That makes me wonder whether we should fall back on solution (1) (top align and displaying one line less). Other programs with embedded terminal are behaving like this, too (e.g. Geany).

Torsten Lilge <ttl>
Group Member
Mon 24 Jun 2013 06:40:14 PM UTC, comment #2: 

I had something similar except when the cursor was in the last line.  Then that went away when I tweaked the code.  It was something like the lower half of the cursor was overwritten by some white hunk of data...like there might be a bad memcopy as part of scrolling.  But that scrolling is a window-wide operation so one would think it should cover the whole bottom half of the line, not just the cursor.  This is the reason I tried not changing too much; I'll have to think about this one.

Dan Sebald <sebald>
Mon 24 Jun 2013 05:58:10 PM UTC, comment #1: 

Thanks for the patch.

On my system, the cursor is truncated (block and Ibeam, also when not in last line, please refer to attached image) and the cursor stops blinking.




Torsten Lilge <ttl>
Group Member
Mon 24 Jun 2013 01:26:29 AM UTC, original submission:  

Currently the terminal window in the GUI aligns the text contents with the top edge of the view.  That sometimes leaves the bottom edge on top of a line depending upon how the GUI window/app is sized manually.  The result is that the command line where there is most activity is visually obstructed.

The attached changeset will make the alignment at the bottom.  Basically, everywhere I saw the top-left corner of the view used directly I changed it to computing the top indirectly as the bottom minus 2 times the margin minus the font height times the number of lines.  I had to do some adjusting to find a good result, but the changeset seems about right.

Dan Sebald <sebald>

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #28450:  terminal.png added by ttl (24KiB - image/png)
file #28403:  octave-terminal_alignment-2013jun24.patch added by sebald (5KiB - application/octet-stream)
file #28400:  cursor.png added by ttl (1KiB - image/png)
file #28396:  octave-terminal_alignment-2013jun23.patch added by sebald (3KiB - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by ttl (Updated the item)
  • -email is unavailable- added by sebald (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 logged-in users can vote.

     

    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2013-11-05 jwe StatusNone Done
        Open/ClosedOpen Closed
    2013-06-29 ttl Attached File- Added terminal.png, #28450
    2013-06-24 sebald Attached File- Added octave-terminal_alignment-2013jun24.patch, #28403
    2013-06-24 ttl Attached File- Added cursor.png, #28400
    2013-06-24 sebald Attached File- Added octave-terminal_alignment-2013jun23.patch, #28396

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code