Thumbnail

rani/cscroll.git

Clone URL: https://git.buni.party/rani/cscroll.git

commit 1264c2f6c1e6c141e02688c58d3feac2afd7b48b Author: Raniconduh <clagv.randomgames@gmail.com> Date: Fri Oct 01 11:47:43 2021 +0000 changed structure, added 'g' and 'G' commands diff --git a/src/main.c b/src/main.c index 34dd26c..70fea3d 100644 --- a/src/main.c +++ b/src/main.c @@ -5326 +5349 @@ int main(int argc, char ** argv) {   refresh();     char c = curses_getch(); - if ((c == ARROW_UP || c == 'k') && cursor > 1) - cursor--; - else if ((c == ARROW_DOWN || c == 'j') && cursor < n_dir_entries) - cursor++; - else if (c == ARROW_LEFT || c == 'h') { - cd_back(); - free_dir_entries(); - list_dir(cwd); - cursor = 1; - first_f = 0; - last_f = n_dir_entries > ((unsigned)LINES - 6) ? LINES - 6 : n_dir_entries; - } else if ((c == ARROW_RIGHT || c == 'l') && dir_entries[cursor - 1]->file_type == FILE_DIR) { - enter_dir(dir_entries[cursor - 1]->name); - free_dir_entries(); - list_dir(cwd); - cursor = 1; - first_f = 0; - last_f = n_dir_entries > ((unsigned)LINES - 6) ? LINES - 6 : n_dir_entries; - } else if (c == 'q') - goto done; + switch (c) { + case ARROW_UP: + case 'k': + if (cursor > 1) cursor--; + break; + case ARROW_DOWN: + case 'j': + if (cursor < n_dir_entries) cursor++; + break; + case ARROW_LEFT: + case 'h': + cd_back(); + free_dir_entries(); + list_dir(cwd); + cursor = 1; + first_f = 0; + last_f = n_dir_entries > ((unsigned)LINES - 6) ? LINES - 6 : n_dir_entries; + break; + case ARROW_RIGHT: + case 'l': + if (dir_entries[cursor - 1]->file_type != FILE_DIR) break; + enter_dir(dir_entries[cursor - 1]->name); + free_dir_entries(); + list_dir(cwd); + cursor = 1; + first_f = 0; + last_f = n_dir_entries > ((unsigned)LINES - 6) ? LINES - 6 : n_dir_entries; + break; + case 'g': + cursor = 1; + first_f = 0; + last_f = n_dir_entries > ((unsigned)LINES - 6) ? LINES - 6 : n_dir_entries; + break; + case 'G': + cursor = n_dir_entries; + last_f = n_dir_entries - 1; + first_f = n_dir_entries > (unsigned)LINES - 6? n_dir_entries - LINES + 5 : -1; + break; + case 'q': + goto done; + default: + break; + }   }    done: