Hello, I'm writing a program in python and I'm using pygtk. I found a problem and couldn't find a solution on the web, so I decided to look for help in gtk hackers mailing list.
There is a window with it's widgets and progress bar. There is an array of commands and these commands are executed while the loop. For example, the array is: ["mpg123 track1.mp3 -w track1.wav", "mpg123 track2.mp3 -w track2.wav", "mpg123 track3.mp3 -w track3.wav"] These commands do the execution of mpg123, which converts mp3 files to wav. The simplified code is some like that: # --- i = 0 while i < 3: add_timeout(...) # adding progress bar timeout here # The program forks here and child process executes a command from # the array: [...] fork... [...] # child exec array[i] exit when done i += 1 def add_timeout(...): # while executing a command, wav file size grows up # progress bar show the size (current_size / full_size) The problem is: while executing a shell command, the while loop should not add new timeouts and execute next shell commands. So it can continue() until exec process is alive. But if I do so, the gtk window hangs and stops, and loop makes a very big CPU usage. sleep() doesn't help for GUI application. If someone knows what to do or can give some links about that, please help. I know few programs (like grip) where the task as mine works very well, but C code is too hard to understand for me, I'm searching for some examples for loops and progress bars. Thanks. -- Martynas Jocius http://mjoc.infoseka.lt _______________________________________________ gtk-list mailing list [EMAIL PROTECTED] http://mail.gnome.org/mailman/listinfo/gtk-list