Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Disable Main Window close button and pulldown

Posted on 1998-11-24
12
Medium Priority
?
350 Views
Last Modified: 2013-12-26
I have some Xwindows/Motif programs in which we want to disable the double click close button at the upper left part of the window and the close menu item for the main window pulldown menu. I have no problems with the button and pulldown, I just want the automatic closing disabled.

Thanks,
Andrew
0
Comment
Question by:andrewmchorney
  • 9
  • 3
12 Comments
 

Expert Comment

by:ydsh
ID: 1294399
Put the following codes into your program, suppose "toplevel" is the toplevel shell
of your program:
.
#include <Xm/MwmUtil.h>
.
        XtVaSetValues(toplevel,
               XmNmwmDecorations,MWM_DECOR_TITLE|MWM_DECOR_BORDER
                                    |MWM_DECOR_MINIMIZE|MWM_DECOR_MENU,
               XmNmwmFunctions, MWM_FUNC_MOVE|MWM_FUNC_MINIMIZE,
               NULL);                                                              

0
 

Author Comment

by:andrewmchorney
ID: 1294400
We will be trying out this solution shortly. Thanks for the quick response.

Andrew
0
 

Author Comment

by:andrewmchorney
ID: 1294401
Could you explain the lines of code as to how they relate to disabling action on main window close and main window close pulldown.


0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:andrewmchorney
ID: 1294402
Another suggestion from engineers is to trap the close on the close button and window close menu item and treat is as though the exit button was selected.
0
 

Author Comment

by:andrewmchorney
ID: 1294403
This does not disable the close menu item or the close action for the window menu button.


0
 

Author Comment

by:andrewmchorney
ID: 1294404
I just talked to a technical support person at ICS whose product we bought to do window development. Apparently disabling the close button in CDE may not be possible.
0
 

Author Comment

by:andrewmchorney
ID: 1294405
ydsh

The solution does work under CDE. Post a message to this question and I will declare the question answered and you will get credit for the question with a grade of "A".

Andrew
0
 

Expert Comment

by:ydsh
ID: 1294406
Dear Mr. andrewmchorney,
 
  I have to tell you that my solution works both on HP VUE and CDE. Besides, I have ported
the codes to Solaris2.5 which also has the CDE, and it works fairly well.
  As to the following definitions:
                    MWM_DECOR_TITLE|MWM_DECOR_BORDER
                    |MWM_DECOR_MINIMIZE|MWM_DECOR_MENU,
I suggest that you should refer to the Motif development books.
Good luck.

   yours
      ydsh
0
 

Author Comment

by:andrewmchorney
ID: 1294407
ydsh

I had to put the code into the class constructor for the builder accessory code and it works quite well. Your solution was excellent.
0
 

Author Comment

by:andrewmchorney
ID: 1294408
ydsh

declare the solution and I will accept the answer and you will get the points and a grade of A.

Andrew
0
 

Accepted Solution

by:
ydsh earned 40 total points
ID: 1294409
Dear Mr. andrewmchorney,
    Generally speaking, there's two resources which are used frequestly with the
toplevel shell, as the name called, one is related to the decoration of the window
manager(XmNmwmDecorations), while the other is related to the functionality of the window menu(XmNmwmFunctions):
     MWM_DECOR_TITLE :        displaying  the window title bar
     MWM_DECOR_BORDER : displaying  allow the window border
     MWM_DECOR_MINIMIZE:   allowing the window to be minimized
     MWM_DECOR_MENU:        allowing the window menu to be displayed
     ... ( there's still other options which should not be chosen here...)

     MWM_FUNC_MOVE:           allowing the window to be moved
     MWM_FUNC_MINIMIZE:      allowing the window to be minimized

    As you can see here, there's no MWM_FUNC_CLOSE here which allow the window close
button to be displayed, so you can no longer close the window by press that button or double-click the left-right corner of the window.

    Have I presented a clear solution? :-)  Anyway, if any problem, please e-mail me at:
ydsh@hotmail.com, I am really interested in discussing such problems on Motif and UNIX programming. You are welcome!

yours,
   ydsh
0
 

Author Comment

by:andrewmchorney
ID: 1294410
Solution and explaination was excellent.
0

Featured Post

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction: Dynamic window placements and drawing on a form, simple usage of windows registry as a storage place for information. Continuing from the first article about sudoku.  There we have designed the application and put a lot of user int…
Introduction: Finishing the grid – keyboard support for arrow keys to manoeuvre, entering the numbers.  The PreTranslateMessage function is to be used to intercept and respond to keyboard events. Continuing from the fourth article about sudoku. …
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …
Suggested Courses

963 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question