summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/imlib.c16
-rw-r--r--src/options.c4
-rw-r--r--src/options.h1
3 files changed, 21 insertions, 0 deletions
diff --git a/src/imlib.c b/src/imlib.c
index f41cdcd..91b635e 100644
--- a/src/imlib.c
+++ b/src/imlib.c
@@ -1192,6 +1192,22 @@ void feh_edit_inplace(winwidget w, int op)
if (!w->file || !w->file->data || !FEH_FILE(w->file->data)->filename)
return;
+ if (opt.no_inplace_edit) {
+ imlib_context_set_image(w->im);
+ if (op == INPLACE_EDIT_FLIP)
+ imlib_image_flip_vertical();
+ else if (op == INPLACE_EDIT_MIRROR)
+ imlib_image_flip_horizontal();
+ else {
+ imlib_image_orientate(op);
+ tmp = w->im_w;
+ FEH_FILE(w->file->data)->info->width = w->im_w = w->im_h;
+ FEH_FILE(w->file->data)->info->height = w->im_h = tmp;
+ }
+ winwidget_render_image(w, 1, 0);
+ return;
+ }
+
if (!strcmp(gib_imlib_image_format(w->im), "jpeg") &&
!path_is_url(FEH_FILE(w->file->data)->filename)) {
feh_edit_inplace_lossless(w, op);
diff --git a/src/options.c b/src/options.c
index af0f07d..d3066ef 100644
--- a/src/options.c
+++ b/src/options.c
@@ -418,6 +418,7 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun)
{"conversion-timeout" , 1, 0, 245},
{"version-sort" , 0, 0, 246},
{"offset" , 1, 0, 247},
+ {"no-inplace-edit", 0, 0, 248},
{0, 0, 0, 0}
};
int optch = 0, cmdx = 0;
@@ -795,6 +796,9 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun)
opt.offset_flags = XParseGeometry(optarg, &opt.offset_x,
&opt.offset_y, (unsigned int *)&discard, (unsigned int *)&discard);
break;
+ case 248:
+ opt.no_inplace_edit = 1;
+ break;
default:
break;
}
diff --git a/src/options.h b/src/options.h
index 936b4bd..bd2dfad 100644
--- a/src/options.h
+++ b/src/options.h
@@ -105,6 +105,7 @@ struct __fehoptions {
double reload;
int sort;
int version_sort;
+ int no_inplace_edit;
int debug;
int geom_enabled;
int geom_flags;