Re: 3.2: gjs/seed

2011-04-22 Thread Tomeu Vizoso
On Thu, Apr 21, 2011 at 23:59, Jasper St. Pierre jstpie...@mecheye.net wrote:
 Right now in gjs, you do this:

 imports.gi.versions.Gtk = '3.0';

 I assume there's nothing stopping Python from using the same technique, and
 I know they've talked about it before.

We have basically the same thing:

gi.require_version('Gtk', '3.0')

Regards,

Tomeu

 On Thu, Apr 21, 2011 at 5:57 PM, Josselin Mouette j...@debian.org wrote:

 Le mercredi 20 avril 2011 à 19:12 -0400, Colin Walters a écrit :
  On the other side of the coin though, I think we largely failed to
  make JavaScript a compelling way to write apps.  The language is only
  a part of the question, and it's really not a large one.  We need to
  focus more on a build/deploy story, and less on /usr/bin/gjs.  By
  build I mean we really shouldn't be leaving it up to app authors to
  figure out how to use Automake with gjs/seed and to do
  imports.gi.Gtk.  Deploy is another story.

 If you are putting this on the table, it might not be too late to
 rethink the way modules are imported in JS applications (and this holds
 for Python applications, too).

 When you use imports.gi.Gtk, you don’t even know whether you’ll be
 getting GTK+ 2.x or GTK+ 3.x. This is horribly wrong. Just as wrong as
 most modules in Python, the lack of versioning leads to horrible
 breakage at runtime when there are API mismatchs. This is a ball and
 chain we’ve been pulling since the pygtk 1.x vs. pygtk 2.x times, and it
 is still here with GI.

 There should be a way to specify the API version required when you
 import the module, and it should even be mandatory.

 --
  .''`.      Josselin Mouette
 : :' :
 `. `'  “If you behave this way because you are blackmailed by someone,
  `-    […] I will see what I can do for you.”  -- Jörg Schilling


 ___
 desktop-devel-list mailing list
 desktop-devel-list@gnome.org
 http://mail.gnome.org/mailman/listinfo/desktop-devel-list


 ___
 desktop-devel-list mailing list
 desktop-devel-list@gnome.org
 http://mail.gnome.org/mailman/listinfo/desktop-devel-list

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: 3.2: gjs/seed

2011-04-22 Thread Tomeu Vizoso
On Fri, Apr 22, 2011 at 00:19, Giovanni Campagna
scampa.giova...@gmail.com wrote:
 Il giorno mer, 20/04/2011 alle 19.12 -0400, Colin Walters ha scritto:
 Hi,

 So speaking as someone who was motivated to make writing GNOME apps
 easier, I'm not very happy with how things turned out with the mix of
 gjs/seed/python/introspection/gtk3.
 [...]

 But let me cut to the chase and say that I think we'd at least
 consider realigning on seed for 3.2 for gnome-shell (and by extension,
 mark gjs as deprecated at least in GNOME).

 [...]

 Even tougher would be unwinding the Spidermonkey let/const and
 generator usage inside gnome-shell, but we dug the hole, we can dig it
 out.

 I would say Eventually! One working JS engine instead of two piles of
 bugs!, if it wasn't for this.
 But removing let/const will be a lot of work, and will surely introduce
 bugs (as var has different semantics than let). We need to know as soon
 as possible if such move is needed for 3.2
 Also, there are missing parts both in GJS and in Seed, especially wrt
 GVariant and GDBus. I've made patches for GJS, I'd like know if I need
 to rewrite them for Seed. Same for array support, which is inconsistent
 for GJS and appears to be completely missing for Seed.


 That covers reasons 1,2 and 5.  As far as reason 3), they're not as
 active anymore (probably gjs basically works for them), and for 6) I
 think we need to change this anyways.  This leaves reason 4) which I
 admit is just a feeling.

 So - seed/gjs contributors - what do you think?

 One thing I'm not totally happy with is the organic growth in API in
 both seed and gjs.  seed for example added an os module with e.g.
 fork which I think is totally wrong; it's just broken to fork() a
 GNOME app, since it conflicts with threads, etc.  If we're going to do
 some unification, we should also prune a lot of cruft.  If there are
 bits missing from GNOME (like GIO is really missing both Console and
 Process classes), we need to add them.

 == Dynamic Languages in GNOME ==

 One thing that's worth addressing though (again) is the question do
 we need both Python and JavaScript?.  The uptake of both seed and gjs
 has been relatively low; lower than Python at least for scripting
 GNOME apps.  However, I think at least one the core reason for working
 on JavaScript remains that *we define the platform*.  Python comes
 with a vast API, a lot of it really old and crufty, but even more
 importantly, large parts of it are *wrong* to use in GNOME.

 JS also has some native API that is wrong to use in GNOME.
 Date.toLocaleFormat is one example (it often segfaults GJS). E4X is
 another big one. Even JSON is bad, if you want to talk to C libraries
 using JsonGlib. (And let's ignore the subtle differences between RegExp
 and GRegex).
 Basically, if you want a language that is fully GObject based, the only
 choice is Vala. Other languages all have some kind of standard library,
 that won't interoperate with GLib/GIO.

 For example, we don't want people to use Python's mostly-POSIX-like
 wrappers for IO, we want people to use GIO, so it doesn't block the
 mainloop.  We don't want people to use Python's webbrowser module,
 its multiprocessing module (which totally breaks things like X and
 DBus since it uses a bare fork()), etc.

 On the other side of the coin though, I think we largely failed to
 make JavaScript a compelling way to write apps.  The language is only
 a part of the question, and it's really not a large one.  We need to
 focus more on a build/deploy story, and less on /usr/bin/gjs.  By
 build I mean we really shouldn't be leaving it up to app authors to
 figure out how to use Automake with gjs/seed and to do
 imports.gi.Gtk.  Deploy is another story.

 The other reasons:
   * ecosystem: The industry adoption is reflected in all the work that
 goes into JIT compilers, as well as people simply learning the
 language
   * Better engine internals - the global interpreter lock in cPython
 really hurts it as far as a future in a multicore world

 Better implementations != Better engine internals. A PyTypeObject is
 definitely cleaner than a JSClass, with all its mess of prototype,
 constructor, parent objects and the like.
 (Which somehow explains why PyGObject, while being younger than GJS, has
 complete support for all introspection features).

Don't know much about JS internals, but in the case of PyGObject, the
reason for broader introspection support is that we had apps to port,
so we needed at least the same level of access to GNOME APIs as we had
with static bindings.

My understanding (please correct me if this is outdated or plainly
false) is that for existing usage of GJS such as gnome-shell, it's ok
to have to write stuff in C when a limitation is found in GJS's
introspection support.

Regards,

Tomeu
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Orca's external dependencies

2011-04-22 Thread Piñeiro

On 04/21/2011 03:24 PM, Super Bisquit wrote:

Since Orca is for the visually impaired, have you asked a blind person
to test out gnome3?


We didn't asked specifically to a blind person to test out gnome3, but 
in general, we asked any person interested in accessibility to test 
GNOME 3, provide feedback etc.


GNOME Accessibility team is working on an accessibility testing distro:

https://live.gnome.org/Accessibility/TestingDistro

The purpose of this distro is test the accessibility support on GNOME 3, 
and in the same way, provide updated packages in order to solve the 
issues that we found on this test.



Just a simple yes or no and not an explanation.
You can see the explanation that you didn't asked in my previous 
paragraph. As you wanted a simple yes or no: no.



I work with the Vinux project and would like to pass this information to them.


Please, if you do that, pass them the link to the testing distro. Any 
feedback is welcome.



On 4/21/11, Frederic Petersfpet...@gnome.org  wrote:

Hi Joanmarie,


Looking at the 2.91 External Dependencies list [1], I see neither Speech
Dispatcher nor OpenTTS. OpenTTS got approved for the prior cycle. [2]
But they've since re-merged (unforked?) with Speech Dispatcher. So
Do I need to propose Speech Dispatcher as an external dependency needed
by Orca, or can I assume that because OpenTTS got blessed, Speech
Dispatcher inherits that blessing and simply needs to be added to future
lists of dependencies?

Similarly, Orca has always depended upon BRLTTY [3] for refreshable
braille. Thus I was surprised to discover that BRLTTY was not listed as
a dependency. Distros seem to know to include it, but should BRLTTY be
something officially made an external dependency of GNOME?

Finally, if the answer to my question about BRLTTY is Yes, it should be
proposed/considered by the Release Team, then I'd like to toss out one
more for consideration: Liblouis. [4] Liblouis provides Orca users with
the braille translation tables needed for contracted/grade 2 braille.

We are moving away of the idea of approving/rejecting individual
modules and considering the features we want in GNOME. In that
direction we'd say that whatever is needed for Orca to do its work
is ok. Of course this calls for some common sense, to keep some
coherence in our stack, but in the specific case of Orca we are not
adding liblouis to our development platform, it just happens to be a
library that is used to provide Orca users an important feature.

But we want to have some guidelines, they are still to be discussed,
but the current proposal for modules developed outside of GNOME, and
with no consideration for our schedule, to require modules to depend
on released versions only.

Does this answer your question clearly enough?


 Fred
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list




--
API

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list