<br><br><div class="gmail_quote">On Thu, Jan 24, 2013 at 5:50 PM, Walter Bender <span dir="ltr"><<a href="mailto:walter.bender@gmail.com" target="_blank">walter.bender@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Thu, Jan 24, 2013 at 3:22 AM, Ajay Garg <<a href="mailto:ajay@activitycentral.com">ajay@activitycentral.com</a>> wrote:<br>
> Thanks Walter and Gary for your replies.<br>
><br>
> Well, what I am trying to achieve is, is just a simple and consistent<br>
> (fixed) behaviour across every activity - make the window-size smaller.<br>
> This serves two advantages ::<br>
><br>
>                * Works everywhere :)<br>
>                * Is consistent across everywhere :)<br>
><br>
<br>
</div>I applaud these goals.<br></blockquote><div><br>Thanks :)<br><br><br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class="im"><br>
> Please find attached a sample screenshot of the "Speak" activity; the window<br>
> has been resized to 0.7 of the original size (the screenshot doesn't show a<br>
> keyboard yet,  as it was done on  sugar-build).<br>
<br>
</div>Question: Do all activities behave properly when the screen is scaled<br>
that way? (I don't know that all activities are paying attention to<br>
resizing events. One quick way to check is to look at what happens<br>
when activities are rotated.)<br></blockquote><div><br>I will be receiving my XO-4 Touch in a couple of days; will answer  this question then, after testing it in real-time :)<br><br><br><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<div class="HOEnZb"><div class="h5"><br>
><br>
><br>
> If the above seems ok, then all that is needed is a way to figure out<br>
> instances when the OSK appears, and when it disappears, so that the window<br>
> resizing can be done at those strategic points.<br>
><br>
> (<br>
>     P.S. :: I see that exporting "GTK_IM_MODULE=Maliit" is all that is<br>
> required to start using the Maliit OSK, but I could not find any<br>
>               way to hack onto every appearence/disappearance of the OSK.<br>
> )<br>
><br>
><br>
><br>
> On Wed, Jan 23, 2013 at 9:32 PM, Gary Martin <<a href="mailto:garycmartin@googlemail.com">garycmartin@googlemail.com</a>><br>
> wrote:<br>
>><br>
>> On 23 Jan 2013, at 15:29, Walter Bender <<a href="mailto:walter.bender@gmail.com">walter.bender@gmail.com</a>> wrote:<br>
>><br>
>> > On Wed, Jan 23, 2013 at 1:20 AM, Ajay Garg <<a href="mailto:ajay@activitycentral.com">ajay@activitycentral.com</a>><br>
>> > wrote:<br>
>> >> Hi all.<br>
>> >><br>
>> >> I wish to fix the bug, where some activities (Chat, Terminal, Speak for<br>
>> >> instance) are rendered unusable in the ebook-mode, due to the OSK<br>
>> >> covering<br>
>> >> the area of text-input.<br>
>> >> I have figured out a generic working solution for this - the idea is to<br>
>> >> minimize the activity windows when the OSK appears, and move back to<br>
>> >> the<br>
>> >> normal size when the OSK disappears.<br>
>> ><br>
>> > I thought we had a different approach under development: to scroll the<br>
>> > window up in the case of the text view being occluded by the OSK?<br>
>><br>
>> Yes, there are patches in GTK3 and Sugar for this, though with some issues<br>
>> still needing worked through. One activity that we managed to push hard to<br>
>> get polished was Write, it needed to be a special case as it doesn't use<br>
>> normal gtk widgets. My (rough) understanding of the implementation is that<br>
>> GTK first looks for a scrolled view and tries to scroll it so that the<br>
>> cursor/focus rect is kept in view [1], if no scrolled view is found it<br>
>> scrolls the canvas [2].<br>
>><br>
>> [1] the Write behaviour here is not ideal as the abiword widget<br>
>> implementation for the text area didn't allow for extra padding at the<br>
>> bottom of the view, so the text being edited is hard up next to the OSK<br>
>> rather than with some extra space so the text selection handles stay<br>
>> visible.<br>
>><br>
>> [2] I think there were patches in GTK3 Sugar so that the activity canvas<br>
>> area was automatically placed in a scroll view, so the toolbars are<br>
>> guaranteed to stay in view, but not sure if this landed.<br>
>><br>
>> > This<br>
>> > should be doable for activities that have scrolling windows, such as<br>
>> > terminal and chat. Speak, which doesn't scroll could be refactored to<br>
>> > put the textview on the top instead of the bottom of the screen. (I<br>
>> > suspect that whatever solution we have will involve some intervention<br>
>> > in some activities.)<br>
>><br>
>> Yes some intervention in activities will still be needed, and the first<br>
>> thing to do if you want any of this auto scrolling support is make sure your<br>
>> activity is ported to GTK3! ;) FOr activities like Speak I'd posted mockup<br>
>> images to a previous mail list thread showing how moving the text input area<br>
>> to the top of the UI would work well (the eyes will just peek over the top<br>
>> of the keyboard and the OSK can be hidden when the text is submitted for<br>
>> speaking).<br>
>><br>
>> >><br>
>> >> I have tested the re-sizing the windows; however, to make the fix  work<br>
>> >> everywhere, I was thinking of the following algorithm ::<br>
>> ><br>
>> > What does resizing the window do? What other activities have you tested<br>
>> > it on?<br>
>><br>
>> Some activities will become quite unusable if auto shrunk, scrolling I<br>
>> think is better, we're lucky if the original developer planned for landscape<br>
>> and portrait aspect ratios...<br>
>><br>
>> Regards,<br>
>> --Gary<br>
>><br>
>> ><br>
>> >><br>
>> >> a)<br>
>> >> Just before/after the OSK appears, make the current window smaller.<br>
>> >><br>
>> >> b)<br>
>> >> Just after/before the OSK disappears, revert the current  window to its<br>
>> >> original size (if not already).<br>
>> >><br>
>> >><br>
>> >> This requires a way to know when and how the appeareance/disappearance<br>
>> >> of<br>
>> >> the OSK is triggered.<br>
>> >><br>
>> >> How can this be done? I am sure there must be some gobject-signal for<br>
>> >> this -<br>
>> >> I just can't seem to figure it  out by manually browsing the code,<br>
>> >> since I<br>
>> >> don't personally  have a  XO4-Touch with me :-(<br>
>> >><br>
>> >><br>
>> >><br>
>> >> Regards,<br>
>> >><br>
>> >> Ajay Garg<br>
>> >> Dextrose Developer<br>
>> >> Activity Central: <a href="http://activitycentral.com" target="_blank">http://activitycentral.com</a><br>
>> >> _______________________________________________<br>
>> >> Sugar-devel mailing list<br>
>> >> <a href="mailto:Sugar-devel@lists.sugarlabs.org">Sugar-devel@lists.sugarlabs.org</a><br>
>> >> <a href="http://lists.sugarlabs.org/listinfo/sugar-devel" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
>> >><br>
>> ><br>
>> > regards.<br>
>> ><br>
>> > -walter<br>
>> > --<br>
>> > Walter Bender<br>
>> > Sugar Labs<br>
>> > <a href="http://www.sugarlabs.org" target="_blank">http://www.sugarlabs.org</a><br>
>> > _______________________________________________<br>
>> > Devel mailing list<br>
>> > <a href="mailto:Devel@lists.laptop.org">Devel@lists.laptop.org</a><br>
>> > <a href="http://lists.laptop.org/listinfo/devel" target="_blank">http://lists.laptop.org/listinfo/devel</a><br>
>><br>
>> _______________________________________________<br>
>> Devel mailing list<br>
>> <a href="mailto:Devel@lists.laptop.org">Devel@lists.laptop.org</a><br>
>> <a href="http://lists.laptop.org/listinfo/devel" target="_blank">http://lists.laptop.org/listinfo/devel</a><br>
><br>
><br>
><br></div></div></blockquote><div><br><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="HOEnZb"><div class="h5">
><br>
> --<br>
> Regards,<br>
><br>
> Ajay Garg<br>
> Dextrose Developer<br>
> Activity Central: <a href="http://activitycentral.com" target="_blank">http://activitycentral.com</a><br>
<br>
<br>
<br>
--<br>
Walter Bender<br>
Sugar Labs<br>
<a href="http://www.sugarlabs.org" target="_blank">http://www.sugarlabs.org</a><br>
_______________________________________________<br>
Devel mailing list<br>
<a href="mailto:Devel@lists.laptop.org">Devel@lists.laptop.org</a><br>
<a href="http://lists.laptop.org/listinfo/devel" target="_blank">http://lists.laptop.org/listinfo/devel</a><br>
</div></div></blockquote></div><br><br clear="all"><br>Just figured out one thing via Nitika's XO-4-Touch (thanks to Nitika for bearing my brunt of the
 testing-questions !!), that pressing all 4 game-keys at once, does 
toggle the appearance of the OSK !!<br>
<br>
So, I guess, we DO have a point, wherein we can hack "resizing" of the window. <br><br>
So, now I have another question :: <br>Where is the code for "handling game keys" handled (as far as appearance and disappearance of the OSK is concerned) ? <br>In Firmware? In Sugar? Elsewhere?<br>
<br><br><br><font face="arial, sans-serif">Regards,<br><br>Ajay Garg</font><br style="font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><font face="arial, sans-serif">Dextrose Developer</font><br style="font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<span style="font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">Activity Central: </span><a href="http://activitycentral.com/" style="font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)" target="_blank">http://activitycentral.com</a>