all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stephen Berman <stephen.berman@gmx.net>
To: 1405@emacsbugs.donarmstrong.com
Cc: "Chong Yidong" <cyd@stupidchicken.com>,
	"Jan Djärv" <jan.h.d@swipnet.se>,
	emacs-devel@gnu.org
Subject: Re: bug#1405: detached GTK+ tool bar
Date: Sun, 01 Mar 2009 18:43:13 +0100	[thread overview]
Message-ID: <878wnpkuku.fsf@escher.local.home> (raw)
In-Reply-To: <87d4el4r59.fsf__38436.7469735027$1232225105$gmane$org@escher.local.home> (Stephen Berman's message of "Sat, 17 Jan 2009 21:24:50 +0100")

On Sat, 17 Jan 2009 21:24:50 +0100 Stephen Berman <stephen.berman@gmx.net> wrote:

> On Thu, 18 Dec 2008 21:46:27 +0100 Stephen Berman <stephen.berman@gmx.net> wrote:
>
>> On Thu, 18 Dec 2008 19:50:22 +0100 Jan Djärv <jan.h.d@swipnet.se> wrote:
>>
>>> Stephen Berman skrev:
>>>> On Sun, 23 Nov 2008 12:01:09 +0100 Jan Djärv <jan.h.d@swipnet.se> wrote:
>>>>>
>>>>> I'd rather see if the focus can be kept to the frame.  We can perhaps put some
>>>>> hints to the window manager.  I'll look in to it.  Can the OP please tell us
>>>>> what window manager he is using and what kind of focus model he has (click to
>>>>> focus, focus follows mouse)?
>>>> 
>>>> I'm using KDE/kwin and click to focus.  But I also see the same behavior
>>>> (i.e. focus not returning to the window/frame the tool bar was detached
>>>> from) with a focus follows mouse policy.
>>>> 
>>>
>>> I've made a change, can you test it?
>>>
>>> Thanks,
>>>
>>> 	Jan D.
>>
>> I just did, and confirm that focus now switches back to the frame after
>> clicking a button on the detached tool bar.  Thanks!  
>
> I just learned about the variable x-gtk-whole-detached-tool-bar; when
> this is non-nil and the tool bar is detached, focus fails to switch back
> to the frame after clicking a button on the detached tool bar.  So your
> fix does not work with x-gtk-whole-detached-tool-bar non-nil.
>
> In GNU Emacs 23.0.60.29 (i686-pc-linux-gnu, GTK+ Version 2.14.4) of
> 2009-01-11 on escher 
>
> Steve Berman

The patch below (against the current CVS trunk) makes focus return to
the frame regardless of the value of x-gtk-whole-detached-tool-bar
(i.e., it works both with the proxy (arrow) and the whole detached tool
bar).  Jan D. or somebody else who's familiar with GTK+ should check to
make sure it does not cause any problems elsewhere.

Steve Berman


2009-03-01  Stephen Berman  <stephen.berman@gmx.net>

	* gtkutil.c (xg_tool_bar_callback): Return focus to the frame
	after we have clicked on a detached tool bar button (bug#1405).
	This replaces the reverted change below.
	(xg_tool_bar_proxy_callback): Revert previous change (bug#1405).
	

*** emacs/src/gtkutil.c.~1.146.~	2009-03-01 17:06:07.000000000 +0100
--- emacs/src/gtkutil.c	2009-03-01 17:41:39.000000000 +0100
***************
*** 3461,3466 ****
--- 3461,3470 ----
       this is written.  */
    event.modifiers = x_x_to_emacs_modifiers (FRAME_X_DISPLAY_INFO (f), mod);
    kbd_buffer_store_event (&event);
+ 
+   /* Return focus to the frame after we have clicked on a detached
+      tool bar button. */
+   Fx_focus_frame (frame);
  }
  
  /* Callback function invoked when a tool bar item is pressed in a detached
***************
*** 3480,3490 ****
    xg_tool_bar_callback (wbutton, client_data);
    FRAME_PTR f = (FRAME_PTR) g_object_get_data (G_OBJECT (wbutton),
                                                 XG_FRAME_DATA);
-   /* Put focus back to the frame after we have clicked on a detached
-      tool bar button. */
-   Lisp_Object frame;
-   XSETFRAME (frame, f);
-   Fx_focus_frame (frame);
  }
  
  /* This callback is called when a tool item should create a proxy item,
--- 3484,3489 ----




  parent reply	other threads:[~2009-03-01 17:43 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-22 21:38 detached GTK+ tool bar Chong Yidong
2008-11-23 11:01 ` bug#1405: " Jan Djärv
2008-11-24  0:10   ` Stephen Berman
2008-11-24  8:03     ` Jan D.
2008-11-24  8:03     ` Jan D.
2008-11-24 15:58       ` Chong Yidong
2008-11-24 15:58       ` Chong Yidong
2008-11-24 21:41         ` Jan Djärv
2008-11-24 21:41         ` Jan Djärv
2008-12-18 18:50     ` Jan Djärv
2008-12-18 20:46       ` Stephen Berman
2008-12-19  7:38         ` Jan D.
2008-12-19  7:38         ` Jan D.
2008-12-18 20:46       ` Stephen Berman
2009-01-17 20:24         ` Stephen Berman
2009-01-17 20:24         ` Stephen Berman
2009-03-01 17:43           ` Stephen Berman
2009-03-01 17:43           ` Stephen Berman [this message]
2009-03-02  7:01             ` Jan D.
2009-03-02  7:01             ` Jan D.
2009-03-02  8:30               ` Stephen Berman
2009-03-14 15:12                 ` Jan Djärv
2009-03-14 15:12                 ` Jan Djärv
2008-12-18 18:50     ` Jan Djärv
2008-11-24  0:10   ` Stephen Berman
2008-11-23 11:01 ` Jan Djärv
2008-11-23 11:02 ` bug#1405: " Jan Djärv
2008-11-23 11:02 ` Jan Djärv
  -- strict thread matches above, loose matches on Subject: below --
2008-11-22 21:38 bug#1405: " Chong Yidong
2008-11-22 23:08 ` Stephen Berman
2008-11-22 23:08 ` Stephen Berman

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=878wnpkuku.fsf@escher.local.home \
    --to=stephen.berman@gmx.net \
    --cc=1405@emacsbugs.donarmstrong.com \
    --cc=cyd@stupidchicken.com \
    --cc=emacs-devel@gnu.org \
    --cc=jan.h.d@swipnet.se \
    /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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

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.