Replace $HOME with '~' in address bar

This commit is contained in:
Arun Prakash Jana 2021-03-27 23:28:23 +05:30
parent e5d44ce223
commit ccf2927b6d
No known key found for this signature in database
GPG key ID: A75979F35C080412

View file

@ -5807,7 +5807,6 @@ static void redraw(char *path)
int ncols = (xcols <= PATH_MAX) ? xcols : PATH_MAX; int ncols = (xcols <= PATH_MAX) ? xcols : PATH_MAX;
int onscreen = xlines - 4; int onscreen = xlines - 4;
int i; int i;
char *ptr = path;
// Fast redraw // Fast redraw
if (g_state.move) { if (g_state.move) {
@ -5851,15 +5850,23 @@ static void redraw(char *path)
attron(A_UNDERLINE | COLOR_PAIR(cfg.curctx + 1)); attron(A_UNDERLINE | COLOR_PAIR(cfg.curctx + 1));
/* Print path */ /* Print path */
i = (int)xstrlen(path); bool in_home = set_tilde_in_path(path);
char *ptr = in_home ? &path[homelen - 1] : path;
i = (int)xstrlen(ptr);
if ((i + MIN_DISPLAY_COLS) <= ncols) if ((i + MIN_DISPLAY_COLS) <= ncols)
addnstr(path, ncols - MIN_DISPLAY_COLS); addnstr(ptr, ncols - MIN_DISPLAY_COLS);
else { else {
char *base = xmemrchr((uchar_t *)path, '/', i); char *base = xmemrchr((uchar_t *)ptr, '/', i);
i = 0; if (in_home) {
addch(*ptr);
++ptr;
i = 1;
} else
i = 0;
if (base != ptr) { if (ptr && (base != ptr)) {
while (ptr < base) { while (ptr < base) {
if (*ptr == '/') { if (*ptr == '/') {
i += 2; /* 2 characters added */ i += 2; /* 2 characters added */
@ -5875,9 +5882,13 @@ static void redraw(char *path)
} }
} }
addnstr(base, ncols - (MIN_DISPLAY_COLS + i)); if (base)
addnstr(base, ncols - (MIN_DISPLAY_COLS + i));
} }
if (in_home)
reset_tilde_in_path(path);
attroff(A_UNDERLINE | COLOR_PAIR(cfg.curctx + 1)); attroff(A_UNDERLINE | COLOR_PAIR(cfg.curctx + 1));
ncols = adjust_cols(ncols); ncols = adjust_cols(ncols);