aboutsummaryrefslogtreecommitdiff
path: root/toys/other/reset.c
blob: 5fc597068ba215b23467c88faaccfe9f3d668a59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* reset.c - reset the terminal.
 *
 * Copyright 2015 Rob Landley <rob@landley.net>
 *
 * No standard.

USE_RESET(NEWTOY(reset, 0, TOYFLAG_USR|TOYFLAG_BIN))

config RESET
  bool "reset"
  default y
  help
    usage: reset

    reset the terminal
*/
#include "toys.h"

void reset_main(void)
{
  int fd = tty_fd();

  // man 4 console_codes: reset terminal is ESC (no left bracket) c
  // DEC private mode set enable wraparound sequence.
  xwrite(fd<0 ? 1 : fd, "\033c\033[?7h", 2);
}