Move FEATURE_USE_TERMIOS config option to two applets which use it
No binary (build failed)
—
(log yok)
| @@ -61,15 +61,6 @@ config FEATURE_AUTOWIDTH | |
| If you leave this disabled, your utilities will be especially | |
| primitive and will be unable to determine the current screen width. | |
| - | #fixme: delete, create suboptions for applets which use this |
| - | config FEATURE_USE_TERMIOS |
| - | bool "Use termios for one-stroke input" |
| - | default y |
| - | help |
| - | This option allows utilities such as 'top' to accept keyboard |
| - | commands. Without this option, they simply refresh display |
| - | after a fixed period. |
| - | |
| config SHOW_USAGE | |
| bool "Show applet usage messages" | |
| default y | |
| @@ -524,7 +524,6 @@ CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y | |
| CONFIG_MKSWAP=y | |
| CONFIG_FEATURE_MKSWAP_UUID=y | |
| CONFIG_MORE=y | |
| - | CONFIG_FEATURE_USE_TERMIOS=y |
| CONFIG_VOLUMEID=y | |
| CONFIG_FEATURE_VOLUMEID_EXT=y | |
| CONFIG_FEATURE_VOLUMEID_BTRFS=y | |
| @@ -527,7 +527,6 @@ CONFIG_FDISK_SUPPORT_LARGE_DISKS=y | |
| # CONFIG_MKSWAP is not set | |
| # CONFIG_FEATURE_MKSWAP_UUID is not set | |
| # CONFIG_MORE is not set | |
| - | # CONFIG_FEATURE_USE_TERMIOS is not set |
| CONFIG_VOLUMEID=y | |
| # CONFIG_FEATURE_VOLUMEID_EXT is not set | |
| # CONFIG_FEATURE_VOLUMEID_BTRFS is not set | |
| @@ -540,7 +540,6 @@ CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y | |
| CONFIG_MKSWAP=y | |
| CONFIG_FEATURE_MKSWAP_UUID=y | |
| CONFIG_MORE=y | |
| - | CONFIG_FEATURE_USE_TERMIOS=y |
| CONFIG_VOLUMEID=y | |
| CONFIG_FEATURE_VOLUMEID_EXT=y | |
| CONFIG_FEATURE_VOLUMEID_BTRFS=y | |
| @@ -94,7 +94,6 @@ CONFIG_PASSWORD_MINLEN=6 | |
| CONFIG_MD5_SMALL=1 | |
| # CONFIG_FEATURE_FAST_TOP is not set | |
| # CONFIG_FEATURE_ETC_NETWORKS is not set | |
| - | CONFIG_FEATURE_USE_TERMIOS=y |
| # CONFIG_FEATURE_EDITING is not set | |
| CONFIG_FEATURE_EDITING_MAX_LEN=0 | |
| # CONFIG_FEATURE_EDITING_VI is not set | |
| @@ -174,7 +174,6 @@ CONFIG_MD5_SMALL=1 | |
| CONFIG_SHA3_SMALL=1 | |
| # CONFIG_FEATURE_FAST_TOP is not set | |
| # CONFIG_FEATURE_ETC_NETWORKS is not set | |
| - | CONFIG_FEATURE_USE_TERMIOS=y |
| CONFIG_FEATURE_EDITING=y | |
| CONFIG_FEATURE_EDITING_MAX_LEN=1024 | |
| # CONFIG_FEATURE_EDITING_VI is not set | |
| @@ -112,7 +112,6 @@ CONFIG_PASSWORD_MINLEN=6 | |
| CONFIG_MD5_SMALL=1 | |
| # CONFIG_FEATURE_FAST_TOP is not set | |
| # CONFIG_FEATURE_ETC_NETWORKS is not set | |
| - | CONFIG_FEATURE_USE_TERMIOS=y |
| # CONFIG_FEATURE_EDITING is not set | |
| CONFIG_FEATURE_EDITING_MAX_LEN=0 | |
| # CONFIG_FEATURE_EDITING_VI is not set | |
| @@ -102,7 +102,6 @@ CONFIG_MD5_SMALL=1 | |
| CONFIG_SHA3_SMALL=1 | |
| # CONFIG_FEATURE_FAST_TOP is not set | |
| # CONFIG_FEATURE_ETC_NETWORKS is not set | |
| - | CONFIG_FEATURE_USE_TERMIOS=y |
| # CONFIG_FEATURE_EDITING is not set | |
| CONFIG_FEATURE_EDITING_MAX_LEN=0 | |
| # CONFIG_FEATURE_EDITING_VI is not set | |
| @@ -94,7 +94,6 @@ CONFIG_PASSWORD_MINLEN=6 | |
| CONFIG_MD5_SMALL=1 | |
| CONFIG_FEATURE_FAST_TOP=y | |
| # CONFIG_FEATURE_ETC_NETWORKS is not set | |
| - | CONFIG_FEATURE_USE_TERMIOS=y |
| CONFIG_FEATURE_EDITING=y | |
| CONFIG_FEATURE_EDITING_MAX_LEN=1024 | |
| # CONFIG_FEATURE_EDITING_VI is not set | |
| @@ -93,7 +93,6 @@ CONFIG_PASSWORD_MINLEN=6 | |
| CONFIG_MD5_SMALL=1 | |
| CONFIG_FEATURE_FAST_TOP=y | |
| # CONFIG_FEATURE_ETC_NETWORKS is not set | |
| - | CONFIG_FEATURE_USE_TERMIOS=y |
| CONFIG_FEATURE_EDITING=y | |
| CONFIG_FEATURE_EDITING_MAX_LEN=1024 | |
| # CONFIG_FEATURE_EDITING_VI is not set | |
| @@ -18,6 +18,14 @@ | |
| //config: default y | |
| //config: help | |
| //config: Analyze power consumption on Intel-based laptops | |
| + | //config: |
| + | //config:config FEATURE_POWERTOP_INTERACTIVE |
| + | //config: bool "Accept keyboard commands" |
| + | //config: default y |
| + | //config: depends on POWERTOP |
| + | //config: help |
| + | //config: Without this, powertop will only refresh display every 10 seconds. |
| + | //config: No keyboard commands will work, only ^C to terminate. |
| // XXX This should be configurable | |
| #define ENABLE_FEATURE_POWERTOP_PROCIRQ 1 | |
| @@ -82,7 +90,7 @@ struct globals { | |
| ullong last_usage[MAX_CSTATE_COUNT]; | |
| ullong start_duration[MAX_CSTATE_COUNT]; | |
| ullong last_duration[MAX_CSTATE_COUNT]; | |
| - | #if ENABLE_FEATURE_USE_TERMIOS |
| + | #if ENABLE_FEATURE_POWERTOP_INTERACTIVE |
| struct termios init_settings; | |
| #endif | |
| }; | |
| @@ -91,7 +99,7 @@ struct globals { | |
| SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \ | |
| } while (0) | |
| - | #if ENABLE_FEATURE_USE_TERMIOS |
| + | #if ENABLE_FEATURE_POWERTOP_INTERACTIVE |
| static void reset_term(void) | |
| { | |
| tcsetattr_stdin_TCSANOW(&G.init_settings); | |
| @@ -682,7 +690,7 @@ int powertop_main(int UNUSED_PARAM argc, char UNUSED_PARAM **argv) | |
| ullong cur_usage[MAX_CSTATE_COUNT]; | |
| ullong cur_duration[MAX_CSTATE_COUNT]; | |
| char cstate_lines[MAX_CSTATE_COUNT + 2][64]; | |
| - | #if ENABLE_FEATURE_USE_TERMIOS |
| + | #if ENABLE_FEATURE_POWERTOP_INTERACTIVE |
| struct pollfd pfd[1]; | |
| pfd[0].fd = 0; | |
| @@ -705,7 +713,7 @@ int powertop_main(int UNUSED_PARAM argc, char UNUSED_PARAM **argv) | |
| puts("Collecting data for "DEFAULT_SLEEP_STR" seconds"); | |
| - | #if ENABLE_FEATURE_USE_TERMIOS |
| + | #if ENABLE_FEATURE_POWERTOP_INTERACTIVE |
| /* Turn on unbuffered input; turn off echoing, ^C ^Z etc */ | |
| set_termios_to_raw(STDIN_FILENO, &G.init_settings, TERMIOS_CLEAR_ISIG); | |
| bb_signals(BB_FATAL_SIGS, sig_handler); | |
| @@ -735,7 +743,7 @@ int powertop_main(int UNUSED_PARAM argc, char UNUSED_PARAM **argv) | |
| int i; | |
| G.cant_enable_timer_stats |= start_timer(); /* 1 on error */ | |
| - | #if !ENABLE_FEATURE_USE_TERMIOS |
| + | #if !ENABLE_FEATURE_POWERTOP_INTERACTIVE |
| sleep(DEFAULT_SLEEP); | |
| #else | |
| if (safe_poll(pfd, 1, DEFAULT_SLEEP * 1000) > 0) { | |
| @@ -56,6 +56,14 @@ | |
| //config: The top program provides a dynamic real-time view of a running | |
| //config: system. | |
| //config: | |
| + | //config:config FEATURE_TOP_INTERACTIVE |
| + | //config: bool "Accept keyboard commands" |
| + | //config: default y |
| + | //config: depends on TOP |
| + | //config: help |
| + | //config: Without this, top will only refresh display every 5 seconds. |
| + | //config: No keyboard commands will work, only ^C to terminate. |
| + | //config: |
| //config:config FEATURE_TOP_CPU_USAGE_PERCENTAGE | |
| //config: bool "Show CPU per-process usage percentage" | |
| //config: default y | |
| @@ -158,7 +166,7 @@ struct globals { | |
| smallint smp_cpu_info; /* one/many cpu info lines? */ | |
| #endif | |
| unsigned lines; /* screen height */ | |
| - | #if ENABLE_FEATURE_USE_TERMIOS |
| + | #if ENABLE_FEATURE_TOP_INTERACTIVE |
| struct termios initial_settings; | |
| int scroll_ofs; | |
| #define G_scroll_ofs G.scroll_ofs | |
| @@ -181,7 +189,7 @@ struct globals { | |
| jiffy_counts_t *cpu_jif, *cpu_prev_jif; | |
| int num_cpus; | |
| #endif | |
| - | #if ENABLE_FEATURE_USE_TERMIOS |
| + | #if ENABLE_FEATURE_TOP_INTERACTIVE |
| char kbd_input[KEYCODE_BUFFER_SIZE]; | |
| #endif | |
| char line_buf[80]; | |
| @@ -220,7 +228,7 @@ enum { | |
| #define OPT_BATCH_MODE (option_mask32 & OPT_b) | |
| - | #if ENABLE_FEATURE_USE_TERMIOS |
| + | #if ENABLE_FEATURE_TOP_INTERACTIVE |
| static int pid_sort(top_status_t *P, top_status_t *Q) | |
| { | |
| /* Buggy wrt pids with high bit set */ | |
| @@ -725,7 +733,7 @@ static void clearmems(void) | |
| top = NULL; | |
| } | |
| - | #if ENABLE_FEATURE_USE_TERMIOS |
| + | #if ENABLE_FEATURE_TOP_INTERACTIVE |
| static void reset_term(void) | |
| { | |
| if (!OPT_BATCH_MODE) | |
| @@ -737,7 +745,7 @@ static void sig_catcher(int sig) | |
| reset_term(); | |
| kill_myself_with_sig(sig); | |
| } | |
| - | #endif /* FEATURE_USE_TERMIOS */ |
| + | #endif /* FEATURE_TOP_INTERACTIVE */ |
| /* | |
| * TOPMEM support | |
| @@ -892,7 +900,7 @@ enum { | |
| EXIT_MASK = (unsigned)-1, | |
| }; | |
| - | #if ENABLE_FEATURE_USE_TERMIOS |
| + | #if ENABLE_FEATURE_TOP_INTERACTIVE |
| static unsigned handle_input(unsigned scan_mask, unsigned interval) | |
| { | |
| if (option_mask32 & OPT_EOF) { | |
| @@ -1041,7 +1049,7 @@ static unsigned handle_input(unsigned scan_mask, unsigned interval) | |
| //usage: "\n""Read the status of all processes from /proc each SECONDS" | |
| //usage: "\n""and display a screenful of them." | |
| //usage: "\n" | |
| - | //usage: IF_FEATURE_USE_TERMIOS( |
| + | //usage: IF_FEATURE_TOP_INTERACTIVE( |
| //usage: "Keys:" | |
| //usage: "\n"" N/M" | |
| //usage: IF_FEATURE_TOP_CPU_USAGE_PERCENTAGE("/P") | |
| @@ -1136,7 +1144,7 @@ int top_main(int argc UNUSED_PARAM, char **argv) | |
| if (OPT_BATCH_MODE) { | |
| option_mask32 |= OPT_EOF; | |
| } | |
| - | #if ENABLE_FEATURE_USE_TERMIOS |
| + | #if ENABLE_FEATURE_TOP_INTERACTIVE |
| else { | |
| /* Turn on unbuffered input; turn off echoing, ^C ^Z etc */ | |
| set_termios_to_raw(STDIN_FILENO, &initial_settings, TERMIOS_CLEAR_ISIG); | |
| @@ -1237,7 +1245,7 @@ int top_main(int argc UNUSED_PARAM, char **argv) | |
| clearmems(); | |
| if (iterations >= 0 && !--iterations) | |
| break; | |
| - | #if !ENABLE_FEATURE_USE_TERMIOS |
| + | #if !ENABLE_FEATURE_TOP_INTERACTIVE |
| sleep(interval); | |
| #else | |
| scan_mask = handle_input(scan_mask, interval); | |
| @@ -1245,7 +1253,7 @@ int top_main(int argc UNUSED_PARAM, char **argv) | |
| } /* end of "while (not Q)" */ | |
| bb_putchar('\n'); | |
| - | #if ENABLE_FEATURE_USE_TERMIOS |
| + | #if ENABLE_FEATURE_TOP_INTERACTIVE |
| reset_term(); | |
| #endif | |
| if (ENABLE_FEATURE_CLEAN_UP) { | |