<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>110</bug_id>
          
          <creation_ts>2010-07-16 04:46:37 +0000</creation_ts>
          <short_desc>Review GTK+ on VGA</short_desc>
          <delta_ts>2017-08-08 13:34:08 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>6</classification_id>
          <classification>Yocto Project Subprojects</classification>
          <product>Sato</product>
          <component>sato</component>
          <version>1.0</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>OBSOLETE</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Low</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>Future</target_milestone>
          
          <blocked>1615</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Joshua Lock - Disabled">josh</reporter>
          <assigned_to name="Jussi Kukkonen">jku</assigned_to>
          <cc>bluelightning</cc>
    
    <cc>jessica.zhang</cc>
    
    <cc>josh</cc>
    
    <cc>julie.n.fleischer</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>ross.burton</cc>
    
    <cc>sgw</cc>
    
    <cc>shane.wang</cc>
    
    <cc>song.liu</cc>
    
    <cc>Xiaofeng.yan</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>8993</commentid>
    <comment_count>0</comment_count>
    <who name="Joshua Lock - Disabled">josh</who>
    <bug_when>2010-07-16 04:46:37 +0000</bug_when>
    <thetext>We need to merge patches to Gtk+&apos;s file chooser for small screen optimisation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16895</commentid>
    <comment_count>1</comment_count>
    <who name="Joshua Lock - Disabled">josh</who>
    <bug_when>2011-10-18 10:22:27 +0000</bug_when>
    <thetext>We should be able to do this more cleanly, and therefore in a more easily maintainable way, by creating our own implementation of the Gtk+ File Chooser interface: http://developer.gnome.org/gtk/2.24/GtkFileChooser.html

The hardest part will likely be working through the original patch to determine what changes are being made to the File Chooser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17113</commentid>
    <comment_count>2</comment_count>
    <who name="Joshua Lock - Disabled">josh</who>
    <bug_when>2011-11-04 11:07:03 +0000</bug_when>
    <thetext>The Gtk+ 2.12.7 recipe has some patches which change the filechooser to work better on the target devices. More touch friendly, etc.

We want these, or similar, changes ported to modern Gtk+ implementations.

We need to first go through the filechooser patches in the gtk+ 2.12.7 directory[1] and figure out what they are actually doing and then create a FileChooser implementation which implements these changes.

Finally we need to set this FileChooser implementation as the default.

My preliminary research lead me to believe we can achieve all of this primarily through our own implementation of the filechooser interface and with as few patches to core gtk+ files as possible meaning this should be easier to maintain going forwards.

1. http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-gnome/gtk+/gtk+-2.12.7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17430</commentid>
    <comment_count>3</comment_count>
    <who name="Xiaofeng Yan">Xiaofeng.yan</who>
    <bug_when>2011-11-30 00:42:51 +0000</bug_when>
    <thetext>(In reply to comment #2)
&gt; The Gtk+ 2.12.7 recipe has some patches which change the filechooser to work
&gt; better on the target devices. More touch friendly, etc.
&gt; 
&gt; We want these, or similar, changes ported to modern Gtk+ implementations.
&gt; 
&gt; We need to first go through the filechooser patches in the gtk+ 2.12.7
&gt; directory[1] and figure out what they are actually doing and then create a
&gt; FileChooser implementation which implements these changes.
&gt; 
&gt; Finally we need to set this FileChooser implementation as the default.
&gt; 
&gt; My preliminary research lead me to believe we can achieve all of this primarily
&gt; through our own implementation of the filechooser interface and with as few
&gt; patches to core gtk+ files as possible meaning this should be easier to
&gt; maintain going forwards.
&gt; 
&gt; 1.
&gt; http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-gnome/gtk+/gtk+-2.12.7

Hi Joshua Lock,

I doesn&apos;t have experience to code with gtk before. Do you have much experience on gtk? It is difficult for me to implement these changes in the newest version. It could take much time to implement these function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17441</commentid>
    <comment_count>4</comment_count>
    <who name="Joshua Lock - Disabled">josh</who>
    <bug_when>2011-11-30 16:55:46 +0000</bug_when>
    <thetext>Hi Xiaofeng,

I have some experience with Gtk+. I think it will take some time to implement this patch, regardless of experience, as a lot of the work revolves around determining the effects of the existing patch which isn&apos;t at all documented and is ~9.5KLOC.

http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-gnome/gtk+/gtk+-2.12.7/filechooser-default.patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17491</commentid>
    <comment_count>5</comment_count>
      <attachid>286</attachid>
    <who name="Xiaofeng Yan">Xiaofeng.yan</who>
    <bug_when>2011-12-05 01:16:07 +0000</bug_when>
    <thetext>Created attachment 286
a test program for File Chooser</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17492</commentid>
    <comment_count>6</comment_count>
    <who name="Xiaofeng Yan">Xiaofeng.yan</who>
    <bug_when>2011-12-05 01:16:50 +0000</bug_when>
    <thetext>(In reply to comment #4)
&gt; Hi Xiaofeng,
&gt; 
&gt; I have some experience with Gtk+. I think it will take some time to implement
&gt; this patch, regardless of experience, as a lot of the work revolves around
&gt; determining the effects of the existing patch which isn&apos;t at all documented and
&gt; is ~9.5KLOC.
&gt; 
&gt; http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-gnome/gtk+/gtk+-2.12.7/filechooser-default.patch

Hi Joshua Lock,

I want to build two images, one based on gtk+ 2.12.7, the other based on 2.24.8

I will make a comparison for them and get a result. the patch is better than no patch in 2.24.8.  It need a test program to compare them. Please check the attachment. this is an example to test File Chooser. perhaps, you can give me better test program.

Do you have any suggestion about my method ? or it is not necessary. 

Thanks
Yan</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17497</commentid>
    <comment_count>7</comment_count>
    <who name="Joshua Lock - Disabled">josh</who>
    <bug_when>2011-12-05 11:42:56 +0000</bug_when>
    <thetext>(In reply to comment #6)

Yan,

&gt; I want to build two images, one based on gtk+ 2.12.7, the other based on 2.24.8
&gt; 
&gt; I will make a comparison for them and get a result. 

This seems like a reasonable step to take, whilst you&apos;ll be hard pressed to get specific details of the implementation differences the visual clue should at least help you determine which parts of the FileChooser patch to focus on.

&gt; perhaps, you can give me better test program.

There are several Gtk+ programs shipped with a Sato image, I&apos;d probably have just used one of those such as the file manager pcmanfm or the text editor leafpad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17508</commentid>
    <comment_count>8</comment_count>
    <who name="Xiaofeng Yan">Xiaofeng.yan</who>
    <bug_when>2011-12-07 04:27:29 +0000</bug_when>
    <thetext>Hi Joshua,

Do you know why the patches for File Chooser in 2.12 isn&apos;t accepted by gtk&apos;s official community?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17521</commentid>
    <comment_count>9</comment_count>
    <who name="Joshua Lock - Disabled">josh</who>
    <bug_when>2011-12-07 10:08:17 +0000</bug_when>
    <thetext>(In reply to comment #8)
&gt; Hi Joshua,
&gt; 
&gt; Do you know why the patches for File Chooser in 2.12 isn&apos;t accepted by gtk&apos;s
&gt; official community?

I don&apos;t know for certain but I imagine that it&apos;s because the patches are form-factor specific and overwrite the default chooser. The new FileChooser interface mentioned in comment 1 is newer than the patch but enables people to providing alternative FileChooser implementations without having to modify the stock Chooser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17762</commentid>
    <comment_count>10</comment_count>
    <who name="Jessica">jessica.zhang</who>
    <bug_when>2011-12-20 11:41:06 +0000</bug_when>
    <thetext>per today&apos;s bug triage, it&apos;s probably a time for RP, Josh or Paul to own the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17764</commentid>
    <comment_count>11</comment_count>
    <who name="Joshua Lock - Disabled">josh</who>
    <bug_when>2011-12-20 11:43:21 +0000</bug_when>
    <thetext>I think we&apos;d mostly agree that this is a non-trivial amount of work so my first question would be whether we are sure this issue is of value to the project?

If so I&apos;m happy to own this bug and see it scheduled and implemented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17766</commentid>
    <comment_count>12</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2011-12-20 13:14:33 +0000</bug_when>
    <thetext>I think having the core reference UI fit on VGA screens is important. Having all the example customisations to do this present is therefore a good idea. Whilst this task is certainly not trivial, I don&apos;t believe it should take that long for someone with the relevant experience/background and it would be worthwhile to do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18379</commentid>
    <comment_count>13</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2012-01-26 12:39:54 +0000</bug_when>
    <thetext>*** Bug 1615 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38558</commentid>
    <comment_count>14</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2013-11-05 16:48:04 +0000</bug_when>
    <thetext>Generalising this to all of GTK+ on VGA screens.  The move to GTK+ 3 is likely to improve and hinder this in different ways.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39036</commentid>
    <comment_count>15</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2013-11-22 16:29:21 +0000</bug_when>
    <thetext>Ross: You don&apos;t get out the bug quiet that easily ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39037</commentid>
    <comment_count>16</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2013-11-22 16:30:00 +0000</bug_when>
    <thetext>Foiled again!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58938</commentid>
    <comment_count>17</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2016-02-11 23:27:26 +0000</bug_when>
    <thetext>Jussi can have was is likely the lowest open bug number as he&apos;s been busy rewriting Sato.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75720</commentid>
    <comment_count>18</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2017-08-08 13:34:08 +0000</bug_when>
    <thetext>VGA isn&apos;t relevant in any meaningful way now, even in embedded.  Closing wontfix.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>286</attachid>
            <date>2011-12-05 01:16:07 +0000</date>
            <delta_ts>2011-12-05 01:16:07 +0000</delta_ts>
            <desc>a test program for File Chooser</desc>
            <filename>gtkfilechooser.c.no</filename>
            <type>application/octet-stream</type>
            <size>2579</size>
            <attacher name="Xiaofeng Yan">Xiaofeng.yan</attacher>
            
              <data encoding="base64">I2luY2x1ZGU8Z3RrL2d0ay5oPgoKI2RlZmluZSBfKGEpIGEKCmdib29sZWFuIG9uX3dpbl9kZWxl
dGUoR3RrV2lkZ2V0ICp3aWRnZXQsCiAgICAgICAgICAgICAgICAgICAgICBHZGtFdmVudCAgKmV2
ZW50LAogICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgICB1c2VyX2RhdGEpCnsKCiAgICBn
dGtfbWFpbl9xdWl0KCk7CiAgICByZXR1cm4gRkFMU0U7Cn0KCnZvaWQgb25fYnV0dG9uKEd0a0J1
dHRvbiAqYnV0dG9uLEd0a0VudHJ5ICplbnRyeSkKewoKICAgIEd0a1dpZGdldCAqZGlhbG9nOwoK
ICAgIGRpYWxvZyA9IGd0a19maWxlX2Nob29zZXJfZGlhbG9nX25ldyAoIm9wZW4iLAogICAgICAg
ICAgICAgICAgICAgICAgTlVMTCwvL2d0a193aWRnZXRfZ2V0X3RvcGxldmVsKEdUS19XSURHRVQo
YnV0dG9uKSksCiAgICAgICAgICAgICAgICAgICAgICBHVEtfRklMRV9DSE9PU0VSX0FDVElPTl9T
QVZFLAogICAgICAgICAgICAgICAgICAgICAgR1RLX1NUT0NLX0NBTkNFTCwgR1RLX1JFU1BPTlNF
X0NBTkNFTCwKICAgICAgICAgICAgICAgICAgICAgIEdUS19TVE9DS19PUEVOLCBHVEtfUkVTUE9O
U0VfQUNDRVBULAogICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CgogICAgZ3RrX2ZpbGVfZmls
dGVyX3NldF9uYW1lIChmaWx0ZXIsIF8oIkFsbCBmaWxlcyIpKTsKICAgIGd0a19maWxlX2ZpbHRl
cl9hZGRfcGF0dGVybihmaWx0ZXIsIioiKTsKICAgIGd0a19maWxlX2Nob29zZXJfYWRkX2ZpbHRl
ciAoR1RLX0ZJTEVfQ0hPT1NFUiAoZGlhbG9nKSxmaWx0ZXIpOwoKICAgIGZpbHRlciA9IGd0a19m
aWxlX2ZpbHRlcl9uZXcoKTsKICAgIGd0a19maWxlX2ZpbHRlcl9zZXRfbmFtZSAoZmlsdGVyLCBf
KCJUeHQgdGV4dCBmaWxlcyIpKTsKICAgIGd0a19maWxlX2ZpbHRlcl9hZGRfcGF0dGVybihmaWx0
ZXIsIiouW1R0XVtYeF1bVHRdIik7CiAgICBndGtfZmlsZV9jaG9vc2VyX2FkZF9maWx0ZXIgKEdU
S19GSUxFX0NIT09TRVIgKGRpYWxvZyksZmlsdGVyKTsKCiAgICBmaWx0ZXIgPSBndGtfZmlsZV9m
aWx0ZXJfbmV3KCk7CiAgICBndGtfZmlsZV9maWx0ZXJfc2V0X25hbWUgKGZpbHRlciwgXygicm0v
cm12YiBmaWxlcyIpKTsKLy8gICAgZ3RrX2ZpbGVfZmlsdGVyX2FkZF9wYXR0ZXJuKGZpbHRlciwi
Ki5bclJdW21NXSIpOwovLyAgICBndGtfZmlsZV9maWx0ZXJfYWRkX3BhdHRlcm4oZmlsdGVyLCIq
LltyUl1bbU1dW3Z2XVtiQl0iKTsKICAgIGd0a19maWxlX2ZpbHRlcl9hZGRfbWltZV90eXBlIChm
aWx0ZXIsImFwcGxpY2F0aW9uL3ZuZC5ybi1yZWFsbWVkaWEiKTsKICAgIGd0a19maWxlX2Nob29z
ZXJfYWRkX2ZpbHRlciAoR1RLX0ZJTEVfQ0hPT1NFUiAoZGlhbG9nKSxmaWx0ZXIpOwoKICAgIGd0
a19maWxlX2Nob29zZXJfc2V0X2xvY2FsX29ubHkgKEdUS19GSUxFX0NIT09TRVIgKGRpYWxvZyks
IEZBTFNFKTsKCiAgICBndGtfZmlsZV9jaG9vc2VyX3NldF9jdXJyZW50X2ZvbGRlciAoR1RLX0ZJ
TEVfQ0hPT1NFUiAoZGlhbG9nKSwiL2V0YyIpOwoKICAgIGd0a193aW5kb3dfc2V0X3Bvc2l0aW9u
KEdUS19XSU5ET1coZGlhbG9nKSxHVEtfV0lOX1BPU19DRU5URVJfT05fUEFSRU5UKTsKCiAgICBp
ZiAoZ3RrX2RpYWxvZ19ydW4gKEdUS19ESUFMT0cgKGRpYWxvZykpID09IEdUS19SRVNQT05TRV9B
Q0NFUFQpewogICAgICAgIGNoYXIgKmZpbGVuYW1lOwogICAgICAgIGZpbGVuYW1lID0gZ3RrX2Zp
bGVfY2hvb3Nlcl9nZXRfZmlsZW5hbWUgKEdUS19GSUxFX0NIT09TRVIgKGRpYWxvZykpOwogICAg
ICAgIGd0a19lbnRyeV9zZXRfdGV4dChlbnRyeSxmaWxlbmFtZSk7CiAgICAgICAgZ19mcmVlKGZp
bGVuYW1lKTsKICAgIH0KICAgIGd0a193aWRnZXRfZGVzdHJveShkaWFsb2cpOwp9CgppbnQgbWFp
bihpbnQgYXJnYyxjaGFyICoqYXJndikKewogICAgZ3RrX2luaXQoJmFyZ2MsJmFyZ3YpOwogICAg
R3RrV2lkZ2V0ICp3aW47CiAgICBHdGtXaWRnZXQgKmVudHJ5OwogICAgR3RrV2lkZ2V0ICpidXR0
b247CiAgICBHdGtXaWRnZXQgKmhib3g7CgogICAgd2luID0gZ3RrX3dpbmRvd19uZXcoR1RLX1dJ
TkRPV19UT1BMRVZFTCk7CgogICAgaGJveCA9IGd0a19oYm94X25ldyhGQUxTRSwwKTsKCiAgICBl
bnRyeSA9IGd0a19lbnRyeV9uZXcoKTsKCiAgICBidXR0b24gPSBndGtfYnV0dG9uX25ld193aXRo
X2xhYmVsICgib3BlbiIpOwoKICAgIGd0a19ib3hfcGFja19zdGFydChHVEtfQk9YKGhib3gpLGVu
dHJ5LFRSVUUsVFJVRSwwKTsKICAgIGd0a19ib3hfcGFja19zdGFydChHVEtfQk9YKGhib3gpLGJ1
dHRvbixUUlVFLFRSVUUsMCk7CgogICAgZ3RrX2NvbnRhaW5lcl9hZGQoR1RLX0NPTlRBSU5FUih3
aW4pLGhib3gpOwoKICAgIGdfc2lnbmFsX2Nvbm5lY3QoYnV0dG9uLCJjbGlja2VkIixHX0NBTExC
QUNLKG9uX2J1dHRvbiksZW50cnkpOwoKICAgIGdfc2lnbmFsX2Nvbm5lY3Qod2luLCJkZWxldGUt
ZXZlbnQiLEdfQ0FMTEJBQ0sob25fd2luX2RlbGV0ZSksTlVMTCk7CgogICAgZ3RrX3dpZGdldF9z
aG93X2FsbCh3aW4pOwoKICAgIGd0a19tYWluKCk7Ly8vc3RhcnQgbWFpbiBldmVudCBsb29wCiAg
ICByZXR1cm4gMDsKfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>