static SPIBoolean report_ordinary_key_event (const AccessibleKeystroke *stroke, void *user_data);
static void get_environment_vars (void);
-static int _festival_init ();
+static int _festival_init (void);
static void _festival_say (const char *text, const char *voice, SPIBoolean shutup);
static void _festival_write (const char *buff, int fd);
SPI_registerGlobalEventListener (text_listener, "object:text-changed");
SPI_registerGlobalEventListener (button_listener, "Gtk:GtkWidget:button-press-event");
SPI_registerGlobalEventListener (window_listener, "window:minimize");
+ SPI_registerGlobalEventListener (window_listener, "window:activate");
n_desktops = SPI_getDesktopCount ();
for (i=0; i<n_desktops; ++i)
report_window_event (const AccessibleEvent *event, void *user_data)
{
fprintf (stderr, "%s event received\n", event->type);
+ if (!strcmp (event->type, "window:activate"))
+ {
+ print_accessible_tree (event->source, "window");
+ }
}
void
long start, end;
char *word_text = AccessibleText_getTextAtOffset (text, (long) event->detail1, SPI_TEXT_BOUNDARY_WORD_START, &start, &end);
char *sentence_text = AccessibleText_getTextAtOffset (text, (long) event->detail1, SPI_TEXT_BOUNDARY_SENTENCE_START, &start, &end);
- fprintf (stderr, "text changed: word %s; sentence %s at %d",
+ fprintf (stderr, "text changed: word %s; sentence %s at %ld",
(word_text ? word_text : ""),
(sentence_text ? sentence_text : ""),
event->detail1);
}
static void
-simple_at_exit ()
+simple_at_exit (void)
{
SPI_deregisterGlobalEventListenerAll (focus_listener);
AccessibleEventListener_unref (focus_listener);
}
static int
-_festival_init ()
+_festival_init (void)
{
int fd;
struct sockaddr_in name;