Index: src/plugins/lcd.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/plugins/lcd.py,v
retrieving revision 1.23
diff -a -u -r1.23 lcd.py
--- src/plugins/lcd.py	8 Jan 2005 15:40:53 -0000	1.23
+++ src/plugins/lcd.py	15 Feb 2005 00:28:07 -0000
@@ -629,8 +629,11 @@
 # Structure:
 #
 # poll_widgets = { <#_OF_LINES_IN_DISPLAY> :
-#                  { <SCREEN_NAME> : ( <WIDGET_NAME>, ... ) },
-#                  ...
+#                  { <#_OF_COLUMNS_IN_DISPLAY> :
+#                     { <SCREEN_NAME> : ( <WIDGET_NAME>, ... ) },
+#                     ...,
+#                  ...}
+#                  }
 #                }
 poll_widgets = { 4 : {
     40 : { "welcome" : [ "clock" ] },
@@ -678,7 +681,7 @@
        
     """
     __author__           = 'Gustavo Sverzut Barbieri'
-    __author_email__     = 'gustavo@linuxdicas.com.br'
+    __author_email__     = 'barbieri@gmail.com'
     __maintainer__       = __author__
     __maintainer_email__ = __author_email__
     __version__          = '$Revision: 1.23 $'
@@ -692,7 +695,7 @@
             self.lcd = pylcd.client()
             cm = self.lcd.connect()
         except:
-            print String(_( "ERROR" )) + ":" + String(_( "LCD plugin will not load! Maybe you don't have LCDd (lcdproc daemon) running?" ))
+            log.error( String(_( "LCD plugin will not load! Maybe you don't have LCDd (lcdproc daemon) running?" )) )
             self.disable = 1
             return
         
@@ -709,10 +712,24 @@
         self.width  = self.lcd.d_width
         self.playitem = None
         self.generate_screens()
-        if self.disable:            
+        if self.disable:
             return
         else:
             self.event_listener = 1
+
+        sversion = self.lcd.s_version
+        if sversion.startswith( "0.5" ):
+            self.prio_map = { "high": "foreground",
+                              "normal": "background",
+                              "low": "info" }
+        elif sversion.startswith( "0.4" ):
+            self.prio_map = { "high": "64",
+                              "normal": "128",
+                              "low": "192" }
+        else:
+            self.disable = 1
+            log.warning( "Unsupported LCDd version: %s" % ( sversion, ) )
+
             
         plugin.register( self, "lcd" )
 
@@ -725,7 +742,9 @@
 
             self.lcd.widget_set( "welcome", String( w ), String( param ) )
         
-        self.lcd.screen_set( "welcome", "-priority 192 -duration 2 -heartbeat off" )
+        self.lcd.screen_set( "welcome",
+                             "-priority %s -duration 2 -heartbeat off" % \
+                             ( self.prio_map[ "low" ], ) )
         self.last_screen = "welcome"
         
         self.lsv = { } # will hold last screen value (lsv)
@@ -857,8 +876,10 @@
                                      String( param ) )
                                      
         if self.last_screen != sname:
-            self.lcd.screen_set( self.last_screen, "-priority 128" )
-            self.lcd.screen_set( sname, "-priority 64" )
+            self.lcd.screen_set( self.last_screen, "-priority %s" % \
+                                 ( self.prio_map[ "normal" ], ) )
+            self.lcd.screen_set( sname, "-priority %s" % \
+                                 ( self.prio_map[ "high" ], ) )
             self.last_screen = sname
 
         
