From e6444eb3fa27922e70f4ae2bbcd32a3d6f295ab8 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Sat, 18 Feb 2017 00:09:04 +0100 Subject: [PATCH] renamed initial_window_show to check_ui_visible. removed useless check of 'hide_on_startup'. LP #1642034 (Francis Chin) --- src/main.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/main.c b/src/main.c index f6331f1..764355d 100644 --- a/src/main.c +++ b/src/main.c @@ -315,21 +315,23 @@ static struct option long_options[] = { {NULL, 0, NULL, 0} }; -static gboolean initial_window_show(gpointer data) +/* + * show the main window if there will be no way for the user to show + * it (no appindicator, no status icon). + */ +static gboolean check_ui_visible(gpointer data) { struct ui_psensor *ui; - log_debug("initial_window_show()"); + log_debug("check_ui_visible()"); ui = (struct ui_psensor *)data; log_debug("is_status_supported: %d", is_status_supported()); log_debug("is_appindicator_supported: %d", is_appindicator_supported()); - log_debug("hide_on_startup: %d", ui->config->hide_on_startup); - if (!ui->config->hide_on_startup - || (!is_appindicator_supported() && !is_status_supported())) + if (!is_appindicator_supported() && !is_status_supported()) ui_window_show(ui); ui_window_update(ui); @@ -547,14 +549,14 @@ int main(int argc, char **argv) gdk_notify_startup_complete(); - /* - * hack, did not find a cleaner solution. - * wait 30s to ensure that the status icon is attempted to be - * drawn before determining whether the main window must be - * show. - */ - if (ui.config->hide_on_startup) - g_timeout_add(30000, (GSourceFunc)initial_window_show, &ui); + log_debug("hide_on_startup: %d", ui.config->hide_on_startup); + if (ui.config->hide_on_startup) + /* Wait 30s to allow attempt to show status icon or other UI, + * then check whether any UI is accessible. If not, then main + * window must be shown despite hide_on_startup preference. + * There may be a cleaner way to deal with this. + */ + g_timeout_add(30000, (GSourceFunc)check_ui_visible, &ui); else ui_window_show(&ui); -- 2.7.4