summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrédéric Dalleau <frederic.dalleau@linux.intel.com>2012-06-22 11:03:08 +0200
committerTanu Kaskinen <tanuk@iki.fi>2012-07-04 12:35:52 +0300
commitba868cc0b064a3c20b5e61e061a53b6efc8a8f5c (patch)
tree30178d210731d87283c4a09ad699e224e6b400e0
parentfb278932a429034c3b38c8eb16fa9b9c5017335c (diff)
Add --retry command line option
As a developper, I find it annoying to restart pavucontrol everytime I restart pulseaudio, moreover the error dialog sometimes needs an additional click before restarting. Add it as a command line option so that default behavior is not changed.
-rw-r--r--src/pavucontrol.cc17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/pavucontrol.cc b/src/pavucontrol.cc
index 4db7d95..72ec980 100644
--- a/src/pavucontrol.cc
+++ b/src/pavucontrol.cc
@@ -46,6 +46,7 @@ static pa_context* context = NULL;
static pa_mainloop_api* api = NULL;
static int n_outstanding = 0;
static int default_tab = 0;
+static bool retry = false;
static int reconnect_timeout = 1;
void show_error(const char *txt) {
@@ -621,8 +622,14 @@ gboolean connect_to_pulse(gpointer userdata) {
reconnect_timeout = 5;
}
else {
- reconnect_timeout = -1;
- Gtk::Main::quit();
+ if(!retry) {
+ reconnect_timeout = -1;
+ Gtk::Main::quit();
+ } else {
+ g_debug(_("Connection failed, attempting reconnect"));
+ reconnect_timeout = 5;
+ g_timeout_add_seconds(reconnect_timeout, connect_to_pulse, w);
+ }
}
}
@@ -651,6 +658,12 @@ int main(int argc, char *argv[]) {
entry.set_description(_("Select a specific tab on load."));
group.add_entry(entry, default_tab);
+ Glib::OptionEntry entry2;
+ entry2.set_long_name("retry");
+ entry2.set_short_name('r');
+ entry2.set_description(_("Retry forever if pa quits (every 5 seconds)."));
+ group.add_entry(entry2, retry);
+
options.set_main_group(group);
try {