Re: Non-Blocking GUI developement

2007-01-31 Thread John Stowers
in context: http://www.nabble.com/Non-Blocking-GUI-developement-tf3081437.html#a8573234 Sent from the Gtk+ - General mailing list archive at Nabble.com. ___ gtk-list mailing list gtk-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-list

Re: Non-Blocking GUI developement

2007-01-30 Thread Bohtvaroh
Please, read this first: http://www.gtk.org/faq/#AEN482 -- View this message in context: http://www.nabble.com/Non-Blocking-GUI-developement-tf3081437.html#a8573234 Sent from the Gtk+ - General mailing list archive at Nabble.com. ___ gtk-list mailing

Re: Non-Blocking GUI developement

2007-01-28 Thread John Cupitt
Hi Melvin, On 1/27/07, Melvin Newman [EMAIL PROTECTED] wrote: Here is another noob question, how bad is it to use g_idle_add() everywhere? Basically I have created multiple functions to update different parts of the gui from my main worker thread, via the g_idle_add() function. You've still

Re: Non-Blocking GUI developement

2007-01-27 Thread Melvin Newman
Thank you very much for your help. I figured out what the problem is, I was making gtk calls from the second thread. This worked just fine for some reason on my dual proc machine, but causes the main gtk thread to lock up on my single cpu machine (it does not use 100% resources, it stays at about

Re: Non-Blocking GUI developement

2007-01-27 Thread Matt Fischer
On 1/27/07, Melvin Newman [EMAIL PROTECTED] wrote: Thank you very much for your help. I figured out what the problem is, I was making gtk calls from the second thread. This worked just fine for some reason on my dual proc machine, but causes the main gtk thread to lock up on my single cpu

Re: Non-Blocking GUI developement

2007-01-27 Thread John Cupitt
On 1/27/07, Melvin Newman [EMAIL PROTECTED] wrote: I am now trying to use g_idle_add(), however I cant seem to figure out how to pass data into the function that g_idle_add calls. g_idle_add(update_server_version,data.data); above is the call I am making, data.data is defined as char *

Re: Non-Blocking GUI developement

2007-01-27 Thread Melvin Newman
Here is another noob question, how bad is it to use g_idle_add() everywhere? Basically I have created multiple functions to update different parts of the gui from my main worker thread, via the g_idle_add() function. Once again this worked fine on my multi CPU system, but when I try to run it on

Re: Continuing the saga Non-Blocking GUI developement

2007-01-25 Thread Paul Davis
On Thu, 2007-01-25 at 11:06 -0500, Melvin Newman wrote: Paul: Once again thank you for your reply. In responce to your longer e-mail I have several points. 1) Your e-mail has been most helpfull conceptually, and yes I am going to have take a closer look at exactly what my program is

Re: Continuing the saga Non-Blocking GUI developement

2007-01-25 Thread Paul Davis
Melvin, The conceptual is where its at. Once you have the concepts, the rest is just syntax and implementation details. As the other Paul mentioned, you should be using select() types of calls on your file descriptors to do this type of action. The concepts behind this are simple. Your

Re: Continuing the saga Non-Blocking GUI developement

2007-01-25 Thread Robert Pearce
On Thu, 25 Jan 2007 11:06:22 -0500 Melvin wrote: unfortunately the laptop on which this program must run is something like 700Mhz Just as a random aside, the computer that does the _really_ time critical job of providing precisely timed fuel injection and (if applicable) ignition to all the

Re: Continuing the saga Non-Blocking GUI developement

2007-01-25 Thread Melvin Newman
One point of interest, the loop i have does not continousely loop. The read() function that I use fore obtaining data from the joystick actualy blocks the entire thread until there is data ready. Therefore the thread does not operate unless the user is actually providing some input. Also the

Non-Blocking GUI developement

2007-01-24 Thread Melvin Newman
First off I am a noob with GTK+. Basically I am writing a program that is to interface with a server program over a network. As such this client program has effectively 2 parts, 1) the backend code that connects to the server and handles all the data communications, 2) the front end GUI that

Re: Non-Blocking GUI developement

2007-01-24 Thread Tristan Van Berkom
On Wed, 2007-01-24 at 09:27 -0500, Melvin Newman wrote: First off I am a noob with GTK+. Basically I am writing a program that is to interface with a server program over a network. As such this client program has effectively 2 parts, 1) the backend code that connects to the server and

Re: Non-Blocking GUI developement

2007-01-24 Thread John Cupitt
On 1/24/07, Melvin Newman [EMAIL PROTECTED] wrote: The problem that I am running into is that I cant get the gui to update in a timely manner (a problem that allot of us GTK noobs seem to have, but one which no one answers clearly). I've written a large (100,000) line threaded GTK application.

Re: Non-Blocking GUI developement

2007-01-24 Thread Bryan Christ
You can use threads, but anytime you modify a widget our call a gtk display routine, you need to wrap it in g_thread_enter() and g_thread_leave(). See the documentation here: http://www.gtk.org/faq/#AEN482 Bryan On Wed, 2007-01-24 at 09:27 -0500, Melvin Newman wrote: First off I am a noob with

Re: Non-Blocking GUI developement

2007-01-24 Thread Richard Boaz
Hi, To answer your questions first: 1) updating the GUI with the 2 lines of code you indicated is correct. 2) you say, though, that the exit button is still not responsive; was this with a single-threaded or multi-threaded version? if it was single-threaded, then the reason is because

Re: Non-Blocking GUI developement

2007-01-24 Thread Soeren Sandmann
Melvin Newman [EMAIL PROTECTED] writes: Basically I am writing a program that is to interface with a server program over a network. As such this client program has effectively 2 parts, 1) the backend code that connects to the server and handles all the data communications, 2) the front end

Continuing the saga Non-Blocking GUI developement

2007-01-24 Thread Melvin Newman
Well, i spent today re-writing my client GUI program, and as per the suggestions I have received I did it using gthread. This scenario was very easy to write and allowed me to once more thread off the back end code and leave the GUI running in the main thread. This whole program runs flawlessly,

Re: Continuing the saga Non-Blocking GUI developement

2007-01-24 Thread Paul Davis
Melvin, Is it *just* your app that becomes unresponsive? Or the entire desktop? Judging from the discussion I'm guessing that you wrote this with two threads. What I'm guessing is that your background thread has maxed out an entire processor. If you've only got one thread doing cpu intensive

Re: Continuing the saga Non-Blocking GUI developement

2007-01-24 Thread Paul Davis
Melvin, Wow, that email was quite a bit longer than I thought. And I managed to not even include the gtk list in the reply. Any, I just realized the title of your thread is Non-Blocking GUI development. Going from completely abstract to actual implementation you're not doing something like