Permalink
Browse files

Merge remote branch 'upstream/master'

Conflicts:
	src/exif.c
  • Loading branch information...
2 parents 458c5cf + 54deb9b commit fc651e5eb5a7cce4f2df97eb8aee3d9ad34f9717 @reald committed Feb 26, 2012
Showing with 39 additions and 14 deletions.
  1. +8 −0 ChangeLog
  2. +4 −3 man/feh.pre
  3. +1 −1 src/exif.c
  4. +1 −0 src/feh.h
  5. +6 −4 src/list.c
  6. +19 −6 src/slideshow.c
View
@@ -1,3 +1,11 @@
+git HEAD
+
+ * exif-support fixes by Dennis Real
+ * format specifier %S now uses the appropriate suffix (B/kB/MB)
+ * format specifier %P now prints the number of pixels with k/M suffix,
+ like %S. Printing the program name ("feh") is no longer supported
+ * feh --list now uses %S/%P to print image size and amount of pixels
+
Thu, 02 Feb 2012 21:04:06 +0100 Daniel Friesel <derf@finalrewind.org>
* Release v2.3
View
@@ -791,16 +791,17 @@ Number of image pixels
.
.It \&%P
.
-.Nm
+Numbor of image pixels
+.Pq kilopixels / megapixels
.
.It %s
.
Image size in bytes
.
.It %S
.
-Image size in kilobytes
-.Pq with kB postfix
+Human-readable image size
+.Pq kB / MB
.
.It %t
.
View
@@ -230,7 +230,7 @@ void exif_get_info(ExifData * ed, char *buffer, unsigned int maxsize)
exif_get_mnote_tag(ed, 132, buffer + strlen(buffer), maxsize - strlen(buffer));
/* Digital Vari-Program */
exif_get_mnote_tag(ed, 171, buffer + strlen(buffer), maxsize - strlen(buffer));
-
+
}
}
View
@@ -137,6 +137,7 @@ void init_keyevents(void);
void init_buttonbindings(void);
void feh_event_handle_keypress(XEvent * ev);
void feh_action_run(feh_file * file, char *action);
+char *format_size(int size);
char *feh_printf(char *str, feh_file * file);
void im_weprintf(winwidget w, char *fmt, ...);
void feh_draw_zoom(winwidget w);
View
@@ -37,18 +37,20 @@ void init_list_mode(void)
mode = "list";
if (!opt.customlist)
- fputs("NUM\tFORMAT\tWIDTH\tHEIGHT\tPIXELS\tSIZE(bytes)\tALPHA\tFILENAME\n",
+ fputs("NUM\tFORMAT\tWIDTH\tHEIGHT\tPIXELS\tSIZE\tALPHA\tFILENAME\n",
stdout);
for (l = filelist; l; l = l->next) {
file = FEH_FILE(l->data);
if (opt.customlist)
printf("%s\n", feh_printf(opt.customlist, file));
else
- printf("%d\t%s\t%d\t%d\t%d\t%d\t\t%c\t%s\n", ++j,
+ printf("%d\t%s\t%d\t%d\t%s", ++j,
file->info->format, file->info->width,
- file->info->height, file->info->pixels,
- file->info->size,
+ file->info->height,
+ format_size(file->info->pixels));
+ printf("\t%s\t%c\t%s\n",
+ format_size(file->info->size),
file->info->has_alpha ? 'X' : '-', file->filename);
feh_action_run(file, opt.actions[0]);
View
@@ -404,6 +404,19 @@ char *shell_escape(char *input)
return ret;
}
+char *format_size(int size)
+{
+ static char ret[5];
+ char units[] = {' ', 'k', 'M', 'G', 'T'};
+ unsigned char postfix = 0;
+ while (size >= 1000) {
+ size /= 1000;
+ postfix++;
+ }
+ snprintf(ret, 5, "%3d%c", size, units[postfix]);
+ return ret;
+}
+
char *feh_printf(char *str, feh_file * file)
{
char *c;
@@ -452,9 +465,7 @@ char *feh_printf(char *str, feh_file * file)
break;
case 'S':
if (file && (file->info || !feh_file_info_load(file, NULL))) {
- snprintf(buf, sizeof(buf),
- "%.2fkB", ((double)file->info->size / 1000));
- strcat(ret, buf);
+ strcat(ret, format_size(file->info->size));
}
break;
case 'p':
@@ -463,14 +474,16 @@ char *feh_printf(char *str, feh_file * file)
strcat(ret, buf);
}
break;
+ case 'P':
+ if (file && (file->info || !feh_file_info_load(file, NULL))) {
+ strcat(ret, format_size(file->info->pixels));
+ }
+ break;
case 't':
if (file && (file->info || !feh_file_info_load(file, NULL))) {
strcat(ret, file->info->format);
}
break;
- case 'P':
- strcat(ret, PACKAGE);
- break;
case 'v':
strcat(ret, VERSION);
break;

0 comments on commit fc651e5

Please sign in to comment.