r2354 - in trunk/src/target/OM-2007/applications/openmoko-footer: . src
alphaone at sita.openmoko.org
alphaone at sita.openmoko.org
Sun Jul 1 05:56:30 CEST 2007
Author: alphaone
Date: 2007-07-01 05:56:29 +0200 (Sun, 01 Jul 2007)
New Revision: 2354
Modified:
trunk/src/target/OM-2007/applications/openmoko-footer/ChangeLog
trunk/src/target/OM-2007/applications/openmoko-footer/src/taskmenu.c
trunk/src/target/OM-2007/applications/openmoko-footer/src/taskmenu.h
Log:
* src/taskmenu.c (moko_window_filter),(moko_taskmenu_init):
* src/taskmenu.h:
Implement window_filter; taskmenu is now updated on changes
Modified: trunk/src/target/OM-2007/applications/openmoko-footer/ChangeLog
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-footer/ChangeLog 2007-07-01 02:01:15 UTC (rev 2353)
+++ trunk/src/target/OM-2007/applications/openmoko-footer/ChangeLog 2007-07-01 03:56:29 UTC (rev 2354)
@@ -1,3 +1,11 @@
+2007-07-01 Daniel Willmann <daniel at totalueberwachung.de>
+
+ * src/taskmenu.c:
+ (moko_window_filter):
+ (moko_taskmenu_init):
+ * src/taskmenu.h:
+ Implement window_filter; taskmenu is now updated on changes
+
2007-06-30 Daniel Willmann <daniel at totalueberwachung.de>
* src/Makefile.am:
Modified: trunk/src/target/OM-2007/applications/openmoko-footer/src/taskmenu.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-footer/src/taskmenu.c 2007-07-01 02:01:15 UTC (rev 2353)
+++ trunk/src/target/OM-2007/applications/openmoko-footer/src/taskmenu.c 2007-07-01 03:56:29 UTC (rev 2354)
@@ -27,22 +27,28 @@
#include <gtk/gtk.h>
#include <glib.h>
-//GdkFilterReturn
-//moko_window_filter (GdkXEvent *xev, GdkEvent *gev, MokoTaskMenu *tm)
-//{
-// XEvent *ev = (XEvent *)xev;
-// Display *dpy = ev->xany.display;
-//
-// if (ev->xany.type == PropertyNotify && ev->xproperty.window == DefaultRootWindow (dpy)
-// && (ev->xproperty.atom == atoms[_NET_CLIENT_LIST]))
-// {
-// moko_update_task_list(dpy, tm->list);
-// }
-//
-// return GDK_FILTER_CONTINUE;
-//}
-//
+GdkFilterReturn
+moko_window_filter (GdkXEvent *xev, GdkEvent *gev, gpointer user_data)
+{
+ XEvent *ev = (XEvent *)xev;
+ Display *dpy = ev->xany.display;
+ MokoTaskMenu *tm = user_data;
+ if (ev->xany.type == PropertyNotify && ev->xproperty.window == DefaultRootWindow (dpy)
+ && (ev->xproperty.atom == gdk_x11_atom_to_xatom(gdk_atom_intern("_NET_CLIENT_LIST", FALSE))))
+ {
+ if (moko_update_task_list(dpy, tm)) {
+ g_object_ref_sink(tm->menu);
+ tm->menu = GTK_MENU(gtk_menu_new());
+ moko_taskmenu_populate(dpy, tm);
+ gtk_widget_show_all( GTK_WIDGET(tm->menu) );
+ }
+ }
+
+ return GDK_FILTER_CONTINUE;
+}
+
+
gchar *
moko_get_window_name (Display *dpy, Window w)
{
@@ -177,8 +183,8 @@
gtk_widget_show_all( GTK_WIDGET(tm->menu) );
- //gdk_window_add_filter (NULL, moko_window_filter, tm);
- //XSelectInput (dpy, DefaultRootWindow (dpy), PropertyChangeMask);
+ gdk_window_add_filter (NULL, moko_window_filter, tm);
+ XSelectInput (dpy, DefaultRootWindow (dpy), PropertyChangeMask);
}
void moko_taskmenu_populate(Display *dpy, MokoTaskMenu *tm)
Modified: trunk/src/target/OM-2007/applications/openmoko-footer/src/taskmenu.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-footer/src/taskmenu.h 2007-07-01 02:01:15 UTC (rev 2353)
+++ trunk/src/target/OM-2007/applications/openmoko-footer/src/taskmenu.h 2007-07-01 03:56:29 UTC (rev 2354)
@@ -35,6 +35,7 @@
void moko_taskmenu_init (MokoTaskMenu *tm);
+gboolean moko_update_task_list (Display *dpy, MokoTaskMenu *tm);
void moko_taskmenu_populate(Display *dpy, MokoTaskMenu *tm);
void moko_taskmenu_popup_positioning_cb( GtkMenu* menu, gint* x, gint* y, gboolean* push_in, GtkWidget *parent );
More information about the commitlog
mailing list