Oops, sorry, wrong Cc in first e-mail. Resent.

 Allow user to set measurement time out ([1..32] secs) via 's' switch
 in order to keep measurement statistics more relevant (depending
 on load).

Signed-off-by: Sergey Senozhatsky <sergey.senozhat...@gmail.com>

---

diff --git a/main.cpp b/main.cpp
index fae1b0b..38f4aa1 100644
--- a/main.cpp
+++ b/main.cpp
@@ -54,7 +54,7 @@
 #include "devlist.h"
 
 int debug_learning = 0;
-
+unsigned time_out = 20;
 int leave_powertop = 0;
 
 static const struct option long_options[] =
@@ -87,6 +87,20 @@ static void set_uid()
        show_tab(0);
 }
 
+static bool set_time_out()
+{
+       static char buf[4];
+       mvprintw(1, 0, "%s (currently %u): ", _("Set refresh time out"), 
time_out);
+       memset(buf, '\0', sizeof(buf));
+       get_user_input(buf, sizeof(buf) - 1);
+       show_tab(0);
+       unsigned time = strtoul(buf, NULL, 0);
+       if (!time) return 0;
+       if (time > 32) time = 32;
+       time_out = time;
+       return 1;
+}
+
 static void print_usage()
 {
        printf(_("Usage: powertop [OPTIONS]\n\n"));
@@ -141,6 +155,10 @@ static void do_sleep(int seconds)
                case 'u':
                        set_uid();
                        break;
+               case 's':
+                       if (set_time_out())
+                               return;
+                       break;
                case 'r':
                        window_refresh();
                        break;
@@ -372,7 +390,7 @@ int main(int argc, char **argv)
 
 
        while (!leave_powertop) {
-               one_measurement(20);
+               one_measurement(time_out);
                show_cur_tab();
                learn_parameters(15, 0);
        }


_______________________________________________
Discuss mailing list
Discuss@lesswatts.org
http://lists.lesswatts.org/listinfo/discuss

Reply via email to