gtkdialog problem: child window not opening consistently

For discussions about programming, programming questions/advice, and projects that don't really have anything to do with Puppy.
Message
Author
User avatar
lstandish
Posts: 126
Joined: Fri 06 Jun 2008, 13:22

#21 Post by lstandish »

I certainly don't think my recycling of the MAIN_DIALOG variable has anything to do with this, since each invocation of gtkdialog is entirely new and unrelated to previous invocations. However, I think I did already try avoiding re-use of MAIN_DIALOG, and got the same results...

I guess I could take a copy of snap2 and start cutting out portions of it step by step, until the 'About' dialog button starts to work. I'll do that later since I am busy with other things now.

User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

#22 Post by jemimah »

You could just use Xdialog for your About window and avoid this whole mess altogether. Just a thought....

User avatar
lstandish
Posts: 126
Joined: Fri 06 Jun 2008, 13:22

#23 Post by lstandish »

Yes, but the idea is to open a child window, leaving the main program window open, rather than terminating the main window in order to put up a new dialog. Use of xdialog would require terminating the gtkdialog window, I believe.

As it turns out, my workaround to this problem is to have a 'Help' on the main gtkdialog which terminates the gtkdialog and put up a new one to show program help, loaded from a file. In windows other than the main gtkdialog, the 'About' button works, and I'm using it.

In sum, I think I have a satisfactory workaround for my 'About' button. However, I would like to be able to launch warning boxes from the main program window without closing the window.

User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

#24 Post by jemimah »

You can easily use Xdialog without terminating the main window. I use it in Pwireless2 for all my child windows.

Code: Select all

<button>
<label>foo</label>
<action>/this/script/can/do/anything/you/want/it/to.sh</action>
</button>

User avatar
lstandish
Posts: 126
Joined: Fri 06 Jun 2008, 13:22

#25 Post by lstandish »

Good point, thanks! I was trying to avoid more than one file for snap2, to have it simply install in /usr/local/bin/. I should consider a new install structure with multiple supporting files.

Executing a distinct script as you suggest, I could of course also just use a new instance of gtkdialog, rather than xdialog. I would probably choose that option, since I am targeting Debian systems also and I want to avoid adding dependencies unnecessarily (xdialog is not standard on Debian the way it is on Puppy).

User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

#26 Post by jemimah »

If you really want a single file, you can possibly put a function call in there; though I haven't tested that so I don't know for sure. If that doesn't work, you could create/delete your supporting scripts on the fly every time your program is run.

User avatar
lstandish
Posts: 126
Joined: Fri 06 Jun 2008, 13:22

#27 Post by lstandish »

Thanks, jemimah, that's good advice!

Post Reply