Sync file paths correctly for clipboard copy

This commit is contained in:
Arun Prakash Jana 2019-12-13 00:36:30 +05:30
parent e723666256
commit 5a46b8fb25
No known key found for this signature in database
GPG key ID: A75979F35C080412

View file

@ -4864,26 +4864,34 @@ nochange:
if (rangesel) if (rangesel)
rangesel = FALSE; rangesel = FALSE;
/* Write the path to selection file to avoid flush */ /* Toggle selection status */
if (!(dents[cur].flags & FILE_SELECTED)) { dents[cur].flags ^= FILE_SELECTED;
if (dents[cur].flags & FILE_SELECTED) {
++nselected;
utmp = selbufpos; utmp = selbufpos;
selbufpos = lastappendpos; selbufpos = lastappendpos;
appendfpath(newpath, mkpath(path, dents[cur].name, newpath)); appendfpath(newpath, mkpath(path, dents[cur].name, newpath));
writesel(pselbuf, selbufpos - 1); /* Truncate NULL from end */ writesel(pselbuf, selbufpos - 1); /* Truncate NULL from end */
if (cfg.x11)
plugscript(utils[UTIL_CBCP], newpath, F_NOWAIT | F_NOTRACE);
lastappendpos = selbufpos; lastappendpos = selbufpos;
selbufpos = utmp; selbufpos = utmp;
} else {
--nselected;
if (nselected) {
utmp = selbufpos;
updateselbuf(path, newpath);
writesel(pselbuf, selbufpos - 1); /* Truncate NULL from end */
lastappendpos = selbufpos;
selbufpos = utmp;
} else
writesel(NULL, 0);
} }
/* Toggle selection status */ if (cfg.x11)
dents[cur].flags ^= FILE_SELECTED; plugscript(utils[UTIL_CBCP], newpath, F_NOWAIT | F_NOTRACE);
(dents[cur].flags & FILE_SELECTED) ? ++nselected : --nselected;
if (!nselected) { if (!nselected)
writesel(NULL, 0);
unlink(g_selpath); unlink(g_selpath);
}
/* move cursor to the next entry if this is not the last entry */ /* move cursor to the next entry if this is not the last entry */
if (!cfg.picker && cur != ndents - 1) if (!cfg.picker && cur != ndents - 1)