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

Reply via email to