From b473b4f17cd65115fc4fadd8a71d30fef5066cb5 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Wed, 28 Feb 2007 13:24:47 +0100 Subject: [PATCH] Pass the X dpi to Xephyr. Default to a minimum of 96, some distros appear to be broken. --- sugar-emulator | 5 ++++- sugar/emulator.py | 10 +++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/sugar-emulator b/sugar-emulator index a163fce9..f951649a 100755 --- a/sugar-emulator +++ b/sugar-emulator @@ -36,6 +36,7 @@ else: from sugar import env from sugar import util from sugar.emulator import Emulator +import _sugar if len(sys.argv) == 1: program = 'sugar-shell' @@ -51,7 +52,9 @@ else: width = 1200 height = 900 -emulator = Emulator(width, height, fullscreen) +dpi = min(_sugar.get_screen_dpi(), 96) + +emulator = Emulator(width, height, fullscreen, dpi) emulator.start() if sourcedir: diff --git a/sugar/emulator.py b/sugar/emulator.py index 6cc4f52e..8491dbfd 100644 --- a/sugar/emulator.py +++ b/sugar/emulator.py @@ -78,7 +78,7 @@ class MatchboxProcess(Process): return 'Matchbox' class XephyrProcess(Process): - def __init__(self, width, height, fullscreen): + def __init__(self, width, height, fullscreen, dpi): self._display = get_display_number() cmd = 'Xephyr :%d -ac ' % (self._display) @@ -88,6 +88,9 @@ class XephyrProcess(Process): if width > 0 and height > 0: cmd += ' -screen %dx%d' % (width, height) + if dpi > 0: + cmd += ' -dpi %d' % (dpi) + Process.__init__(self, cmd) def get_name(self): @@ -100,15 +103,16 @@ class XephyrProcess(Process): class Emulator(object): """The OLPC emulator""" - def __init__(self, width, height, fullscreen): + def __init__(self, width, height, fullscreen, dpi): self._fullscreen = fullscreen self._width = width self._height = height + self._dpi = dpi def start(self): try: process = XephyrProcess(self._width, self._height, - self._fullscreen) + self._fullscreen, self._dpi) process.start() except: print 'Cannot run the emulator. You need to install Xephyr'