summaryrefslogtreecommitdiff
path: root/src/options.h
diff options
context:
space:
mode:
authorguns <self@sungpae.com>2016-05-28 00:45:33 -0500
committerguns <self@sungpae.com>2016-05-28 00:45:33 -0500
commit36b09fa038a8b7996a12e45419c28821c5596308 (patch)
tree36e759b0bd5d94fa4ef8817a746f43b6e6e9d5c4 /src/options.h
parent7db8895f8cfb3d58b8e9b4c7a5a64a4df9bb1af0 (diff)
Add prev_dir and next_dir navigation actions
Many image collections are organized by directory, so it is nice to have jump-to-adjacent-directory navigation. e.g. Given the following file hierarchy: . ├── A │   ├── 1.jpg │   ├── 2.jpg │   └── C │   ├── 1.jpg │   ├── 2.jpg │   └── 3.jpg └── B ├── 1.jpg ├── 2.jpg └── 3.jpg `feh --recursive` creates the following filelist: A/1.jpg <---- current_file A/2.jpg A/C/1.jpg A/C/2.jpg A/C/3.jpg B/1.jpg B/2.jpg B/3.jpg If we press [next_dir], we move the current_file pointer to: A/1.jpg A/2.jpg A/C/1.jpg <-- current_file A/C/2.jpg A/C/3.jpg B/1.jpg B/2.jpg B/3.jpg Pressing [next_dir] again moves the pointer to: A/1.jpg A/2.jpg A/C/1.jpg A/C/2.jpg A/C/3.jpg B/1.jpg <---- current_file B/2.jpg B/3.jpg [next_dir] now moves the pointer back to the top of the list: A/1.jpg <---- current_file A/2.jpg A/C/1.jpg A/C/2.jpg A/C/3.jpg B/1.jpg B/2.jpg B/3.jpg Pressing [prev_dir] from here moves backwards to the first image of the previous directory: A/1.jpg A/2.jpg A/C/1.jpg A/C/2.jpg A/C/3.jpg B/1.jpg <---- current_file B/2.jpg B/3.jpg When starting from an position that is not the first image of a directory, [prev_dir] moves the pointer to the first image of the current directory. These actions combine well with `--sort dirname` since all regular files in a directory will be sorted before any subdirectories, avoiding a filelist like the following: A/1.jpg A/SUBDIR/2.jpg A/SUBDIR/3.jpg A/4.jpg With `--sort dirname` that filelist becomes: A/1.jpg A/4.jpg A/SUBDIR/2.jpg A/SUBDIR/3.jpg
Diffstat (limited to 'src/options.h')
-rw-r--r--src/options.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/options.h b/src/options.h
index 0052d5d..bbf129f 100644
--- a/src/options.h
+++ b/src/options.h
@@ -153,6 +153,8 @@ struct __fehkb {
struct __fehkey jump_back;
struct __fehkey quit;
struct __fehkey jump_fwd;
+ struct __fehkey prev_dir;
+ struct __fehkey next_dir;
struct __fehkey remove;
struct __fehkey delete;
struct __fehkey jump_first;