Re: Non-blocking dialog
- From: Timm Bäder <mail baedert org>
- To: Jim Heald <james r heald gmail com>
- Cc: gtk-list gnome org
- Subject: Re: Non-blocking dialog
- Date: Thu, 10 Aug 2017 09:01:56 +0200
On 09.08, Jim Heald wrote:
Hello there!
I'm writing a GTK+ application in C. In my application I'm running two
commands that take a bit of time; in order to not make it appear that the
program has just frozen, I am wanting to do the following:
1) run the dialog, which has a spinner widget
2) add to the dialog area a message that says what the first command does
3) run the first command
4) add a message saying that the second command is running
5) run the second command
6) add a done message
7) allow the user to click "Ok" to close (or maybe delay for a second and
close)
Your "commands" here are blocking the main thread, thus GTK+ can't
update any widget, not even show a window. It's the typical "don't block
the main thread" problem and the solution is to run your commands in
another thread and push update messages (e.g. for a progressbar if you
need that) to the main thread using g_idle_add.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]