diff options
Diffstat (limited to 'geyes/src')
-rw-r--r-- | geyes/src/Makefile.am | 23 | ||||
-rw-r--r-- | geyes/src/geyes.c | 43 | ||||
-rw-r--r-- | geyes/src/themes.c | 2 |
3 files changed, 47 insertions, 21 deletions
diff --git a/geyes/src/Makefile.am b/geyes/src/Makefile.am index 22856564..912553cb 100644 --- a/geyes/src/Makefile.am +++ b/geyes/src/Makefile.am @@ -9,20 +9,31 @@ AM_CPPFLAGS = \ -DGEYES_RESOURCE_PATH=\""/org/mate/mate-applets/eyes/"\" \ ${WARN_CFLAGS} -libexec_PROGRAMS = mate-geyes-applet - BUILT_SOURCES = geyes-resources.c geyes-resources.h -nodist_mate_geyes_applet_SOURCES = $(BUILT_SOURCES) -mate_geyes_applet_SOURCES = \ +APPLET_SOURCES = \ geyes.c \ geyes.h \ themes.c \ $(NULL) - -mate_geyes_applet_LDADD = \ +APPLET_LIBS = \ $(MATE_APPLETS4_LIBS) \ -lm +if ENABLE_IN_PROCESS +pkglib_LTLIBRARIES = libmate-geyes-applet.la +nodist_libmate_geyes_applet_la_SOURCES = $(BUILT_SOURCES) +libmate_geyes_applet_la_SOURCES = $(APPLET_SOURCES) +libmate_geyes_applet_la_CFLAGS = $(AM_CFLAGS) +libmate_geyes_applet_la_LDFLAGS = -module -avoid-version +libmate_geyes_applet_la_LIBADD = $(APPLET_LIBS) +else !ENABLE_IN_PROCESS +libexec_PROGRAMS = mate-geyes-applet +nodist_mate_geyes_applet_SOURCES = $(BUILT_SOURCES) +mate_geyes_applet_SOURCES = $(APPLET_SOURCES) +mate_geyes_applet_CFLAGS = $(AM_CFLAGS) +mate_geyes_applet_LDADD = $(APPLET_LIBS) +endif !ENABLE_IN_PROCESS + geyes-resources.c: $(srcdir)/../data/geyes-resources.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir)/../data --generate-dependencies $(srcdir)/../data/geyes-resources.gresource.xml) $(AM_V_GEN)$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir)/../data --generate --c-name eyes $< diff --git a/geyes/src/geyes.c b/geyes/src/geyes.c index 88486438..a8337447 100644 --- a/geyes/src/geyes.c +++ b/geyes/src/geyes.c @@ -132,19 +132,35 @@ timer_cb (EyesApplet *eyes_applet) { GdkDisplay *display; GdkSeat *seat; - gint x, y; + gint x, y, dx, dy; gint pupil_x, pupil_y; gsize i; + int applet_x,applet_y; display = gtk_widget_get_display (GTK_WIDGET (eyes_applet->applet)); seat = gdk_display_get_default_seat (display); - for (i = 0; i < eyes_applet->num_eyes; i++) { - if (gtk_widget_get_realized (eyes_applet->eyes[i])) { + for (i = 0; i < eyes_applet->num_eyes; i++) + { + if (gtk_widget_get_realized (eyes_applet->eyes[i])) + { gdk_window_get_device_position (gtk_widget_get_window (eyes_applet->eyes[i]), gdk_seat_get_pointer (seat), &x, &y, NULL); +#ifdef ENABLE_IN_PROCESS + gdk_window_get_origin (gtk_widget_get_window (GTK_WIDGET(eyes_applet->applet)), + &applet_x, &applet_y); +#else + applet_x = 0; + applet_y = 0; +#endif + gtk_widget_translate_coordinates (eyes_applet->eyes[i], + gtk_widget_get_toplevel(eyes_applet->eyes[i]), + -applet_x, -applet_y, &dx, &dy); + x -= dx; + y -= dy; + if ((x != eyes_applet->pointer_last_x[i]) || (y != eyes_applet->pointer_last_y[i])) { @@ -189,7 +205,7 @@ about_cb (GtkAction *action, "comments", _("A goofy set of eyes for the MATE " "panel. They follow your mouse."), "copyright", _("Copyright \xC2\xA9 1999 Dave Camp\n" - "Copyright \xc2\xa9 2012-2020 MATE developers"), + "Copyright \xc2\xa9 2012-2021 MATE developers"), "authors", authors, "documenters", documenters, "translator-credits", _("translator-credits"), @@ -253,8 +269,6 @@ setup_eyes (EyesApplet *eyes_applet) gtk_widget_set_valign (eyes_applet->eyes[i], GTK_ALIGN_CENTER); } - gtk_widget_realize (eyes_applet->eyes[i]); - eyes_applet->pointer_last_x[i] = G_MAXINT; eyes_applet->pointer_last_y[i] = G_MAXINT; @@ -349,7 +363,7 @@ help_cb (GtkAction *action, GTK_BUTTONS_CLOSE, _("There was an error displaying help: %s"), error->message); - g_signal_connect (G_OBJECT (dialog), "response", + g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL); gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE); @@ -393,7 +407,9 @@ geyes_applet_fill (MatePanelApplet *applet) GtkActionGroup *action_group; gboolean result; +#ifndef ENABLE_IN_PROCESS g_set_application_name (_("Eyes")); +#endif gtk_window_set_default_icon_name ("mate-eyes-applet"); mate_panel_applet_set_flags (applet, MATE_PANEL_APPLET_EXPAND_MINOR); @@ -427,8 +443,7 @@ geyes_applet_fill (MatePanelApplet *applet) set_atk_name_description (GTK_WIDGET (eyes_applet->applet), _("Eyes"), _("The eyes look in the direction of the mouse pointer")); - g_signal_connect (eyes_applet->vbox, - "destroy", + g_signal_connect (eyes_applet->vbox, "destroy", G_CALLBACK (destroy_cb), eyes_applet); @@ -462,8 +477,8 @@ geyes_applet_factory (MatePanelApplet *applet, return retval; } -MATE_PANEL_APPLET_OUT_PROCESS_FACTORY ("GeyesAppletFactory", - PANEL_TYPE_APPLET, - "geyes", - geyes_applet_factory, - NULL) +PANEL_APPLET_FACTORY ("GeyesAppletFactory", + PANEL_TYPE_APPLET, + "geyes", + geyes_applet_factory, + NULL) diff --git a/geyes/src/themes.c b/geyes/src/themes.c index 726af951..e9ebe24b 100644 --- a/geyes/src/themes.c +++ b/geyes/src/themes.c @@ -225,7 +225,7 @@ phelp_cb (GtkDialog *dialog) GTK_BUTTONS_CLOSE, _("There was an error displaying help: %s"), error->message); - g_signal_connect (G_OBJECT (error_dialog), "response", + g_signal_connect (error_dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL); gtk_window_set_resizable (GTK_WINDOW (error_dialog), FALSE); |