- add new applet resize. text data bss dec hex filename 185 0 0 185 b9 console-tools/resize.o 255 0 0 255 ff console-tools/resize.o.print
This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)
No binary (build failed)
—
(log yok)
| @@ -58,6 +58,23 @@ config CONFIG_RESET | |
| This program is used to reset the terminal screen, if it | |
| gets messed up. | |
| + | config CONFIG_APP_RESIZE |
| + | bool "resize" |
| + | default n |
| + | help |
| + | This program is used to (re)set the width and height of your current |
| + | terminal. |
| + | |
| + | config CONFIG_FEATURE_RESIZE_PRINT |
| + | bool "print environment variables" |
| + | default n |
| + | depends on CONFIG_APP_RESIZE |
| + | help |
| + | Prints the newly set size (number of columns and rows) of |
| + | the terminal. |
| + | E.g.: |
| + | COLUMNS=80;LINES=44;export COLUMNS LINES; |
| + | |
| config CONFIG_SETCONSOLE | |
| bool "setconsole" | |
| default n | |
| @@ -20,6 +20,7 @@ CONSOLETOOLS-$(CONFIG_LOADFONT) += loadfont.o | |
| CONSOLETOOLS-$(CONFIG_LOADKMAP) += loadkmap.o | |
| CONSOLETOOLS-$(CONFIG_OPENVT) += openvt.o | |
| CONSOLETOOLS-$(CONFIG_RESET) += reset.o | |
| + | CONSOLETOOLS-$(CONFIG_APP_RESIZE) += resize.o |
| CONSOLETOOLS-$(CONFIG_SETKEYCODES) += setkeycodes.o | |
| CONSOLETOOLS-$(CONFIG_SETLOGCONS) += setlogcons.o | |
| @@ -0,0 +1,38 @@ | |
| + | /* vi: set sw=4 ts=4: */ |
| + | /* |
| + | * resize - set terminal width and height. |
| + | * |
| + | * Copyright 2006 Bernhard Fischer |
| + | * |
| + | * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. |
| + | */ |
| + | /* no options, no getopt */ |
| + | #include "busybox.h" |
| + | |
| + | int resize_main(int argc, char **argv) |
| + | { |
| + | struct termios old, new; |
| + | struct winsize w = {0,0,0,0}; |
| + | int ret; |
| + | |
| + | tcgetattr(STDOUT_FILENO, &old); /* fiddle echo */ |
| + | new = old; |
| + | new.c_cflag |= (CLOCAL | CREAD); |
| + | new.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); |
| + | tcsetattr(STDOUT_FILENO, TCSANOW, &new); |
| + | /* save_cursor_pos 7 |
| + | * scroll_whole_screen [r |
| + | * put_cursor_waaaay_off [$x;$yH |
| + | * get_cursor_pos [6n |
| + | * restore_cursor_pos 8 |
| + | */ |
| + | printf("\0337\033[r\033[999;999H\033[6n"); |
| + | scanf("\033[%hu;%huR", &w.ws_row, &w.ws_col); |
| + | ret = ioctl(STDOUT_FILENO, TIOCSWINSZ, &w); |
| + | printf("\0338"); |
| + | tcsetattr(STDOUT_FILENO, TCSANOW, &old); |
| + | if (ENABLE_FEATURE_RESIZE_PRINT) |
| + | printf("COLUMNS=%d;LINES=%d;export COLUMNS LINES;", |
| + | w.ws_col, w.ws_row); |
| + | return ret; |
| + | } |
| @@ -226,6 +226,7 @@ USE_REALPATH(APPLET(realpath, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | |
| USE_HALT(APPLET_ODDNAME(reboot, halt, _BB_DIR_SBIN, _BB_SUID_NEVER, reboot)) | |
| USE_RENICE(APPLET(renice, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | |
| USE_RESET(APPLET(reset, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | |
| + | USE_APP_RESIZE(APPLET(resize, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| USE_RM(APPLET(rm, _BB_DIR_BIN, _BB_SUID_NEVER)) | |
| USE_RMDIR(APPLET(rmdir, _BB_DIR_BIN, _BB_SUID_NEVER)) | |
| USE_RMMOD(APPLET(rmmod, _BB_DIR_SBIN, _BB_SUID_NEVER)) | |
| @@ -2455,6 +2455,11 @@ USE_FEATURE_MDEV_CONFIG( \ | |
| #define reset_full_usage \ | |
| "Resets the screen." | |
| + | #define resize_trivial_usage \ |
| + | "" |
| + | #define resize_full_usage \ |
| + | "Resizes the screen." |
| + | |
| #define rm_trivial_usage \ | |
| "[OPTION]... FILE..." | |
| #define rm_full_usage \ | |