--- ./audio/plugins/mplayervis.py.orig	2007-06-21 22:21:58.000000000 +0200
+++ ./audio/plugins/mplayervis.py	2007-06-21 22:27:47.000000000 +0200
@@ -144,13 +144,13 @@
 
 
     def set_fullscreen(self):
-        t_h = config.CONF.height-2*config.OSD_OVERSCAN_Y
-        w   = config.CONF.width-2*config.OSD_OVERSCAN_X
+        t_h = config.CONF.height-(config.OSD_OVERSCAN_Y1+config.OSD_OVERSCAN_Y2)
+        w   = config.CONF.width-(config.OSD_OVERSCAN_X1+config.OSD_OVERSCAN_X2)
 
         # ~16:9
         h   = int(9.0*float(w)/16.0)
-        y   = ((t_h-h)/2) + config.OSD_OVERSCAN_Y
-        x   = config.OSD_OVERSCAN_X
+        y   = ((t_h-h)/2) + config.OSD_OVERSCAN_Y1
+        x   = config.OSD_OVERSCAN_X1
 
         self.set_resolution(x, y, w, h, 0)
         self.max_blend = 80
--- ./video/plugins/mplayer.py.orig     2007-07-21 00:35:34.000000000 +0200
+++ ./video/plugins/mplayer.py  2007-07-21 00:52:44.000000000 +0200
@@ -552,9 +556,9 @@
                 if line.startswith('Connecting to server'):
                     line = 'Connecting to server'
                 self.osd.clearscreen(self.osd.COL_BLACK)
-                self.osd.drawstringframed(line, config.OSD_OVERSCAN_X+10,
-                                          config.OSD_OVERSCAN_Y+10,
-                                          self.osd.width - 2 * (config.OSD_OVERSCAN_X+10),
+                self.osd.drawstringframed(line, config.OSD_OVERSCAN_X1+10,
+                                          config.OSD_OVERSCAN_Y1+10,
+                                          self.osd.width - (config.OSD_OVERSCAN_X1+10 + config.OSD_OVERSCAN_X2+10),
                                           -1, self.osdfont, self.osd.COL_WHITE)
                 self.osd.update()

--- ./skins/main/main.py.orig	2007-06-21 22:20:57.000000000 +0200
+++ ./skins/main/main.py	2007-06-21 22:46:03.000000000 +0200
@@ -105,8 +105,8 @@
         """
         create cache name
         """
-        geo  = '%sx%s-%s-%s' % (osd.width, osd.height, config.OSD_OVERSCAN_X,
-                                config.OSD_OVERSCAN_Y)
+        geo  = '%sx%s-%s-%s' % (osd.width, osd.height, config.OSD_OVERSCAN_X1,
+                                config.OSD_OVERSCAN_Y1)
         return vfs.getoverlay('%s.skin-%s-%s' % (filename, config.SKIN_XML_FILE, geo))
 
 
--- ./skins/main/default_areas.py.orig	2007-06-21 22:20:48.000000000 +0200
+++ ./skins/main/default_areas.py	2007-06-21 22:47:07.000000000 +0200
@@ -151,10 +151,10 @@
     def __init__(self):
         Skin_Area.__init__(self, 'plugin')
         self.plugins = None
-        self.x = config.OSD_OVERSCAN_X
-        self.y = config.OSD_OVERSCAN_Y
-        self.width   = osd.width  - 2 * config.OSD_OVERSCAN_X
-        self.height  = osd.height - 2 * config.OSD_OVERSCAN_Y
+        self.x = config.OSD_OVERSCAN_X1
+        self.y = config.OSD_OVERSCAN_Y1
+        self.width   = osd.width  - (config.OSD_OVERSCAN_X1+config.OSD_OVERSCAN_X2)
+        self.height  = osd.height - (config.OSD_OVERSCAN_Y1+config.OSD_OVERSCAN_Y2)
 
 
     def __str__(self):
--- ./skins/main/area.py.orig	2007-06-21 22:21:16.000000000 +0200
+++ ./skins/main/area.py	2007-06-21 22:39:18.000000000 +0200
@@ -540,10 +540,10 @@
                 # if this is the real background image, ignore the
                 # OVERSCAN to fill the whole screen
                 if bg.label == 'background':
-                    bg.x -= config.OSD_OVERSCAN_X
-                    bg.y -= config.OSD_OVERSCAN_Y
-                    bg.width  += 2 * config.OSD_OVERSCAN_X
-                    bg.height += 2 * config.OSD_OVERSCAN_Y
+                    bg.x -= config.OSD_OVERSCAN_X1
+                    bg.y -= config.OSD_OVERSCAN_Y1
+                    bg.width  += (config.OSD_OVERSCAN_X1+config.OSD_OVERSCAN_X2)
+                    bg.height += (config.OSD_OVERSCAN_Y1+config.OSD_OVERSCAN_Y2)
 
                 if bg.label == 'watermark' and self.menu.selected.image:
                     imagefile = self.menu.selected.image
--- ./tv/program_display.py.orig	2007-06-21 22:20:38.000000000 +0200
+++ ./tv/program_display.py	2007-06-21 22:47:51.000000000 +0200
@@ -399,7 +399,7 @@
         """
         self.menuw = menuw
         InputBox(text=_('Alter Name'), handler=self.alter_name,
-                 width = osd.get_singleton().width - config.OSD_OVERSCAN_X - 20,
+                 width = osd.get_singleton().width - config.OSD_OVERSCAN_X2 - 20,
                  input_text=self.name).show()
 
 
--- ./main.py.orig	2007-06-21 22:19:50.000000000 +0200
+++ ./main.py	2007-06-21 23:03:16.000000000 +0200
@@ -305,7 +305,7 @@
                                                 'could cause more errors until you restart '\
                                                 'Freevo.\n\nLogfile: %s\n\n') % \
                                          (event, sys.stdout.logfile),
-                                         width=osd.width-2*config.OSD_OVERSCAN_X-50,
+                                         width=osd.width-(config.OSD_OVERSCAN_X1+config.OSD_OVERSCAN_X2)-50,
                                          handler=shutdown,
                                          handler_message = _('shutting down...'))
                         pop.b0.set_text(_('Shutdown'))
--- ./image/viewer.py.orig	2007-06-21 22:20:19.000000000 +0200
+++ ./image/viewer.py	2007-06-21 22:58:42.000000000 +0200
@@ -119,10 +119,10 @@
         if not image:
             self.osd.clearscreen(color=self.osd.COL_BLACK)
             self.osd.drawstringframed(_('Can\'t Open Image\n\'%s\'') % Unicode(filename),
-                                      config.OSD_OVERSCAN_X + 20,
-                                      config.OSD_OVERSCAN_Y + 20,
-                                      self.osd.width - 2 * config.OSD_OVERSCAN_X - 40,
-                                      self.osd.height - 2 * config.OSD_OVERSCAN_Y - 40,
+                                      config.OSD_OVERSCAN_X1 + 20,
+                                      config.OSD_OVERSCAN_Y1 + 20,
+                                      self.osd.width - (config.OSD_OVERSCAN_X1+config.OSD_OVERSCAN_X2) - 40,
+                                      self.osd.height - (config.OSD_OVERSCAN_Y1+config.OSD_OVERSCAN_Y2) - 40,
                                       self.osd.getfont(config.OSD_DEFAULT_FONTNAME,
                                                        config.OSD_DEFAULT_FONTSIZE),
                                       fgcolor=self.osd.COL_ORANGE,
@@ -436,7 +436,7 @@
 
         # Now sort the text into lines of length line_length
         line = 0
-        if config.OSD_OVERSCAN_X:
+        if config.OSD_OVERSCAN_X1 or config.OSD_OVERSCAN_X2:
             line_length = 35
         else:
             line_length = 60
@@ -461,14 +461,14 @@
                     prt_line[line] += '   ' + textstr
 
         # Create a black box for text
-        self.osd.drawbox(config.OSD_OVERSCAN_X, self.osd.height - \
-                         (config.OSD_OVERSCAN_X + 25 + (len(prt_line) * 30)),
+        self.osd.drawbox(config.OSD_OVERSCAN_X1, self.osd.height - \
+                         (config.OSD_OVERSCAN_X1 + 25 + (len(prt_line) * 30)),
                          self.osd.width, self.osd.height, width=-1,
                          color=((60 << 24) | self.osd.COL_BLACK), layer=layer)
 
         # Now print the Text
         for line in range(len(prt_line)):
-            h=self.osd.height - (40 + config.OSD_OVERSCAN_Y + \
+            h=self.osd.height - (40 + config.OSD_OVERSCAN_Y1 + \
                                  ((len(prt_line) - line - 1) * 30))
-            self.osd.drawstring(prt_line[line], 15 + config.OSD_OVERSCAN_X, h,
+            self.osd.drawstring(prt_line[line], 15 + config.OSD_OVERSCAN_X1, h,
                                 fgcolor=self.osd.COL_ORANGE, layer=layer)
--- ./osd.py.orig	2007-06-21 22:18:42.000000000 +0200
+++ ./osd.py	2007-06-21 23:09:50.000000000 +0200
@@ -277,8 +277,8 @@
                         image  = osd.loadbitmap(icon)
                         width  = image.get_width()
                         height = image.get_height()
-                        x = osd.width  - config.OSD_OVERSCAN_X - 20 - width
-                        y = osd.height - config.OSD_OVERSCAN_Y - 20 - height
+                        x = osd.width  - config.OSD_OVERSCAN_X2 - 20 - width
+                        y = osd.height - config.OSD_OVERSCAN_Y2 - 20 - height
 
                         self.rect = (x,y,width,height)
                         # backup the screen
--- ./gui/GUIObject.py.orig	2007-06-21 22:20:09.000000000 +0200
+++ ./gui/GUIObject.py	2007-06-21 23:01:29.000000000 +0200
@@ -364,8 +364,8 @@
                 c = c.parent
             print
             print 'Configuration: %sx%s %s %s' % \
-                  (self.osd.width, self.osd.height, config.OSD_OVERSCAN_X,
-                   config.OSD_OVERSCAN_Y)
+                  (self.osd.width, self.osd.height, config.OSD_OVERSCAN_X1,
+                   config.OSD_OVERSCAN_Y1)
             print
             raise Exception, e
 
--- ./util/videothumb.py.orig	2007-06-21 22:20:00.000000000 +0200
+++ ./util/videothumb.py	2007-06-21 23:02:16.000000000 +0200
@@ -62,7 +62,7 @@
     if popup:
         pop = gui.PopupBox(text='Creating thumbnail for \'%s\'...' % \
             Unicode(os.path.basename(videofile)),
-            width=osd.get_singleton().width-config.OSD_OVERSCAN_X*2-80)
+            width=osd.get_singleton().width-(config.OSD_OVERSCAN_X1+config.OSD_OVERSCAN_X2)-80)
         pop.show()
 
     args = [ config.MPLAYER_CMD, videofile, imagefile ]
--- ./plugins/tiny_osd.py.orig	2007-06-21 22:19:38.000000000 +0200
+++ ./plugins/tiny_osd.py	2007-06-21 23:05:39.000000000 +0200
@@ -90,12 +90,12 @@
         w = font.stringsize(self.message)
 
         if type == 'osd':
-            x = config.OSD_OVERSCAN_X
-            y = config.OSD_OVERSCAN_Y
+            x = config.OSD_OVERSCAN_X1
+            y = config.OSD_OVERSCAN_Y1
 
-            renderer.drawstringframed(self.message, config.OSD_OVERSCAN_X,
-                                      config.OSD_OVERSCAN_Y + 10,
-                                      renderer.width - 10 - 2 * config.OSD_OVERSCAN_X, -1,
+            renderer.drawstringframed(self.message, config.OSD_OVERSCAN_X1,
+                                      config.OSD_OVERSCAN_Y1 + 10,
+                                      renderer.width - 10 - (config.OSD_OVERSCAN_X1+config.OSD_OVERSCAN_X2), -1,
                                       font, align_h='right', mode='hard')
 
         else:
--- ./plugins/weather.py.orig	2007-06-21 22:19:20.000000000 +0200
+++ ./plugins/weather.py	2007-06-21 23:08:11.000000000 +0200
@@ -888,8 +888,8 @@
         self.big_font      = skin.get_font('huge0')
 
         # set the multiplier to be used in all screen drawing
-        self.xmult = float(osd.width  - 2*config.OSD_OVERSCAN_X) / 800
-        self.ymult = float(osd.height - 2*config.OSD_OVERSCAN_Y) / 600
+        self.xmult = float(osd.width  - (config.OSD_OVERSCAN_X1+config.OSD_OVERSCAN_X2)) / 800
+        self.ymult = float(osd.height - (config.OSD_OVERSCAN_Y1+config.OSD_OVERSCAN_Y2)) / 600
 
         self.update_functions = (self.update_day, self.update_forecast,
                                  self.update_week, self.update_doplar)
--- ./helpers/convert_config.py.orig	2007-06-21 22:18:55.000000000 +0200
+++ ./helpers/convert_config.py	2007-06-21 23:11:41.000000000 +0200
@@ -53,8 +53,8 @@
     'FORCE_SKIN_LAYOUT': 'DIRECTORY_FORCE_SKIN_LAYOUT',
     'AUDIO_FORMAT_STRING': 'DIRECTORY_AUDIO_FORMAT_STRING',
     'USE_MEDIAID_TAG_NAMES': 'DIRECTORY_USE_MEDIAID_TAG_NAMES',
-    'OVERSCAN_X': 'OSD_OVERSCAN_X',
-    'OVERSCAN_Y': 'OSD_OVERSCAN_Y',
+    'OVERSCAN_X': 'OSD_OVERSCAN_X1',
+    'OVERSCAN_Y': 'OSD_OVERSCAN_Y1',
     'TV_SHOW_DATA_DIR': 'VIDEO_SHOW_DATA_DIR',
     'TV_SHOW_REGEXP': 'VIDEO_SHOW_REGEXP',
     'TV_SHOW_REGEXP_MATCH': 'VIDEO_SHOW_REGEXP_MATCH',
--- ./video/plugins/bmovl.py.orig	2007-06-21 22:21:31.000000000 +0200
+++ ./video/plugins/bmovl.py	2007-06-21 22:36:46.000000000 +0200
@@ -256,9 +256,9 @@
                            layer=self.background)
 
         self.y0     = self.clockfont.height + 10
-        self.x0     = config.OSD_OVERSCAN_X
-        self.height = self.background.height - config.OSD_OVERSCAN_Y - self.y0
-        self.width  = self.background.width  - 2 * config.OSD_OVERSCAN_X
+        self.x0     = config.OSD_OVERSCAN_X1
+        self.height = self.background.height - config.OSD_OVERSCAN_Y2 - self.y0
+        self.width  = self.background.width  - (config.OSD_OVERSCAN_X1+config.OSD_OVERSCAN_X2)
 
         # draw movie image
         f = skin.get_singleton().settings.images['logo']
@@ -266,7 +266,7 @@
         if i:
             self.background.blit(i, (self.x0, self.y0))
             self.x0   += i.get_width() + 10
-            self.width = self.background.width - self.x0 - config.OSD_OVERSCAN_X
+            self.width = self.background.width - self.x0 - config.OSD_OVERSCAN_X2
 
         title   = self.item.name
 
@@ -371,8 +371,8 @@
         """
         if not self.bmovl and self.status == 'playing' and self.height and self.width:
             self.bmovl = OSDbmovl(self.width, self.height)
-            self.create_background(0, self.height - self.height / 5 - config.OSD_OVERSCAN_Y,
-                                   self.width, self.height / 5 + config.OSD_OVERSCAN_Y)
+            self.create_background(0, self.height - self.height / 5 - config.OSD_OVERSCAN_Y2,
+                                   self.width, self.height / 5 + config.OSD_OVERSCAN_Y2)
 
 
         if self.osd_visible and self.bmovl:
@@ -383,8 +383,8 @@
                                   (0, 0, self.background.width, self.clockfont.height + 6))
 
             # new calc the bar
-            box  = (self.background.width - 2 * config.OSD_OVERSCAN_X) / 4
-            x0   = config.OSD_OVERSCAN_X
+            box  = (self.background.width - (config.OSD_OVERSCAN_X1+config.OSD_OVERSCAN_X2)) / 4
+            x0   = config.OSD_OVERSCAN_X1
             y0   = self.background.pos[1]
 
             mpos = self.background.width - 2 * (x0 + box)
@@ -414,7 +414,7 @@
                                         -1, font, align_v='center', align_h='center')
 
             self.bmovl.drawstringframed('%s' % self.time2str(end),
-                                        self.background.width - config.OSD_OVERSCAN_X - box,
+                                        self.background.width - config.OSD_OVERSCAN_X2 - box,
                                         y0, box, -1, font, align_v='center', align_h='center')
 
             if update:
@@ -428,7 +428,7 @@
 
             format = time.strftime(format)
 
-            x0 = self.background.width - 2 * config.OSD_OVERSCAN_X
+            x0 = self.background.width - (config.OSD_OVERSCAN_X1+config.OSD_OVERSCAN_X2)
             s  = font.stringsize(format) * 5
 
             self.bmovl.screenblit(self.background.screen,
--- ./skins/main/xml_skin.py.orig	2007-06-21 22:21:07.000000000 +0200
+++ ./skins/main/xml_skin.py	2007-06-21 22:44:37.000000000 +0200
@@ -414,12 +414,12 @@
         XML_data.parse(self, node, scale, current_dir)
         if x != self.x:
             try:
-                self.x += config.OSD_OVERSCAN_X
+                self.x += config.OSD_OVERSCAN_X1
             except TypeError:
                 pass
         if y != self.y:
             try:
-                self.y += config.OSD_OVERSCAN_Y
+                self.y += config.OSD_OVERSCAN_Y1
             except TypeError:
                 pass
         for subnode in node.children:
@@ -432,12 +432,12 @@
                     self.images[label].parse(subnode, scale, current_dir)
                     if x != self.images[label].x:
                         try:
-                            self.images[label].x += config.OSD_OVERSCAN_X
+                            self.images[label].x += config.OSD_OVERSCAN_X1
                         except TypeError:
                             pass
                     if y != self.images[label].y:
                         try:
-                            self.images[label].y += config.OSD_OVERSCAN_Y
+                            self.images[label].y += config.OSD_OVERSCAN_Y1
                         except TypeError:
                             pass
 
@@ -450,14 +450,14 @@
 
     def rect(self, type):
         if type == 'screen':
-            return (self.x - config.OSD_OVERSCAN_X, self.y - config.OSD_OVERSCAN_X,
-                    self.width + 2 * config.OSD_OVERSCAN_X,
-                    self.height + 2 * config.OSD_OVERSCAN_X)
+            return (self.x - config.OSD_OVERSCAN_X1, self.y - config.OSD_OVERSCAN_Y1,
+                    self.width + (config.OSD_OVERSCAN_X1+config.OSD_OVERSCAN_X2),
+                    self.height + (config.OSD_OVERSCAN_Y1+config.OSD_OVERSCAN_Y2))
         return (self.x, self.y, self.width, self.height)
 
     def pos(self, type):
         if type == 'screen':
-            return (self.x - config.OSD_OVERSCAN_X, self.y - config.OSD_OVERSCAN_X)
+            return (self.x - config.OSD_OVERSCAN_X1, self.y - config.OSD_OVERSCAN_Y1)
         return (self.x, self.y)
 
 
@@ -1033,8 +1033,8 @@
             w = config.CONF.width
             h = config.CONF.height
 
-        scale = (float(config.CONF.width-2*config.OSD_OVERSCAN_X)/float(w),
-                 float(config.CONF.height-2*config.OSD_OVERSCAN_Y)/float(h))
+        scale = (float(config.CONF.width-(config.OSD_OVERSCAN_X1+config.OSD_OVERSCAN_X2))/float(w),
+                 float(config.CONF.height-(config.OSD_OVERSCAN_Y1+config.OSD_OVERSCAN_Y2))/float(h))
 
         include  = attr_str(node, 'include', '')
 