From: Cole Robinson <crobinso@redhat.com>
To: Takashi Iwai <tiwai@suse.de>, qemu-devel@nongnu.org
Cc: kraxel@redhat.com, Anthony Liguori <aliguori@amazon.com>
Subject: Re: [Qemu-devel] [PATCH v2 4/4] gtk: Add "Grab On Click" option
Date: Wed, 02 Apr 2014 09:28:54 -0400 [thread overview]
Message-ID: <533C1096.30904@redhat.com> (raw)
In-Reply-To: <1396441953-19260-5-git-send-email-tiwai@suse.de>
On 04/02/2014 08:32 AM, Takashi Iwai wrote:
> I simply like it better, you don't? :)
>
In fact, relative mouse mode is a pain without this feature, you need to
manually initiate a grab with ctrl+alt+g before mouse movement will even work.
Compare to our sdl front end, or virt-viewer, vinagre, virt-manager, where
grab-on-click is the default (there isn't even an option to disable that
behavior).
I don't know what the original intention of the code was, but I think this
behavior should be the default. Anthony, Gerd, thoughts?
- Cole
> Signed-off-by: Takashi Iwai <tiwai@suse.de>
> ---
> ui/gtk.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/ui/gtk.c b/ui/gtk.c
> index 9b8df1224fdb..ffaf91ea453a 100644
> --- a/ui/gtk.c
> +++ b/ui/gtk.c
> @@ -141,6 +141,7 @@ typedef struct GtkDisplayState
> GtkWidget *zoom_fit_item;
> GtkWidget *grab_item;
> GtkWidget *grab_on_hover_item;
> + GtkWidget *grab_on_click_item;
> GtkWidget *vga_item;
>
> int nb_vcs;
> @@ -189,6 +190,11 @@ static bool gd_grab_on_hover(GtkDisplayState *s)
> return gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(s->grab_on_hover_item));
> }
>
> +static bool gd_grab_on_click(GtkDisplayState *s)
> +{
> + return gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(s->grab_on_click_item));
> +}
> +
> static bool gd_on_vga(GtkDisplayState *s)
> {
> return gtk_notebook_get_current_page(GTK_NOTEBOOK(s->notebook)) == 0;
> @@ -685,6 +691,12 @@ static gboolean gd_button_event(GtkWidget *widget, GdkEventButton *button,
> GtkDisplayState *s = opaque;
> InputButton btn;
>
> + if (button->button == 1 && button->type == GDK_BUTTON_PRESS &&
> + !gd_is_grab_active(s) && gd_grab_on_click(s) && button->button == 1) {
> + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(s->grab_item), TRUE);
> + return TRUE;
> + }
> +
> if (button->button == 1) {
> btn = INPUT_BUTTON_LEFT;
> } else if (button->button == 2) {
> @@ -1416,6 +1428,9 @@ static GtkWidget *gd_create_menu_view(GtkDisplayState *s, GtkAccelGroup *accel_g
> s->grab_on_hover_item = gtk_check_menu_item_new_with_mnemonic(_("Grab On _Hover"));
> gtk_menu_shell_append(GTK_MENU_SHELL(view_menu), s->grab_on_hover_item);
>
> + s->grab_on_click_item = gtk_check_menu_item_new_with_mnemonic(_("Grab On _Click"));
> + gtk_menu_shell_append(GTK_MENU_SHELL(view_menu), s->grab_on_click_item);
> +
> s->grab_item = gtk_check_menu_item_new_with_mnemonic(_("_Grab Input"));
> gtk_menu_item_set_accel_path(GTK_MENU_ITEM(s->grab_item),
> "<QEMU>/View/Grab Input");
>
next prev parent reply other threads:[~2014-04-02 13:29 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-02 12:32 [Qemu-devel] [PATCH v2 0/4] Fix relative pointer tracking on Gtk UI (v2) Takashi Iwai
2014-04-02 12:32 ` [Qemu-devel] [PATCH v2 1/4] gtk: Use gtk generic event signal instead of motion-notify-event Takashi Iwai
2014-04-02 13:25 ` Cole Robinson
2014-04-02 15:17 ` Gerd Hoffmann
2014-04-02 15:26 ` Takashi Iwai
2014-04-02 12:32 ` [Qemu-devel] [PATCH v2 2/4] gtk: Fix the relative pointer tracking mode Takashi Iwai
2014-04-02 13:26 ` Cole Robinson
2014-04-02 12:32 ` [Qemu-devel] [PATCH v2 3/4] gtk: Remember the last grabbed pointer position Takashi Iwai
2014-04-02 13:27 ` Cole Robinson
2014-04-02 12:32 ` [Qemu-devel] [PATCH v2 4/4] gtk: Add "Grab On Click" option Takashi Iwai
2014-04-02 13:28 ` Cole Robinson [this message]
2014-04-02 13:42 ` Takashi Iwai
2014-04-02 13:49 ` Cole Robinson
2014-04-02 14:39 ` Gerd Hoffmann
2014-04-02 15:07 ` [Qemu-devel] [PATCH] gtk: Grab pointer on click when in relative mode Cole Robinson
2014-04-02 15:19 ` Gerd Hoffmann
2014-04-02 15:25 ` Takashi Iwai
2014-04-02 20:18 ` Cole Robinson
2014-04-03 6:19 ` Takashi Iwai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=533C1096.30904@redhat.com \
--to=crobinso@redhat.com \
--cc=aliguori@amazon.com \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.