> Do you mean that you have two applications (ie: gedit and
      gcalculator) and you want to know when one of the windows get the
      focus?
Yes. I'm talking about my process(X) that can read ATK windows of all processes 
A,B,C,...N
Generally, cross processing ATK with no GtkPlug. Is this possible?

I guess it's possible, since ATK based tools don't have to be plugged to other 
applications.
E.G. Orca reader can read ATK windows of other processes.
When I tried to listen to global listener, only in-process windows are hooked.

Hope I've bean more clear now.

Tal

Date: Sat, 6 Oct 2012 16:16:26 +0200
From: apinhe...@igalia.com
To: gnome-accessibility-list@gnome.org
Subject: Re: Atk focus change capture fail. Why?


  
    
  
  
    What do you mean of "how to get focus
      changes of all windows, not just in the same process"?

      

      Do you mean that you have two applications (ie: gedit and
      gcalculator) and you want to know when one of the windows get the
      focus?

      

      BR

      On 10/04/2012 11:18 AM, Tal Hadad wrote:

    
    
      
      
        I found the problem I had:

        The windows I showed up are blank windows. If I added them some
        widgets they work fine.

        Also, I can't find in Google how to get focus change of all
        windows, not just in the same process.

        Is this possible?

        

        Thanks

        Tal

        

        
          Date: Thu, 4 Oct 2012 11:04:58 +0200

          From: apinhe...@igalia.com

          To: gnome-accessibility-list@gnome.org

          Subject: Re: Atk focus change capture fail. Why?

          

          That code (although I didn't
            test it), seems fine, and should work if you are using a
            recent gtk version. If not, that will only work if
            accessibility is enabled.

            

            Anyway, FWIW, we plan to deprecate those methods at some
            moment of the future:

            https://bugzilla.gnome.org/show_bug.cgi?id=649575#c4

            

            If you want to track when the focus change, you can also add
            a global event, and filter state-change:focus events.

            

            BR

            

            On 10/04/2012 12:42 AM, Tal Hadad wrote:

          
          
            
             I tried to make my first steps in ATK, but I
              can't understand what I'm doing wrong.

              Here is my Vala code:

              using GLib;

              using Atk;

              using Gtk;

              

              void _my_focus_tracker (Atk.Object object) {

                  stdout.printf ("Tracked!\n");

              }

              

              int main (string[] args) {

                  Gtk.init (ref args);

                  Util.add_focus_tracker (_my_focus_tracker);

                  

                  Gtk.Window window1 = new Gtk.Window ();    

                  window1.show ();

                  

                  Gtk.Window window2 = new Gtk.Window ();    

                  window2.show ();

                  

                  Gtk.main ();

                  

                  return 0;

              }

              

              add_docus_tracker doesn't call _my_focus_tracker when
              focus get changed.

              I know that most of you may not know Vala, so here is part
              of

              the C generated/equated code:

              void _my_focus_tracker (AtkObject* object) {

                  FILE* _tmp0_;

                  g_return_if_fail (object != NULL);

                  _tmp0_ = stdout;

                  fprintf (_tmp0_, "Tracked!\n");

              }

              

              gint _vala_main (gchar** args, int args_length1) {

                  gint result = 0;

                  GtkWindow* _tmp0_;

                  GtkWindow* _tmp1_;

                  GtkWindow* window1;

                  GtkWindow* _tmp2_;

                  GtkWindow* _tmp3_;

                  GtkWindow* window2;

                  gtk_init (&args_length1, &args);

                  atk_add_focus_tracker
              (_my_focus_tracker_atk_event_listener);

                  _tmp0_ = (GtkWindow*) gtk_window_new
              (GTK_WINDOW_TOPLEVEL);

                  _tmp1_ = g_object_ref_sink (_tmp0_);

                  window1 = _tmp1_;

                  gtk_widget_show ((GtkWidget*) window1);

                  _tmp2_ = (GtkWindow*) gtk_window_new
              (GTK_WINDOW_TOPLEVEL);

                  _tmp3_ = g_object_ref_sink (_tmp2_);

                  window2 = _tmp3_;

                  gtk_widget_show ((GtkWidget*) window2);

                  gtk_main ();

                  result = 0;

                  _g_object_unref0 (window2);

                  _g_object_unref0 (window1);

                  return result;

              }

              

              int main (int argc, char ** argv) {

                  g_type_init ();

                  return _vala_main (argv, argc);

              }

              

              For some reason, even when GLib main loop is running, no
              focus change detection between the two windows.

              Have I miss something? I think I haven't initialize
              something or forgot to active watcher...

              

              Hope for your reply

              Tal

            
            

            
            

            _______________________________________________
gnome-accessibility-list mailing list
gnome-accessibility-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gnome-accessibility-list

          
          

          

          -- 
Alejandro Piñeiro Iglesias
          

          _______________________________________________
          gnome-accessibility-list mailing list
          gnome-accessibility-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gnome-accessibility-list
      
      

      
      

      _______________________________________________
gnome-accessibility-list mailing list
gnome-accessibility-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gnome-accessibility-list

    
    

    

    -- 
Alejandro Piñeiro Iglesias
  


_______________________________________________
gnome-accessibility-list mailing list
gnome-accessibility-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gnome-accessibility-list                
                          
_______________________________________________
gnome-accessibility-list mailing list
gnome-accessibility-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gnome-accessibility-list

Reply via email to