Mercurial > hg > forks > geeqie
changeset 2733:28978fd4c263
Merge.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sun, 04 Mar 2018 19:01:45 +0200 |
parents | 45f1c76fd78b (current diff) cff064279094 (diff) |
children | 86dad5529aed |
files | |
diffstat | 5 files changed, 73 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/docbook/GuideReferenceCommandLine.xml Thu Mar 01 22:57:28 2018 +0200 +++ b/doc/docbook/GuideReferenceCommandLine.xml Sun Mar 04 19:01:45 2018 +0200 @@ -223,6 +223,11 @@ </row> <row> <entry /> + <entry>--pixel-info</entry> + <entry>Print X, Y and RGB of mouse pointer on current image</entry> + </row> + <row> + <entry /> <entry>view:<file></entry> <entry>Open new window containing <file></entry> </row>
--- a/geeqie.1 Thu Mar 01 22:57:28 2018 +0200 +++ b/geeqie.1 Sun Mar 04 19:01:45 2018 +0200 @@ -168,6 +168,10 @@ Print filename of current image. .br .B +.IP \-\-pixel\-info +Print X, Y and RGB of mouse pointer on current image. +.br +.B .IP \-\-view:<FILE> Open FILE in new window. .br
--- a/src/layout.c Thu Mar 01 22:57:28 2018 +0200 +++ b/src/layout.c Sun Mar 04 19:01:45 2018 +0200 @@ -234,6 +234,7 @@ { if ((!lw->dir_fd || strcmp(lw->dir_fd->path, buf) != 0) && layout_set_path(lw, buf)) { + gtk_widget_grab_focus(GTK_WIDGET(lw->path_entry)); gint pos = -1; /* put the G_DIR_SEPARATOR back, if we are in tab completion for a dir and result was path change */ gtk_editable_insert_text(GTK_EDITABLE(lw->path_entry), G_DIR_SEPARATOR_S, -1, &pos);
--- a/src/remote.c Thu Mar 01 22:57:28 2018 +0200 +++ b/src/remote.c Sun Mar 04 19:01:45 2018 +0200 @@ -30,6 +30,7 @@ #include "layout.h" #include "layout_image.h" #include "misc.h" +#include "pixbuf-renderer.h" #include "slideshow.h" #include "ui_fileops.h" #include "rcfile.h" @@ -608,6 +609,51 @@ gr_raise(text, channel, data); } +static void gr_pixel_info(const gchar *text, GIOChannel *channel, gpointer data) +{ + gchar *pixel_info; + gint x_pixel, y_pixel; + gint width, height; + gint r_mouse, g_mouse, b_mouse; + PixbufRenderer *pr; + LayoutWindow *lw = NULL; + + if (!layout_valid(&lw)) return; + + pr = (PixbufRenderer*)lw->image->pr; + + if (pr) + { + pixbuf_renderer_get_image_size(pr, &width, &height); + if (width < 1 || height < 1) return; + + pixbuf_renderer_get_mouse_position(pr, &x_pixel, &y_pixel); + + if (x_pixel >= 0 && y_pixel >= 0) + { + pixbuf_renderer_get_pixel_colors(pr, x_pixel, y_pixel, + &r_mouse, &g_mouse, &b_mouse); + + pixel_info = g_strdup_printf(_("[%d,%d]: RGB(%3d,%3d,%3d)"), + x_pixel, y_pixel, + r_mouse, g_mouse, b_mouse); + + g_io_channel_write_chars(channel, pixel_info, -1, NULL, NULL); + g_io_channel_write_chars(channel, "\n", -1, NULL, NULL); + + g_free(pixel_info); + } + else + { + return; + } + } + else + { + return; + } +} + static void gr_file_tell(const gchar *text, GIOChannel *channel, gpointer data) { LayoutWindow *lw = NULL; /* NULL to force layout_valid() to do some magic */ @@ -798,6 +844,7 @@ { NULL, "file:", gr_file_load, TRUE, FALSE, N_("<FILE>"), N_("open FILE, bring Geeqie window to the top") }, { NULL, "File:", gr_file_load_no_raise, TRUE, FALSE, N_("<FILE>"), N_("open FILE, do not bring Geeqie window to the top") }, { NULL, "--tell", gr_file_tell, FALSE, FALSE, NULL, N_("print filename of current image") }, + { NULL, "--pixel-info", gr_pixel_info, FALSE, FALSE, NULL, N_("print pixel info of mouse pointer on current image") }, { NULL, "view:", gr_file_view, TRUE, FALSE, N_("<FILE>"), N_("open FILE in new window") }, { NULL, "--list-clear", gr_list_clear, FALSE, FALSE, NULL, N_("clear command line collection list") }, { NULL, "--list-add:", gr_list_add, TRUE, FALSE, N_("<FILE>"), N_("add FILE to command line collection list") },
--- a/web/help/GuideReferenceCommandLine.html Thu Mar 01 22:57:28 2018 +0200 +++ b/web/help/GuideReferenceCommandLine.html Sun Mar 04 19:01:45 2018 +0200 @@ -675,50 +675,55 @@ </tr> <tr class="tr-shade"> <td class="td-colsep td-rowsep"></td> +<td class="td-colsep td-rowsep">--pixel-info</td> +<td class="td-rowsep">Print X, Y and RGB of mouse pointer on current image</td> +</tr> +<tr> +<td class="td-colsep td-rowsep"></td> <td class="td-colsep td-rowsep">view:<file></td> <td class="td-rowsep">Open new window containing <file></td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep"></td> <td class="td-colsep td-rowsep">--list-clear</td> <td class="td-rowsep">Clear command line collection list</td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep"></td> <td class="td-colsep td-rowsep">--list-add:<file></td> <td class="td-rowsep">Add <file> to command line collection list</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep"></td> <td class="td-colsep td-rowsep">raise</td> <td class="td-rowsep">Bring the geeqie window to the top</td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep">-ct:clear|clean</td> <td class="td-colsep td-rowsep">--cache-thumbs:clear|clean</td> <td class="td-rowsep">clear or clean thumbnail cache</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep">-cs:clear|clean</td> <td class="td-colsep td-rowsep">--cache-shared:clear|clean</td> <td class="td-rowsep">clear or clean shared thumbnail cache</td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep">-cm</td> <td class="td-colsep td-rowsep">--cache-metadata</td> <td class="td-rowsep">clean the metadata cache</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep">-cr:<folder></td> <td class="td-colsep td-rowsep">--cache-render:<folder></td> <td class="td-rowsep">render thumbnails</td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep">-crr:<folder></td> <td class="td-colsep td-rowsep">--cache-render-recurse:<folder></td> <td class="td-rowsep">render thumbnails recursively</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep">-crs:<folder></td> <td class="td-colsep td-rowsep">--cache-render-shared:<folder></td> <td class="td-rowsep"> @@ -726,12 +731,12 @@ <a name="-noteref-ref2"></a><sup><a class="footnote" href="#ref2">2</a></sup> </td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep">-crsr:<folder></td> <td class="td-colsep td-rowsep">--cache-render-shared-recurse:<folder></td> <td class="td-rowsep">render thumbnails recursively</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep"></td> <td class="td-colsep">--lua:<file>,<lua script></td> <td>run lua script on file</td>