From: Zbigniew Jędrzejewski-Szmek Date: Fri, 5 Sep 2025 06:22:00 +0000 (+0200) Subject: Revert "terminal-util: explicitly reset cursor" X-Git-Tag: v258-rc4~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=711b5e805d4dee13185779fe486349f93e4e7d3f;p=thirdparty%2Fsystemd.git Revert "terminal-util: explicitly reset cursor" This reverts commit b177095bfac9d04871762cff4febfca43e790529. The original issue (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=375275, https://github.com/systemd/systemd/issues/22168) was about having a block cursor instead of a box cursor after VM reset, which doesn't seem particularly urgent. OTOH, the patch causes a minor regression, where the splash screen is cleared immediately and replaced by a blinking cursor. With the patch, we are trading one visual issue for another visual issue. The second is probably more noticeable, since some poeple put in quite a lot of work to have pretty boots where the firmware splash screen is displayed until the login prompt pops up. Avoiding a regression is more important than fixing a minor long-standing issue, so let's revert this. Fixes https://github.com/systemd/systemd/issues/38752. --- diff --git a/src/basic/terminal-util.c b/src/basic/terminal-util.c index 0c9f52685b3..2106d0db8c7 100644 --- a/src/basic/terminal-util.c +++ b/src/basic/terminal-util.c @@ -43,11 +43,6 @@ #include "time-util.h" #include "utf8.h" -#define ANSI_RESET_CURSOR \ - "\033?25h" /* turn on cursor */ \ - "\033?12l" /* reset cursor blinking */ \ - "\033 1q" /* reset cursor style */ - /* How much to wait for a reply to a terminal sequence */ #define CONSOLE_REPLY_WAIT_USEC (333 * USEC_PER_MSEC) @@ -857,7 +852,6 @@ int vt_disallocate(const char *tty_path) { return fd2; return loop_write_full(fd2, - ANSI_RESET_CURSOR "\033[r" /* clear scrolling region */ "\033[H" /* move home */ "\033[3J" /* clear screen including scrollback, requires Linux 2.6.40 */ @@ -974,7 +968,6 @@ static int terminal_reset_ansi_seq(int fd) { return log_debug_errno(r, "Failed to set terminal to non-blocking mode: %m"); k = loop_write_full(fd, - ANSI_RESET_CURSOR "\033[!p" /* soft terminal reset */ "\033]104\007" /* reset colors */ "\033[?7h" /* enable line-wrapping */