[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#1405: detached GTK+ tool bar
From: |
Stephen Berman |
Subject: |
bug#1405: detached GTK+ tool bar |
Date: |
Sun, 01 Mar 2009 18:43:13 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.90 (gnu/linux) |
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 ----
- bug#1405: detached GTK+ tool bar,
Stephen Berman <=