Commit 1ba7dd39 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Panning with CTRL + arrow keys

parent cf3237f5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ git HEAD
    * Set correct window title when starting feh in paused mode
    * Add Up/Down keys for zooming
    * When zooming via keyboard: Always zoom around the center of the window
    * The image can now be panned with Ctrl + arrow keys

Fri, 25 Jun 2010 16:07:20 +0200  Daniel Friesel <derf@chaosdorf.de>

+9 −9
Original line number Diff line number Diff line
@@ -667,11 +667,11 @@ change slides based on
Show menu.  Use the arrow keys and return to select items,
.Aq escape
to close the menu.
.It n , Ao space Ac , Aq right arrow
.It n , Ao Space Ac , Aq Right
Show next image
.It o
Toggle pointer visibility
.It p , Ao backspace Ac , Aq left arrow
.It p , Ao Backspace Ac , Aq Left
Show previous image
.It q
Quit feh
@@ -697,7 +697,7 @@ for more about lossless JPEG rotation.
.It 0 .. 9
Execute the corresponding action
.Pq 0 = Cm --action , No 1 = Cm --action1 No etc.
.It Aq return
.It Aq Return
Run the command defined by
.Cm --action
.It Aq home
@@ -718,19 +718,19 @@ Decrease reload delay
Remove current file from filelist
.It Aq CTRL+delete
Remove current file from filelist and delete it
.It Aq keypad left
.It Ao keypad left Ac , Ao Ctrl+Left Ac
Move the image to the lift
.It Aq keypad right
.It Ao keypad right Ac , Ao Ctrl+Right Ac
Move the image to the right
.It Aq keypad up
.It Ao keypad up Ac , Ao Ctrl+Up Ac
Move the image up
.It Aq keypad down
.It Ao keypad down Ac , Ao Ctrl+Down Ac
Move the image down
.It Aq keypad begin
Antialias the image
.It Ao keypad + Ac , Ao up arrow Ac
.It Ao keypad + Ac , Ao Up Ac
Zoom in
.It Ao keypad - Ac , Ao down arrow Ac
.It Ao keypad - Ac , Ao Down Ac
Zoom out
.It Aq keypad *
Zoom to 100%
+45 −25
Original line number Diff line number Diff line
@@ -156,11 +156,19 @@ void feh_event_handle_keypress(XEvent * ev)

	switch (keysym) {
	case XK_Left:
		if (opt.slideshow)
		if (kev->state & ControlMask) {
			winwid->im_x -= 10;
			winwidget_render_image(winwid, 0, 0);
		}
		else if (opt.slideshow)
			slideshow_change_image(winwid, SLIDE_PREV);
		break;
	case XK_Right:
		if (opt.slideshow)
		if (kev->state & ControlMask) {
			winwid->im_x += 10;
			winwidget_render_image(winwid, 0, 0);
		}
		else if (opt.slideshow)
			slideshow_change_image(winwid, SLIDE_NEXT);
		break;
	case XK_Page_Up:
@@ -242,23 +250,28 @@ void feh_event_handle_keypress(XEvent * ev)
		feh_event_invoke_action(winwid, opt.actions[9]);
		break;
	case XK_KP_Left:
		winwid->im_x = winwid->im_x - 10;
		winwid->im_x -= 10;
		winwidget_render_image(winwid, 0, 0);
		break;
	case XK_KP_Right:
		winwid->im_x = winwid->im_x + 10;
		winwid->im_x += 10;
		winwidget_render_image(winwid, 0, 0);
		break;
	case XK_KP_Up:
		winwid->im_y = winwid->im_y - 10;
		winwid->im_y -= 10;
		winwidget_render_image(winwid, 0, 0);
		break;
	case XK_KP_Down:
		winwid->im_y = winwid->im_y + 10;
		winwid->im_y += 10;
		winwidget_render_image(winwid, 0, 0);
		break;
	case XK_KP_Add:
	case XK_Up:
		if (kev->state & ControlMask) {
			winwid->im_y -= 10;
			winwidget_render_image(winwid, 0, 0);
		}
		else {
			/* erroneously recognized as '+' in the *kbuf switch. Work around this. */
			len = 0;
			winwid->old_zoom = winwid->zoom;
@@ -269,9 +282,15 @@ void feh_event_handle_keypress(XEvent * ev)
				winwid->old_zoom * winwid->zoom);
			winwidget_sanitise_offsets(winwid);
			winwidget_render_image(winwid, 0, 1);
		}
		break;
	case XK_KP_Subtract:
	case XK_Down:
		if (kev->state & ControlMask) {
			winwid->im_y += 10;
			winwidget_render_image(winwid, 0, 0);
		}
		else {
			len = 0;
			winwid->old_zoom = winwid->zoom;
			winwid->zoom = winwid->zoom * 0.75;
@@ -281,6 +300,7 @@ void feh_event_handle_keypress(XEvent * ev)
				winwid->old_zoom * winwid->zoom);
			winwidget_sanitise_offsets(winwid);
			winwidget_render_image(winwid, 0, 1);
		}
		break;
	case XK_KP_Multiply:
		len = 0;