Commit 18dd1c5e authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Make SIGUSR1 / SIGUSR2 relaod the current image in single-file slideshows

parent e40399f4
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -1856,7 +1856,7 @@ So, to enlarge a specific part of an image, click the zoom button on that part.
.
.Sh SIGNALS
.
In slideshow mode,
In slideshow and multiwindow mode,
.Nm
handles the following signals:
.
@@ -1864,11 +1864,15 @@ handles the following signals:
.
.It Dv SIGUSR1
.
Switch to next image
Slideshow mode: switch to next image;
reload current image if the slideshow consists of a single file.
Multiwindow mode: reload all images.
.
.It Dv SIGUSR2
.
Switch to previous image
Slideshow mode: switch to previous image;
reload current image if the slideshow consists of a single file.
Multiwindow mode: reload all images.
.
.El
.
+9 −4
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

#include "feh.h"
#include "filelist.h"
#include "winwidget.h"
#include "options.h"

@@ -94,10 +95,14 @@ void feh_handle_signal(int signo)
	winwid = winwidget_get_first_window_of_type(WIN_TYPE_SLIDESHOW);

	if (winwid) {
		if (filelist_len > 1) {
			if (signo == SIGUSR1)
				slideshow_change_image(winwid, SLIDE_NEXT, 1);
			else if (signo == SIGUSR2)
				slideshow_change_image(winwid, SLIDE_PREV, 1);
		} else {
			feh_reload_image(winwid, 0, 0);
		}
	} else if (opt.multiwindow) {
		for (i = window_num - 1; i >= 0; i--)
			feh_reload_image(windows[i], 0, 0);