Mercurial > hg > forks > geeqie
changeset 2464:a235aad08c32
Fix #201: Geeqie to pop to top of current windows when open up with -r
https://github.com/BestImageViewer/geeqie/issues/201
Additional remote option to bring Geeqie widow to the top when opening
image:
file:<file> open <file>, bring Geeqie window to the top
File:<file> open <file>, do not bring Geeqie window to the top
author | Colin Clark <cclark@mcb.net> |
---|---|
date | Mon, 27 Mar 2017 13:22:58 +0100 |
parents | 2f4d24bf7a97 |
children | 58073aea8bc0 |
files | doc/docbook/GuideReferenceCommandLine.xml src/remote.c |
diffstat | 2 files changed, 26 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/docbook/GuideReferenceCommandLine.xml Sun Mar 26 11:42:10 2017 +0100 +++ b/doc/docbook/GuideReferenceCommandLine.xml Mon Mar 27 13:22:58 2017 +0100 @@ -9,7 +9,7 @@ <table frame="all"> <tgroup cols="3" rowsep="1" colsep="1"> <thead rowsep="1" colsep="1"> - <row > + <row> <entry>Short Option</entry> <entry>Long Option</entry> <entry>Description</entry> @@ -88,16 +88,17 @@ <section id="Remotecommands"> <title>Remote commands</title> <para>The --remote command line option will send all entered commands to an existing Geeqie process, a new process will be started if one does not exist. These are the additional commands that can be used with the remote command:</para> - <table frame="all"> - <tgroup cols="3" rowsep="1" colsep="1"> - <thead rowsep="1" colsep="1"> - + <table frame="all"> + <tgroup cols="3" rowsep="1" colsep="1"> + <thead rowsep="1" colsep="1"> <row> <entry>Short Option</entry> <entry>Long Option</entry> <entry>Description</entry> - </row></thead> - <tbody> <row> + </row> + </thead> + <tbody> + <row> <entry>-n</entry> <entry>--next</entry> <entry>Change main window to display next image.</entry> @@ -190,7 +191,12 @@ <row> <entry /> <entry>file:<file></entry> - <entry>Change main window to display <file></entry> + <entry>Open <file> and bring Geeqie window to the top</entry> + </row> + <row> + <entry /> + <entry>File:<file></entry> + <entry>Open <file> and do not bring Geeqie window to the top</entry> </row> <row> <entry /> @@ -222,4 +228,4 @@ </table> <para /> </section> -</section> +</section>
--- a/src/remote.c Sun Mar 26 11:42:10 2017 +0100 +++ b/src/remote.c Mon Mar 27 13:22:58 2017 +0100 @@ -51,6 +51,7 @@ static RemoteConnection *remote_client_open(const gchar *path); static gint remote_client_send(RemoteConnection *rc, const gchar *text); +static void gr_raise(const gchar *text, GIOChannel *channel, gpointer data); typedef struct _RemoteClient RemoteClient; @@ -495,7 +496,7 @@ g_idle_add(gr_quit_idle_cb, NULL); } -static void gr_file_load(const gchar *text, GIOChannel *channel, gpointer data) +static void gr_file_load_no_raise(const gchar *text, GIOChannel *channel, gpointer data) { gchar *filename = expand_tilde(text); @@ -523,6 +524,13 @@ g_free(filename); } +static void gr_file_load(const gchar *text, GIOChannel *channel, gpointer data) +{ + gr_file_load_no_raise(text, channel, data); + + gr_raise(text, channel, data); +} + static void gr_file_tell(const gchar *text, GIOChannel *channel, gpointer data) { LayoutWindow *lw = NULL; /* NULL to force layout_valid() to do some magic */ @@ -674,7 +682,8 @@ { NULL, "--config-load:", gr_config_load, TRUE, FALSE, N_("<FILE>"), N_("load configuration from FILE") }, { NULL, "--get-sidecars:", gr_get_sidecars, TRUE, FALSE, N_("<FILE>"), N_("get list of sidecars of FILE") }, { NULL, "--get-destination:", gr_get_destination, TRUE, FALSE, N_("<FILE>"), N_("get destination path of FILE") }, - { NULL, "file:", gr_file_load, TRUE, FALSE, N_("<FILE>"), N_("open FILE") }, + { 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, "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") },