Bug 637

Summary: NEWT: Allow to set the window non resizeable
Product: [JogAmp] Newt Reporter: Julien Gouesse <gouessej>
Component: coreAssignee: Sven Gothel <sgothel>
Status: RESOLVED DUPLICATE    
Severity: enhancement CC: andres.colubri, maxime-jogamp, monsieur.max
Priority: P5    
Version: 2.3.2   
Hardware: All   
OS: all   
Type: FEATURE SCM Refs:
Workaround: ---
Bug Depends on: 1186    
Bug Blocks: 1188    

Description Julien Gouesse 2012-11-08 23:35:55 CET
It is currently not possible to drive the GLWindow non resizeable in NEWT whereas in some case we want to use a window in windowed mode that occupies the whole screen, with a decoration, but that the end user cannot resize, especially when such a resize can invalidate the context or require a resize of a PBUffer or a FBO used for post effects.

The buttons allowing to minimize and maximize the window should be hidden and the end user should not be allowed to resize it by dragging one of its corner.

Look at XmNallowShellResize, _NET_WM_ALLOWED_ACTIONS, _NET_WM_ACTION_RESIZE.
Setting the maximum and minimum size to the current size with XSetWMSizeHints() should be enough. Maybe look at how AWT, Qt and GTK implement this feature.
Comment 1 Sven Gothel 2012-11-09 01:14:57 CET
@Julien: Since you already have read the specs, do you feel comfortable to do it ?
Comment 2 Julien Gouesse 2012-11-09 10:56:35 CET
(In reply to comment #1)
> @Julien: Since you already have read the specs, do you feel comfortable to do
> it ?

I can take care of the implementation for GNU Linux, it will be a good exercise for me, it is important that several contributors are really able to do such things but I will need your help for the other implementations and I will probably need some time to check how this feature is implemented in other APIs as some window managers do not respect some settings and these APIs may use some hacky kludges to success.
Comment 3 Sven Gothel 2012-11-09 22:49:19 CET
(In reply to comment #2)
> 
> I can take care of the implementation for GNU Linux, it will be a good exercise
> for me, it is important that several contributors are really able to do such
> things 
I agree - thank you.

> but I will need your help for the other implementations and I will
> probably need some time to check how this feature is implemented in other APIs
> as some window managers do not respect some settings and these APIs may use
> some hacky kludges to success.

Of course I will help. Others doing changes doesn't mean I can be lazy :)
On the contrary, at first it will be a bit more work for all of us.

Maybe we can utilize/impl. maximized/minimized while doing resizeable as well ?
To avoid API explosion, maybe we can use an enumeration type like 'enum WinProperty'
and 'setWinProperty(WinProperty)' and 'WinProperty getWinProperty()' ?
Comment 4 Julien Gouesse 2012-11-10 01:04:51 CET
(In reply to comment #3)
> (In reply to comment #2)
> > 
> > I can take care of the implementation for GNU Linux, it will be a good exercise
> > for me, it is important that several contributors are really able to do such
> > things 
> I agree - thank you.
> 
> > but I will need your help for the other implementations and I will
> > probably need some time to check how this feature is implemented in other APIs
> > as some window managers do not respect some settings and these APIs may use
> > some hacky kludges to success.
> 
> Of course I will help. Others doing changes doesn't mean I can be lazy :)
> On the contrary, at first it will be a bit more work for all of us.
> 
> Maybe we can utilize/impl. maximized/minimized while doing resizeable as well ?
> To avoid API explosion, maybe we can use an enumeration type like 'enum
> WinProperty'
> and 'setWinProperty(WinProperty)' and 'WinProperty getWinProperty()' ?

Is there a real need of doing something completely different of AWT?
Comment 5 Julien Gouesse 2014-02-13 11:17:26 CET
*** Bug 965 has been marked as a duplicate of this bug. ***
Comment 6 ac 2014-11-17 18:27:25 CET
Hi guys, any idea on when this feature will be implemented? Just to have a sense of the schedule. Thanks!
Comment 7 Maxime Caignart 2015-01-11 12:05:13 CET
Hello,

Any plan to implement this feature soon ?

Thanks.
Comment 8 Julien Gouesse 2015-01-11 13:37:28 CET
(In reply to comment #7)
> Hello,
> 
> Any plan to implement this feature soon ?
> 
> Thanks.

If it's really important for you, please ask Sven to add it into the roadmap of JOGL 2.3 and feel free to contribute.
Comment 9 Sven Gothel 2015-08-03 17:48:20 CEST
Bug 1186 shall support NEWT Windows w/ efficient means of state tracking
as mentioned in comment 3.
Comment 10 Sven Gothel 2015-08-10 16:22:12 CEST
'While at it' .. we shall also support other standard WM features
as defined in Bug 1188.
Hence making this a duplicate.

*** This bug has been marked as a duplicate of bug 1188 ***