r1946 - in trunk/user/pixil

dslinux_amadeus at dslinux.in-berlin.de dslinux_amadeus at dslinux.in-berlin.de
Sat Sep 29 08:22:16 CEST 2007


Author: amadeus
Date: 2007-09-29 08:22:11 +0200 (Sat, 29 Sep 2007)
New Revision: 1946

Log:
Enable date applet

Modified: trunk/user/pixil/scripts/platforms/dslinux/defaults.xml.in
===================================================================
--- trunk/user/pixil/scripts/platforms/dslinux/defaults.xml.in	2007-09-28 20:54:15 UTC (rev 1945)
+++ trunk/user/pixil/scripts/platforms/dslinux/defaults.xml.in	2007-09-29 06:22:11 UTC (rev 1946)
@@ -194,7 +194,7 @@
 <bgstyle>bottom</bgstyle>
 
 <applets>
-<applet name="date">@prefix@/share/pixilwm/date.so</applet>
+<applet name="date">date</applet>
 </applets>
 
 <colors>

Modified: trunk/user/pixil/sys/pixilwm/Makefile
===================================================================
--- trunk/user/pixil/sys/pixilwm/Makefile	2007-09-28 20:54:15 UTC (rev 1945)
+++ trunk/user/pixil/sys/pixilwm/Makefile	2007-09-29 06:22:11 UTC (rev 1946)
@@ -9,9 +9,10 @@
 TARGET=pixilwm
 
 ifeq ($(EN_SHARED),--enable-shared)
-LIBTYPE=.so
+LIBTYPE :=.so
 else
-LIBTYPE=.o
+LIBTYPE :=.o
+CFLAGS += -DSTATIC_LINK
 endif
 
 # These are extra targets that are defined locally
@@ -41,6 +42,12 @@
 OBJS-$(CONFIG_PIXILWM_THEMES) += themes.o themesconfig.o
 OBJS-$(CONFIG_PIXILWM_MENUS) += sys_menu.o
 
+ifeq ($(LIBTYPE),.o)
+OBJS-y += applets/date$(LIBTYPE)
+# xAMADEUS OBJS-$(CONFIG_PIXILWM_PM) += applets/backlight$(LIBTYPE)
+# xAMADEUS OBJS-$(CONFIG_PIXILWM_PM) += applets/battery$(LIBTYPE)
+endif
+
 OBJS := $(OBJS-y)
 
 LIBS+= -lwm -lpixil -lnano-X  

Modified: trunk/user/pixil/sys/pixilwm/applets/date.c
===================================================================
--- trunk/user/pixil/sys/pixilwm/applets/date.c	2007-09-28 20:54:15 UTC (rev 1945)
+++ trunk/user/pixil/sys/pixilwm/applets/date.c	2007-09-29 06:22:11 UTC (rev 1946)
@@ -7,6 +7,11 @@
 #include "nanowm.h"
 #include "applets.h"
 
+#ifdef STATIC_LINK
+#define applet_init date_applet_init
+#define applet_close date_applet_close
+#endif
+
 static GR_WINDOW_ID wid;
 static GR_FONT_ID fontid;
 

Modified: trunk/user/pixil/sys/pixilwm/applets.c
===================================================================
--- trunk/user/pixil/sys/pixilwm/applets.c	2007-09-28 20:54:15 UTC (rev 1945)
+++ trunk/user/pixil/sys/pixilwm/applets.c	2007-09-29 06:22:11 UTC (rev 1946)
@@ -46,11 +46,10 @@
 #include "config.h"
 #include "applets.h"
 
-#if 1	// xAMADEUS
-#define dlopen(x,y) 0
-#define dlsym(x,y)  0
-#define dlclose(x)  0
-#define dlerror()   0
+#ifdef STATIC_LINK
+extern int date_applet_init(int id, int *x, int y, int h);
+extern int date_applet_close(void);
+#define dlclose(x) 0
 #endif
 
 static int g_applet_id = 0;
@@ -249,25 +248,37 @@
   applet = (applet_t *) calloc(1, sizeof(applet_t));
   if (!applet) return -1;
 
+#ifndef STATIC_LINK
   applet->handle = dlopen(filename, RTLD_LAZY | RTLD_GLOBAL);
 
   if (!applet->handle) {
     printf("Unable to load applet [%s] [%s]\n", filename, dlerror());
     goto load_error;
   }
+#endif
 
   /* Get the hooks for the applet */
   
+#ifdef STATIC_LINK
+  /* This is an ugly hack */
+  if (strcmp(filename, "date") == 0) {
+	applet->init = date_applet_init;
+	applet->close = date_applet_close;
+  }
+#else
   applet->init = (int (*)(int, int *, int, int)) 
     dlsym(applet->handle, "applet_init");
 
   applet->close = (int (*)(void)) 
     dlsym(applet->handle, "applet_close");
+#endif
 
   /* Set the applet id */
   applet->applet_id = g_applet_id++;
 
   /* Initalize the applet */
+  if (!applet->init) 
+    goto load_error;
   if (applet->init(applet->applet_id, &applet_x, applet_y, applet_h))
     goto load_error;
 




More information about the dslinux-commit mailing list