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

Add %g and %Z format specifiers (closes #391)

parent f8640490
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -1014,6 +1014,10 @@ Image path/filename
Escaped image path/filename
.Pq for use in shell commands
.
.It %g
.
w,h window dimensions in pixels (mnemonic: geometry)
.
.It %h
.
Image height
@@ -1048,8 +1052,9 @@ Number of image pixels
.
.It \&%P
.
Number of image pixels
Number of image pixels in human-readable format with k/M
.Pq kilopixels / megapixels
suffix
.
.It %r
.
@@ -1087,7 +1092,11 @@ Process ID
.
.It %z
.
current image zoom
Current image zoom, rounded to two decimal places
.
.It %Z
.
Current image zoom, higher precision
.
.It %%
.
+12 −0
Original line number Diff line number Diff line
@@ -468,6 +468,12 @@ char *feh_printf(char *str, feh_file * file, winwidget winwid)
				if (file)
					strncat(ret, shell_escape(file->filename), sizeof(ret) - strlen(ret) - 1);
				break;
			case 'g':
				if (winwid) {
					snprintf(buf, sizeof(buf), "%d,%d", winwid->w, winwid->h);
					strncat(ret, buf, sizeof(ret) - strlen(ret) - 1);
				}
				break;
			case 'h':
				if (file && (file->info || !feh_file_info_load(file, NULL))) {
					snprintf(buf, sizeof(buf), "%d", file->info->height);
@@ -564,6 +570,12 @@ char *feh_printf(char *str, feh_file * file, winwidget winwid)
					strncat(ret, "1.00", sizeof(ret) - strlen(ret) - 1);
				}
				break;
			case 'Z':
				if (winwid) {
					snprintf(buf, sizeof(buf), "%f", winwid->zoom);
					strncat(ret, buf, sizeof(ret) - strlen(ret) - 1);
				}
				break;
			case '%':
				strncat(ret, "%", sizeof(ret) - strlen(ret) - 1);
				break;