diff options
Diffstat (limited to 'st.c')
| -rw-r--r-- | st.c | 28 |
1 files changed, 19 insertions, 9 deletions
| @@ -1789,32 +1789,42 @@ tputc(char *c, int len) { | |||
| 1789 | write(iofd, c, len); | 1789 | write(iofd, c, len); |
| 1790 | 1790 | ||
| 1791 | switch(ascii) { | 1791 | switch(ascii) { |
| 1792 | case '\t': | 1792 | case '\t': /* HT */ |
| 1793 | tputtab(1); | 1793 | tputtab(1); |
| 1794 | return; | 1794 | return; |
| 1795 | case '\b': | 1795 | case '\b': /* BS */ |
| 1796 | tmoveto(term.c.x-1, term.c.y); | 1796 | tmoveto(term.c.x-1, term.c.y); |
| 1797 | return; | 1797 | return; |
| 1798 | case '\r': | 1798 | case '\r': /* CR */ |
| 1799 | tmoveto(0, term.c.y); | 1799 | tmoveto(0, term.c.y); |
| 1800 | return; | 1800 | return; |
| 1801 | case '\f': | 1801 | case '\f': /* LF */ |
| 1802 | case '\v': | 1802 | case '\v': /* VT */ |
| 1803 | case '\n': | 1803 | case '\n': /* LF */ |
| 1804 | /* go to first col if the mode is set */ | 1804 | /* go to first col if the mode is set */ |
| 1805 | tnewline(IS_SET(MODE_CRLF)); | 1805 | tnewline(IS_SET(MODE_CRLF)); |
| 1806 | return; | 1806 | return; |
| 1807 | case '\a': | 1807 | case '\a': /* BEL */ |
| 1808 | if(term.esc & ESC_STR) | 1808 | if(term.esc & ESC_STR) |
| 1809 | break; | 1809 | break; |
| 1810 | |||
| 1811 | if(!(xw.state & WIN_FOCUSED)) | 1810 | if(!(xw.state & WIN_FOCUSED)) |
| 1812 | xseturgency(1); | 1811 | xseturgency(1); |
| 1813 | return; | 1812 | return; |
| 1814 | case '\033': | 1813 | case '\033': /* ESC */ |
| 1815 | csireset(); | 1814 | csireset(); |
| 1816 | term.esc = ESC_START; | 1815 | term.esc = ESC_START; |
| 1817 | return; | 1816 | return; |
| 1817 | case '\016': /* XXX: SO */ | ||
| 1818 | case '\017': /* XXX: SI */ | ||
| 1819 | case '\032': /* XXX: SUB */ | ||
| 1820 | case '\030': /* XXX: CAN */ | ||
| 1821 | default: | ||
| 1822 | /* case '\005': ENQ (IGNORED) */ | ||
| 1823 | /* case '\000': NUL (IGNORED) */ | ||
| 1824 | /* case '\021': XON (IGNORED) */ | ||
| 1825 | /* case '\023': XOFF (IGNORED) */ | ||
| 1826 | /* case 0177: DEL (IGNORED) */ | ||
| 1827 | break; | ||
| 1818 | } | 1828 | } |
| 1819 | 1829 | ||
| 1820 | if(term.esc & ESC_START) { | 1830 | if(term.esc & ESC_START) { |
