Loading ChangeLog +3 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,9 @@ git HEAD * Since the manual is way better structured and more detailed than the --help output, it now simply refers to the manual. To include the old help text, build feh with 'help=1' * You can now use the next/prev/jump keys to navigate thumbnails. Use the render key to open the currently selected thumbnail. <http://github.com/derf/feh/issues/26> Sat, 23 Apr 2011 22:00:27 +0200 Daniel Friesel <derf@finalrewind.org> Loading src/events.c +1 −1 Original line number Diff line number Diff line Loading @@ -498,7 +498,7 @@ static void feh_event_handle_MotionNotify(XEvent * ev) x = (ev->xbutton.x - winwid->im_x) / winwid->zoom; y = (ev->xbutton.y - winwid->im_y) / winwid->zoom; thumbnail = feh_thumbnail_get_thumbnail_from_coords(x, y); feh_thumbnail_mark_selected(winwid, thumbnail); feh_thumbnail_select(winwid, thumbnail); } } return; Loading src/keyevents.c +12 −1 Original line number Diff line number Diff line Loading @@ -421,10 +421,14 @@ void feh_event_handle_keypress(XEvent * ev) if (feh_is_kp(&keys.next_img, keysym, state)) { if (opt.slideshow) slideshow_change_image(winwid, SLIDE_NEXT); else if (opt.thumbs) feh_thumbnail_select_next(winwid, 1); } else if (feh_is_kp(&keys.prev_img, keysym, state)) { if (opt.slideshow) slideshow_change_image(winwid, SLIDE_PREV); else if (opt.thumbs) feh_thumbnail_select_prev(winwid, 1); } else if (feh_is_kp(&keys.scroll_right, keysym, state)) { winwid->im_x -= 20; Loading @@ -445,10 +449,14 @@ void feh_event_handle_keypress(XEvent * ev) else if (feh_is_kp(&keys.jump_back, keysym, state)) { if (opt.slideshow) slideshow_change_image(winwid, SLIDE_JUMP_BACK); else if (opt.thumbs) feh_thumbnail_select_prev(winwid, 10); } else if (feh_is_kp(&keys.jump_fwd, keysym, state)) { if (opt.slideshow) slideshow_change_image(winwid, SLIDE_JUMP_FWD); else if (opt.thumbs) feh_thumbnail_select_next(winwid, 10); } else if (feh_is_kp(&keys.quit, keysym, state)) { winwidget_destroy_all(); Loading Loading @@ -533,6 +541,9 @@ void feh_event_handle_keypress(XEvent * ev) winwidget_render_image(winwid, 0, 0); } else if (feh_is_kp(&keys.render, keysym, state)) { if (opt.thumbs) feh_thumbnail_show_selected(); else winwidget_render_image(winwid, 0, 0); } else if (feh_is_kp(&keys.toggle_actions, keysym, state)) { Loading src/thumbnail.c +39 −1 Original line number Diff line number Diff line Loading @@ -926,7 +926,7 @@ void feh_thumbnail_show_fullsize(feh_file *thumbfile) } } void feh_thumbnail_mark_selected(winwidget winwid, feh_thumbnail *thumbnail) void feh_thumbnail_select(winwidget winwid, feh_thumbnail *thumbnail) { Imlib_Image origwin; Loading Loading @@ -959,7 +959,45 @@ void feh_thumbnail_mark_selected(winwidget winwid, feh_thumbnail *thumbnail) td.selected = thumbnail; } void feh_thumbnail_select_next(winwidget winwid, int jump) { gib_list *l, *tmp; int i; for (l = thumbnails; l && l->next; l = l->next) { tmp = l; for (i = jump; (i > 0) && tmp->next; i--) tmp = tmp->next; if (tmp->data == td.selected) break; } feh_thumbnail_select(winwid, FEH_THUMB(l->data)); } void feh_thumbnail_select_prev(winwidget winwid, int jump) { gib_list *l; feh_thumbnail *thumb; int i; for (l = thumbnails; l; l = l->next) { thumb = FEH_THUMB(l->data); if ((thumb == td.selected) && l->next) { for (i = jump; (i > 0) && l->next; i--) l = l->next; feh_thumbnail_select(winwid, FEH_THUMB(l->data)); return; } } feh_thumbnail_select(winwid, FEH_THUMB(thumbnails->data)); } inline void feh_thumbnail_show_selected() { if (td.selected && td.selected->file) feh_thumbnail_show_fullsize(td.selected->file); } int feh_thumbnail_setup_thumbnail_dir(void) { Loading src/thumbnail.h +4 −1 Original line number Diff line number Diff line Loading @@ -82,7 +82,10 @@ char *feh_thumbnail_get_name(char *uri); char *feh_thumbnail_get_name_uri(char *name); char *feh_thumbnail_get_name_md5(char *uri); void feh_thumbnail_show_fullsize(feh_file *thumbfile); void feh_thumbnail_mark_selected(winwidget winwid, feh_thumbnail *thumbnail); void feh_thumbnail_select(winwidget winwid, feh_thumbnail *thumbnail); void feh_thumbnail_select_next(winwidget winwid, int jump); void feh_thumbnail_select_prev(winwidget winwid, int jump); void feh_thumbnail_show_selected(); int feh_thumbnail_setup_thumbnail_dir(void); Loading Loading
ChangeLog +3 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,9 @@ git HEAD * Since the manual is way better structured and more detailed than the --help output, it now simply refers to the manual. To include the old help text, build feh with 'help=1' * You can now use the next/prev/jump keys to navigate thumbnails. Use the render key to open the currently selected thumbnail. <http://github.com/derf/feh/issues/26> Sat, 23 Apr 2011 22:00:27 +0200 Daniel Friesel <derf@finalrewind.org> Loading
src/events.c +1 −1 Original line number Diff line number Diff line Loading @@ -498,7 +498,7 @@ static void feh_event_handle_MotionNotify(XEvent * ev) x = (ev->xbutton.x - winwid->im_x) / winwid->zoom; y = (ev->xbutton.y - winwid->im_y) / winwid->zoom; thumbnail = feh_thumbnail_get_thumbnail_from_coords(x, y); feh_thumbnail_mark_selected(winwid, thumbnail); feh_thumbnail_select(winwid, thumbnail); } } return; Loading
src/keyevents.c +12 −1 Original line number Diff line number Diff line Loading @@ -421,10 +421,14 @@ void feh_event_handle_keypress(XEvent * ev) if (feh_is_kp(&keys.next_img, keysym, state)) { if (opt.slideshow) slideshow_change_image(winwid, SLIDE_NEXT); else if (opt.thumbs) feh_thumbnail_select_next(winwid, 1); } else if (feh_is_kp(&keys.prev_img, keysym, state)) { if (opt.slideshow) slideshow_change_image(winwid, SLIDE_PREV); else if (opt.thumbs) feh_thumbnail_select_prev(winwid, 1); } else if (feh_is_kp(&keys.scroll_right, keysym, state)) { winwid->im_x -= 20; Loading @@ -445,10 +449,14 @@ void feh_event_handle_keypress(XEvent * ev) else if (feh_is_kp(&keys.jump_back, keysym, state)) { if (opt.slideshow) slideshow_change_image(winwid, SLIDE_JUMP_BACK); else if (opt.thumbs) feh_thumbnail_select_prev(winwid, 10); } else if (feh_is_kp(&keys.jump_fwd, keysym, state)) { if (opt.slideshow) slideshow_change_image(winwid, SLIDE_JUMP_FWD); else if (opt.thumbs) feh_thumbnail_select_next(winwid, 10); } else if (feh_is_kp(&keys.quit, keysym, state)) { winwidget_destroy_all(); Loading Loading @@ -533,6 +541,9 @@ void feh_event_handle_keypress(XEvent * ev) winwidget_render_image(winwid, 0, 0); } else if (feh_is_kp(&keys.render, keysym, state)) { if (opt.thumbs) feh_thumbnail_show_selected(); else winwidget_render_image(winwid, 0, 0); } else if (feh_is_kp(&keys.toggle_actions, keysym, state)) { Loading
src/thumbnail.c +39 −1 Original line number Diff line number Diff line Loading @@ -926,7 +926,7 @@ void feh_thumbnail_show_fullsize(feh_file *thumbfile) } } void feh_thumbnail_mark_selected(winwidget winwid, feh_thumbnail *thumbnail) void feh_thumbnail_select(winwidget winwid, feh_thumbnail *thumbnail) { Imlib_Image origwin; Loading Loading @@ -959,7 +959,45 @@ void feh_thumbnail_mark_selected(winwidget winwid, feh_thumbnail *thumbnail) td.selected = thumbnail; } void feh_thumbnail_select_next(winwidget winwid, int jump) { gib_list *l, *tmp; int i; for (l = thumbnails; l && l->next; l = l->next) { tmp = l; for (i = jump; (i > 0) && tmp->next; i--) tmp = tmp->next; if (tmp->data == td.selected) break; } feh_thumbnail_select(winwid, FEH_THUMB(l->data)); } void feh_thumbnail_select_prev(winwidget winwid, int jump) { gib_list *l; feh_thumbnail *thumb; int i; for (l = thumbnails; l; l = l->next) { thumb = FEH_THUMB(l->data); if ((thumb == td.selected) && l->next) { for (i = jump; (i > 0) && l->next; i--) l = l->next; feh_thumbnail_select(winwid, FEH_THUMB(l->data)); return; } } feh_thumbnail_select(winwid, FEH_THUMB(thumbnails->data)); } inline void feh_thumbnail_show_selected() { if (td.selected && td.selected->file) feh_thumbnail_show_fullsize(td.selected->file); } int feh_thumbnail_setup_thumbnail_dir(void) { Loading
src/thumbnail.h +4 −1 Original line number Diff line number Diff line Loading @@ -82,7 +82,10 @@ char *feh_thumbnail_get_name(char *uri); char *feh_thumbnail_get_name_uri(char *name); char *feh_thumbnail_get_name_md5(char *uri); void feh_thumbnail_show_fullsize(feh_file *thumbfile); void feh_thumbnail_mark_selected(winwidget winwid, feh_thumbnail *thumbnail); void feh_thumbnail_select(winwidget winwid, feh_thumbnail *thumbnail); void feh_thumbnail_select_next(winwidget winwid, int jump); void feh_thumbnail_select_prev(winwidget winwid, int jump); void feh_thumbnail_show_selected(); int feh_thumbnail_setup_thumbnail_dir(void); Loading