diff options
-rw-r--r-- | src/imlib.c | 16 | ||||
-rw-r--r-- | src/options.c | 4 | ||||
-rw-r--r-- | src/options.h | 1 |
3 files changed, 21 insertions, 0 deletions
diff --git a/src/imlib.c b/src/imlib.c index 18547a9..2c04128 100644 --- a/src/imlib.c +++ b/src/imlib.c @@ -1204,6 +1204,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 102c186..dc6a9ff 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; @@ -805,6 +806,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 72fa03d..5734b54 100644 --- a/src/options.h +++ b/src/options.h @@ -110,6 +110,7 @@ struct __fehoptions { double reload; int sort; int version_sort; + int no_inplace_edit; int debug; int geom_enabled; int geom_flags; |