--- a/Admin/components/components.sha1 Fri Jan 08 22:30:32 2021 +0100
+++ b/Admin/components/components.sha1 Fri Jan 08 23:59:28 2021 +0100
@@ -80,6 +80,7 @@
8b9bffd10e396d965e815418295f2ee2849bea75 exec_process-1.0.2.tar.gz
e6aada354da11e533af2dee3dcdd96c06479b053 exec_process-1.0.3.tar.gz
ae7ee5becb26512f18c609e83b34612918bae5f0 exec_process-1.0.tar.gz
+ed5cbc216389b655dac21a19e770a02a96867b85 flatlaf-0.46.tar.gz
683acd94761ef460cca1a628f650355370de5afb hol-light-bundle-0.5-126.tar.gz
20b53cfc3ffc5b15c1eabc91846915b49b4c0367 isabelle_fonts-20151021.tar.gz
736844204b2ef83974cd9f0a215738b767958c41 isabelle_fonts-20151104.tar.gz
--- a/Admin/components/main Fri Jan 08 22:30:32 2021 +0100
+++ b/Admin/components/main Fri Jan 08 23:59:28 2021 +0100
@@ -4,6 +4,7 @@
csdp-6.1.1
cvc4-1.8
e-2.5-1
+flatlaf-0.46
isabelle_fonts-20190717
jdk-15.0.1+9
jedit_build-20201223
--- a/src/Pure/GUI/gui.scala Fri Jan 08 22:30:32 2021 +0100
+++ b/src/Pure/GUI/gui.scala Fri Jan 08 23:59:28 2021 +0100
@@ -18,7 +18,7 @@
object GUI
{
- /* Swing look-and-feel */
+ /* Swing look-and-feels */
def find_laf(name: String): Option[String] =
UIManager.getInstalledLookAndFeels().
@@ -44,6 +44,19 @@
Platform.is_windows && UIManager.getSystemLookAndFeelClassName() == current_laf()
+ /* additional look-and-feels */
+
+ class Look_And_Feel(val laf: LookAndFeel) extends Isabelle_System.Service
+ {
+ def setup: Unit = UIManager.installLookAndFeel(laf.getName, laf.getClass.getName)
+ }
+
+ lazy val look_and_feels: List[Look_And_Feel] =
+ Isabelle_System.make_services(classOf[Look_And_Feel])
+
+ def setup_lafs(): Unit = look_and_feels.foreach(_.setup)
+
+
/* plain focus traversal, notably for text fields */
def plain_focus_traversal(component: Component)
@@ -342,3 +355,6 @@
}
}
}
+
+class FlatLightLaf extends GUI.Look_And_Feel(new com.formdev.flatlaf.FlatLightLaf)
+class FlatDarkLaf extends GUI.Look_And_Feel(new com.formdev.flatlaf.FlatDarkLaf)
--- a/src/Pure/Tools/main.scala Fri Jan 08 22:30:32 2021 +0100
+++ b/src/Pure/Tools/main.scala Fri Jan 08 23:59:28 2021 +0100
@@ -26,6 +26,8 @@
Isabelle_System.init()
Isabelle_Fonts.init()
+ GUI.setup_lafs()
+
/* ROOTS template */