gui/ocarina: Add a --sync option

Passing this option tells Ocarina that it should only process
synchronous idle tasks, such as library or playlist updates.  This
effectively disables album art fetching (and any async jobs we add in
the future).

Implements #91: Add --no-fetch option
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2016-09-24 10:09:58 -04:00
parent f46ef37630
commit d3df9a69f2
1 changed files with 9 additions and 6 deletions

View File

@ -16,12 +16,13 @@
#define OCARINA_FLAGS (G_APPLICATION_HANDLES_COMMAND_LINE) #define OCARINA_FLAGS (G_APPLICATION_HANDLES_COMMAND_LINE)
static const GOptionEntry ocarina_options[] = { static const GOptionEntry ocarina_options[] = {
{ "next", 'n', 0, G_OPTION_ARG_NONE, NULL, "Play next track", NULL }, { "next", 'n', 0, G_OPTION_ARG_NONE, NULL, "Play next track", NULL },
{ "pause", 'P', 0, G_OPTION_ARG_NONE, NULL, "Pause playback", NULL }, { "pause", 'P', 0, G_OPTION_ARG_NONE, NULL, "Pause playback", NULL },
{ "play", 'p', 0, G_OPTION_ARG_NONE, NULL, "Start playback", NULL }, { "play", 'p', 0, G_OPTION_ARG_NONE, NULL, "Start playback", NULL },
{ "previous", 'N', 0, G_OPTION_ARG_NONE, NULL, "Play previous track", NULL }, { "previous", 'N', 0, G_OPTION_ARG_NONE, NULL, "Play previous track", NULL },
{ "toggle", 't', 0, G_OPTION_ARG_NONE, NULL, "Toggle playback state", NULL }, { "sync", 's', 0, G_OPTION_ARG_NONE, NULL, "Don't run background tasks", NULL },
{ "version", 'v', 0, G_OPTION_ARG_NONE, NULL, "Print version and exit", NULL }, { "toggle", 't', 0, G_OPTION_ARG_NONE, NULL, "Toggle playback state", NULL },
{ "version", 'v', 0, G_OPTION_ARG_NONE, NULL, "Print version and exit", NULL },
{ NULL }, { NULL },
}; };
@ -59,6 +60,8 @@ static void __ocarina_activate(GApplication *application, gpointer data)
static int __ocarina_local_options(GApplication *application, static int __ocarina_local_options(GApplication *application,
GVariantDict *options, gpointer data) GVariantDict *options, gpointer data)
{ {
if (g_variant_dict_contains(options, "sync"))
init_data.idle_sync = IDLE_SYNC;
if (!g_variant_dict_contains(options, "version")) if (!g_variant_dict_contains(options, "version"))
return -1; return -1;
g_printf("Ocarina %s\n", get_version()); g_printf("Ocarina %s\n", get_version());