[PATCH 18/18] text: Move input_panel interface to input-method

Jan Arne Petersen jpetersen at openismus.com
Thu Jan 17 05:24:29 PST 2013


On 16.01.2013 23:34, Weng Xuetian wrote:
> On Wednesday 16 January 2013 21:26:55,Jan Arne Petersen :
>> From: Jan Arne Petersen <jpetersen at openismus.com>
> So what's the plan for show input panel at the position of the current focused 
> cursor?

Input panel surfaces are introduced by this patch to allow adding
support for such features. I plan to add an
input_panel_surface::set_cursor_popup() request for that (or we could
add a follow_cursor item to the position enum and use ::set_toplevel).

> In that case it's more complicated, in all current implementation, by default 
> is shown at the bottom of the rect, with some offset. And if you take offset 
> into consideration, you will miss the part that in X we can know everything 
> about the screen, input method will want to keep the input panel in one screen 
> in multi screen settings.

The compositor should make sure that the popup is inside a screen (there
is already some code around which did that for popup surfaces and which
we could reuse for the use case of input panel popup surfaces).

> And some fancy implementation use a comic style popup, which have a pointer 
> points to the current position, http://wstaw.org/m/2012/08/31/gs-kimpanel.png 
> . While keep the input panel inside one screen, the pointer will still point 
> to the exact position of current cursor rect.

I would propose to add an input_panel_surface::cursor_position(x, y)
event (x and y relative to the input panel surface), so that input
methods can paint the arrow at the right position.

Jan Arne

-- 
Jan Arne Petersen
Openismus GmbH
http://www.openismus.com


More information about the wayland-devel mailing list