XEMBED: Preventing focus loops

Andreas Aardal Hanssen xdg at andreas.hanssen.name
Thu Aug 21 16:39:40 EEST 2003


Owen,

On Thu, 21 Aug 2003, Owen Taylor wrote:
>My proposed solution to this is to define the currently unused data1
>of the XEMBED_FOCUS_IN, XEMBED_FOCUS_PREV and XEMBED_FOCUS next
>messages as a flags field, with currently one flag defined:
>#define XEMBED_FOCUS_WRAPAROUND         (1 << 0)
>When sending one of these messages, the flag is set as follows:
>(...)
>All other bits in the field are unused and must be set to zero.
>Notes about the proposal:
> * The only difficult thing about implementing this proposal
>   is detecting when XEMBED_FOCUS_NEXT causes a wrap-around
>   at the toplevel. It required some hackiness to implement
>   in GTK+. I think most toolkits will be similar - a bit
>   hacky to do but possible.

I second this suggestion. Implementation of this feature in the current
work on updated XEmbed support in Qt is trivial. I'm pleased to see a
simpler solution to this problem than the serial number / response message
sketch in the issues section.

> * I didn't up the protocol version because it is a highly
>   compatible addition - there is nothing you would do
>   differently if you knew that the other side didn't
>   understand XEMBED_FOCUS_WRAPAROUND.

I agree in the sense that this suggestion solves a "bug" in the original
specificaion (although it was mentioned in issues in 0.5). However keeping
the version number usually suggests there are no changes.

You may want to add a revision number.

Regards, Andreas

-- 
Andreas Aardal Hanssen





More information about the xdg mailing list