URI: 
       Some sort of maintenance of ui_rogue - sacc - sacc(omys), simple console gopher client
  HTML git clone git://bitreich.org/sacc/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/sacc/
   DIR Log
   DIR Files
   DIR Refs
   DIR Tags
   DIR LICENSE
       ---
   DIR commit d9488c74f50b137dc91851437ffa4cbaf64c1d00
   DIR parent e6daee96e9c73d29f6e51e8400d66a3511d36526
  HTML Author: Julian Schweinsberg <pazz0@0xfa.de>
       Date:   Mon, 31 Mar 2025 17:55:39 +0200
       
       Some sort of maintenance of ui_rogue
       
       - Add Rainer Holzner's fix, regarding Ctrl+D in uiprompt, to ui_rogue
       - Change tparm to tiparm
       - Add something important to the ui_rogue_readme
       
       Diffstat:
         M ui_rogue.c                          |     122 ++++++++++++++++----------------
         M ui_rogue_readme                     |       1 +
       
       2 files changed, 62 insertions(+), 61 deletions(-)
       ---
   DIR diff --git a/ui_rogue.c b/ui_rogue.c
       @@ -651,10 +651,10 @@ dla(struct rect *rects, size_t l, uint32_t prng) {
        void
        rendermapchar(size_t i, size_t j) {
                if (map[i][j].tile->flags & Standout)
       -                putp(tparm(enter_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                putp(tiparm(enter_standout_mode));
                putchar(map[i][j].tile->c);
                if (map[i][j].tile->flags & Standout)
       -                putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                putp(tiparm(exit_standout_mode));
        }
        
        void
       @@ -687,7 +687,7 @@ rendermap(void)
        
                for (i = oy; i < min(MAPHEIGHT, oy + (lines - 2)); i++) {
                        if (i != oy)
       -                        putp(tparm(cursor_down, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                        putp(tiparm(cursor_down));
                        rendermapline(i);
                }
        }
       @@ -970,7 +970,7 @@ uisetup(void)
                if (termset != OK)
                        /* setupterm call exits on error */
                        termset = setupterm(NULL, 1, NULL);
       -        putp(tparm(clear_screen, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(clear_screen));
                fflush(stdout);
        }
        
       @@ -982,8 +982,8 @@ uicleanup(void)
                if (termset != OK)
                        return;
        
       -        putp(tparm(change_scroll_region, 0, lines-1, 0, 0, 0, 0, 0, 0, 0));
       -        putp(tparm(clear_screen, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(change_scroll_region, 0, lines-1));
       +        putp(tiparm(clear_screen));
                fflush(stdout);
        }
        
       @@ -995,10 +995,10 @@ uiprompt(char *fmt, ...)
                size_t n;
                ssize_t r;
        
       -        putp(tparm(save_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(save_cursor));
        
       -        putp(tparm(cursor_address, lines-1, 0, 0, 0, 0, 0, 0, 0, 0));
       -        putp(tparm(clr_eol, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(cursor_address, lines-1, 0));
       +        putp(tiparm(clr_eol));
        
                va_start(ap, fmt);
                vsnprintf(bufout, sizeof(bufout), fmt, ap);
       @@ -1006,9 +1006,9 @@ uiprompt(char *fmt, ...)
        
                n = mbsprint(bufout, columns);
        
       -        putp(tparm(clr_eol, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(clr_eol));
        
       -        putp(tparm(cursor_address, lines-1, n, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(cursor_address, lines-1, n));
        
                tsacc.c_lflag |= (ECHO|ICANON);
                tcsetattr(0, TCSANOW, &tsacc);
       @@ -1019,10 +1019,10 @@ uiprompt(char *fmt, ...)
        
                tsacc.c_lflag &= ~(ECHO|ICANON);
                tcsetattr(0, TCSANOW, &tsacc);
       -        putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(restore_cursor));
                fflush(stdout);
        
       -        if (r == -1) {
       +        if (r == -1 || feof(stdin)) {
                        clearerr(stdin);
                        clear(&input);
                } else if (input[r - 1] == '\n') {
       @@ -1036,35 +1036,35 @@ void
        displaybar(char *s) {
                size_t n;
        
       -        putp(tparm(save_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(save_cursor));
        
       -        putp(tparm(cursor_address, lines-2, 0, 0, 0, 0, 0, 0, 0, 0));
       -        putp(tparm(enter_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(cursor_address, lines-2, 0));
       +        putp(tiparm(enter_standout_mode));
        
                n = mbsprint(s, columns);
                for (n = columns - n; n; n--)
                        putchar(' ');
        
       -        putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(exit_standout_mode));
        
       -        putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(restore_cursor));
                fflush(stdout);
        }
        
        void
        vdisplayinfoline(char *fmt, va_list ap)
        {
       -        putp(tparm(save_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(save_cursor));
        
       -        putp(tparm(cursor_address, lines-1, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(cursor_address, lines-1, 0));
        
                vsnprintf(bufout, sizeof(bufout), fmt, ap);
        
                mbsprint(bufout, columns);
        
       -        putp(tparm(clr_eol, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(clr_eol));
        
       -        putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(restore_cursor));
                fflush(stdout);
        }
        
       @@ -1074,9 +1074,9 @@ uistatus(char *fmt, ...)
                va_list ap;
                size_t n;
        
       -        putp(tparm(save_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(save_cursor));
        
       -        putp(tparm(cursor_address, lines-1, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(cursor_address, lines-1, 0));
        
                va_start(ap, fmt);
                n = vsnprintf(bufout, sizeof(bufout), fmt, ap);
       @@ -1089,9 +1089,9 @@ uistatus(char *fmt, ...)
        
                mbsprint(bufout, columns);
        
       -        putp(tparm(clr_eol, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(clr_eol));
        
       -        putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(restore_cursor));
                fflush(stdout);
        
                mygetchar();
       @@ -1118,25 +1118,25 @@ menudraw(void)
        {
                size_t i, n;
        
       -        putp(tparm(change_scroll_region, 1, lines-1, 0, 0, 0, 0, 0, 0, 0));
       -        putp(tparm(clear_screen, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(change_scroll_region, 1, lines-1));
       +        putp(tiparm(clear_screen));
        
       -        putp(tparm(enter_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(enter_standout_mode));
                puts(menutitle);
       -        putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(exit_standout_mode));
        
                if (menuselected - menuoffset >= lines - 1)
                        menuoffset = menuselected - (lines - 1) + 1;
        
                for (i = menuoffset, n = 0; i < menunitems && n < lines - 1; i++, n++) {
                        if (i != menuoffset)
       -                        putp(tparm(cursor_down, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                        putp(tiparm(cursor_down));
                        if (i == menuselected)
       -                        putp(tparm(enter_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                        putp(tiparm(enter_standout_mode));
                        mbsprint(menuitems[i]->username, columns);
                        if (i == menuselected)
       -                        putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       -                putp(tparm(column_address, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                        putp(tiparm(exit_standout_mode));
       +                putp(tiparm(column_address, 0));
                }
                fflush(stdout);
        }
       @@ -1159,36 +1159,36 @@ showmenu(char *title, Item **item, size_t l)
                        switch (mygetchar()) {
                        case 'j':
                                if (menuselected + 1 < menunitems) {
       -                                putp(tparm(cursor_address, 1 + menuselected - menuoffset, 0, 0, 0, 0, 0, 0, 0, 0));
       +                                putp(tiparm(cursor_address, 1 + menuselected - menuoffset, 0));
                                        mbsprint(menuitems[menuselected]->username, columns);
                                        menuselected++;
       -                                putp(tparm(column_address, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                                putp(tiparm(column_address, 0));
                                        if (menuselected - menuoffset >= lines - 1) {
                                                menuoffset++;
       -                                        putp(tparm(scroll_forward, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                                        putp(tiparm(scroll_forward));
                                        } else {
       -                                        putp(tparm(cursor_down, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                                        putp(tiparm(cursor_down));
                                        }
       -                                putp(tparm(enter_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                                putp(tiparm(enter_standout_mode));
                                        mbsprint(menuitems[menuselected]->username, columns);
       -                                putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                                putp(tiparm(exit_standout_mode));
                                }
                                break;
                        case 'k':
                                if (menuselected > 0) {
       -                                putp(tparm(cursor_address, 1 + menuselected - menuoffset, 0, 0, 0, 0, 0, 0, 0, 0));
       +                                putp(tiparm(cursor_address, 1 + menuselected - menuoffset, 0));
                                        mbsprint(menuitems[menuselected]->username, columns);
                                        menuselected--;
       -                                putp(tparm(column_address, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                                putp(tiparm(column_address, 0));
                                        if (menuselected < menuoffset) {
                                                menuoffset = menuselected;
       -                                        putp(tparm(scroll_reverse, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                                        putp(tiparm(scroll_reverse));
                                        } else {
       -                                        putp(tparm(cursor_up, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                                        putp(tiparm(cursor_up));
                                        }
       -                                putp(tparm(enter_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                                putp(tiparm(enter_standout_mode));
                                        mbsprint(menuitems[menuselected]->username, columns);
       -                                putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                                putp(tiparm(exit_standout_mode));
                                }
                                break;
                        case ' ':
       @@ -1259,14 +1259,14 @@ describe(size_t x, size_t y, int verbose)
        void
        dungeondraw(void)
        {
       -        putp(tparm(change_scroll_region, 0, lines-3, 0, 0, 0, 0, 0, 0, 0));
       -        putp(tparm(clear_screen, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(change_scroll_region, 0, lines-3));
       +        putp(tiparm(clear_screen));
        
                rendermap();
        
       -        putp(tparm(cursor_address, py - oy, px - ox, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(cursor_address, py - oy, px - ox));
                putchar('@');
       -        putp(tparm(cursor_address, py - oy, px - ox, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(cursor_address, py - oy, px - ox));
        
                if (curentry->entry != curentry) {
                        displaybar(curentry->username);
       @@ -1305,14 +1305,14 @@ move(ssize_t dx, ssize_t dy)
                                nox = x - columns / 2;
        
                        if (ox != nox) {
       -                        putp(tparm(cursor_address, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                        putp(tiparm(cursor_address, 0, 0));
                                rendermap();
                        } else {
       -                        putp(tparm(cursor_address, py - oy, px - ox, 0, 0, 0, 0, 0, 0, 0));
       +                        putp(tiparm(cursor_address, py - oy, px - ox));
                                rendermapchar(py, px);
                        }
                } else if (dy) {
       -                putp(tparm(cursor_address, py - oy, px - ox, 0, 0, 0, 0, 0, 0, 0));
       +                putp(tiparm(cursor_address, py - oy, px - ox));
                        rendermapchar(py, px);
        
                        if (y < maplines / 2 || MAPHEIGHT <= maplines) {
       @@ -1324,18 +1324,18 @@ move(ssize_t dx, ssize_t dy)
                        }
        
                        if (noy < oy) {
       -                        putp(tparm(cursor_address, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                        putp(tiparm(cursor_address, 0, 0));
                                for (i = (ssize_t)oy - 1; i >= (ssize_t)noy; i--) {
       -                                putp(tparm(scroll_reverse, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                                putp(tiparm(scroll_reverse));
                                        rendermapline(i);
       -                                putp(tparm(column_address, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                                putp(tiparm(column_address, 0));
                                }
                        } else if (noy > oy) {
       -                        putp(tparm(cursor_address, lines-3, 0, 0, 0, 0, 0, 0, 0, 0));
       +                        putp(tiparm(cursor_address, lines-3, 0));
                                for (i = oy + 1; i <= noy; i++) {
       -                                putp(tparm(scroll_forward, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                                putp(tiparm(scroll_forward));
                                        rendermapline(i + maplines - 1);
       -                                putp(tparm(column_address, 0, 0, 0, 0, 0, 0, 0, 0, 0));
       +                                putp(tiparm(column_address, 0));
                                }
                        }
                        oy = noy;
       @@ -1343,9 +1343,9 @@ move(ssize_t dx, ssize_t dy)
        
                py = y;
                px = x;
       -        putp(tparm(cursor_address, py - oy, px - ox, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(cursor_address, py - oy, px - ox));
                putchar('@');
       -        putp(tparm(cursor_address, py - oy, px - ox, 0, 0, 0, 0, 0, 0, 0));
       +        putp(tiparm(cursor_address, py - oy, px - ox));
        
                describe(px, py, 0);
        }
   DIR diff --git a/ui_rogue_readme b/ui_rogue_readme
       @@ -17,6 +17,7 @@ space:      interact (in dungeon), select (in menu)
        ESC or q:   exit (in dungeon), close menu
        
        # Map explanation
       +@:          That's you!
        E or ?:     bookshelf/book (gopher type '0')
        L or >:     elevator/staircase down/staircase up (gopher type '1' on the current server)
        O or 0:     portal machine/portal (gopher type '1' on another server)