# HG changeset patch # User wenzelm # Date 1389351915 -3600 # Node ID bbf2ef613b8ccd235f6de20a157fd9f99a9c61fe # Parent 260ad8b204f5cfa3b197ba272ed1ea91ae12cc60# Parent 30ded82ff8067a78f0e1bebed59d1ced5390a409 merged diff -r 30ded82ff806 -r bbf2ef613b8c README_REPOSITORY --- a/README_REPOSITORY Fri Jan 10 09:48:11 2014 +0100 +++ b/README_REPOSITORY Fri Jan 10 12:05:15 2014 +0100 @@ -1,13 +1,13 @@ Important notes on Mercurial repository access for Isabelle =========================================================== -Quick start in 25min +Quick start in 30min -------------------- 1a. Linux and Mac OS X: ensure that Perl (with libwww) and Mercurial (hg) is installed (see also http://www.selenic.com/mercurial) -1b. Windows: ensure that Cygwin with Mercurial and Perl is installed (see +1b. Windows: ensure that Cygwin with Perl and Mercurial is installed (see also http://www.cygwin.com) 2. Clone repository (bash shell commands): diff -r 30ded82ff806 -r bbf2ef613b8c src/Pure/GUI/gui.scala --- a/src/Pure/GUI/gui.scala Fri Jan 10 09:48:11 2014 +0100 +++ b/src/Pure/GUI/gui.scala Fri Jan 10 12:05:15 2014 +0100 @@ -8,6 +8,7 @@ package isabelle +import java.lang.{ClassLoader, ClassNotFoundException, NoSuchMethodException} import java.awt.{Image, Component, Container, Toolkit, Window, Font} import java.awt.font.{TextAttribute, TransformAttribute, FontRenderContext, LineMetrics} import java.awt.geom.AffineTransform @@ -38,6 +39,26 @@ UIManager.getSystemLookAndFeelClassName() == UIManager.getLookAndFeel.getClass.getName + /* X11 window manager */ + + def window_manager(): Option[String] = + { + try { + val XWM = Class.forName("sun.awt.X11.XWM", true, ClassLoader.getSystemClassLoader) + val getWM = XWM.getDeclaredMethod("getWM") + getWM.setAccessible(true) + getWM.invoke(null) match { + case null => None + case wm => Some(wm.toString) + } + } + catch { + case _: ClassNotFoundException => None + case _: NoSuchMethodException => None + } + } + + /* simple dialogs */ def scrollable_text(txt: String, width: Int = 60, height: Int = 20, editable: Boolean = false)