bugGNU Octave - Bugs: bug #48239, root graphics property...


bug #48239: root graphics property "MonitorPositions" not fully implemented

Submitter:  Guillaume <gyom>
Submitted:  Thu 16 Jun 2016 10:05:55 AM UTC
Category:  Plotting with OpenGL Severity:  1 - Wish
Priority:  3 - Low Item Group:  Matlab Compatibility
Status:  Postponed Assigned to:  None
Originator Name:  Guillaume Open/Closed:  * Open
Release:  * dev Operating System:  * Any
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup

Sun 19 Jun 2016 01:25:10 PM UTC, comment #5: 

I made the small change suggested by Guillaume on the development branch here (http://hg.savannah.gnu.org/hgweb/octave/rev/a5924b0cbf42).  This is only a partial fix until, or if, this feature can actually be implemented.

I've changed the bug title to reflect the fact that "MonitorPositions" is still not fully implemented, and lowered the priority.

Rik <rik5>
Group administrator
Fri 17 Jun 2016 11:16:28 AM UTC, comment #4: 

Thanks for your comment Lachlan. My suggestion is just to replace Matrix (1, 4, 0) with default_screensize () in libinterp/corefcn/graphics.in.h for array_property monitorpositions so hopefully it doesn't have any impact on speed or memory load.

I understand it can be perceived as a hack and that a proper implementation in libinterp/corefcn/cdisplay.c would be preferable but I still think 'it is better than nothing'.

Guillaume <gyom>
Fri 17 Jun 2016 01:49:15 AM UTC, comment #3: 

Guillamue, the disadvantage with that approach is that it would make the property handling "irregular", unless "MonitorPositions" is added as a new property.

I think that one of the reasons that Octave's graphics is so painfully slow is that too many objects have too many parameter.  Although they're normally left at their default values, they still need to be allocated and copied and deleted way too many times.

I think that there needs to be a rewrite of the graphics system that just keeps a pointer to the default values of the suitable type, and has a small list of non-default parameters for each particular object.

Once that is done, it will be cheap to add new properties.

This should be moot since this property is only valid for "root" (of which there is only one), but I recall seeing somewhere that all objects store all properties, with some simply being ignored depending on the type.  I hope I'm mistaken :)

Lachlan Andrew <lachlan>
Thu 16 Jun 2016 05:29:16 PM UTC, comment #2: 

That would be an option. Personally, until it is fully implemented, I would set it to the same value than the ScreenSize property: it would be true most of the time for the majority of users having a single monitor, and would be incomplete (but not false) for users with multiple monitors. This bug report could then be retitled "MonitorPositions only detects a single monitor".

Guillaume <gyom>
Thu 16 Jun 2016 04:07:43 PM UTC, comment #1: 

Octave does not yet implement the MonitorPositions property.  Would it be reasonable to return


to indicate that Octave does not use this?

Rik <rik5>
Group administrator
Thu 16 Jun 2016 10:05:55 AM UTC, original submission:  

Root property 'MonitorPositions' returns 0s instead of widths and heights of displays:


>> get(0,'MonitorPositions')
ans =

   0   0   0   0

>> get(0,'ScreenSize')
ans =

      1      1   1920   1200

On Matlab, both return [1 1 1920 1200].

If obtaining reliably the size of all monitors (and determining which one is the primary display) is difficult, it would already be an improvement to have MonitorPositions return the same value than ScreenSize.

Guillaume <gyom>


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

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by pantxo (Updated the item)
  • -email is unavailable- added by lachlan (Posted a comment)
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by gyom (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 7 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2018-11-02 mtmiller Carbon-CopyRemoved 80942 -
    2018-11-02 pantxo CategoryGUI Plotting with OpenGL
    2016-06-21 mtmiller Operating SystemGNU/Linux Any
    2016-06-21 mtmiller StatusNone Postponed
    2016-06-19 rik5 Severity3 - Normal 1 - Wish
        Priority5 - Normal 3 - Low
        SummaryRoot property 'MonitorPositions' returns 0s root graphics property "MonitorPositions" not fully implemented

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code