--- a/src/Pure/GUI/gui.scala Thu May 15 22:55:29 2025 +0200
+++ b/src/Pure/GUI/gui.scala Fri May 16 12:10:49 2025 +0200
@@ -7,8 +7,8 @@
package isabelle
import java.util.{Map => JMap}
-import java.awt.{Component, Container, Font, Image, Insets, KeyboardFocusManager, Window, Point,
- Rectangle, Dimension, GraphicsEnvironment, MouseInfo, Toolkit}
+import java.awt.{Color, Component, Container, Font, Image, Insets, KeyboardFocusManager, Window,
+ Point, Rectangle, Dimension, GraphicsEnvironment, MouseInfo, Toolkit}
import java.awt.event.{KeyAdapter, KeyEvent}
import java.awt.font.{FontRenderContext, LineMetrics, TextAttribute, TransformAttribute}
import java.awt.geom.AffineTransform
@@ -32,6 +32,10 @@
def is_dark_laf(): Boolean = FlatLaf.isLafDark()
+ def default_foreground_color(): Color = if (is_dark_laf()) Color.BLACK else Color.WHITE
+ def default_background_color(): Color = if (is_dark_laf()) Color.WHITE else Color.BLACK
+ def default_intermediate_color(): Color = if (is_dark_laf()) Color.LIGHT_GRAY else Color.GRAY
+
class Look_And_Feel(laf: LookAndFeel) extends Isabelle_System.Service {
def info: UIManager.LookAndFeelInfo =
new UIManager.LookAndFeelInfo(laf.getName, laf.getClass.getName)
--- a/src/Tools/Graphview/graphview.scala Thu May 15 22:55:29 2025 +0200
+++ b/src/Tools/Graphview/graphview.scala Fri May 16 12:10:49 2025 +0200
@@ -90,12 +90,12 @@
/* main colors */
- def foreground_color: Color = Color.BLACK
- def background_color: Color = Color.WHITE
+ def foreground_color: Color = GUI.default_foreground_color()
+ def background_color: Color = GUI.default_background_color()
def selection_color: Color = new Color(204, 204, 255)
def highlight_color: Color = new Color(255, 255, 224)
def error_color: Color = Color.RED
- def dummy_color: Color = Color.GRAY
+ def dummy_color: Color = GUI.default_intermediate_color()
/* font rendering information */
--- a/src/Tools/jEdit/etc/options Thu May 15 22:55:29 2025 +0200
+++ b/src/Tools/jEdit/etc/options Fri May 16 12:10:49 2025 +0200
@@ -162,7 +162,7 @@
option running_color_dark : string = "7FBFFF00" for color_dialog
option running1_color_dark : string = "590259FF" for color_dialog
option bullet_color_dark : string = "EAEAEAFF" for color_dialog
-option tooltip_color_dark : string = "FFFFE9FF" for color_dialog
+option tooltip_color_dark : string = "2B2B2BFF" for color_dialog
option writeln_color_dark : string = "9C9C9CFF" for color_dialog
option information_color_dark : string = "77B800FF" for color_dialog
option warning_color_dark : string = "FF8C00FF" for color_dialog
@@ -194,15 +194,15 @@
option active_color_dark : string = "454594FF" for color_dialog
option active_hover_color_dark : string = "4A4AC9FF" for color_dialog
option active_result_color_dark : string = "A7A77BFF" for color_dialog
-option keyword1_color_dark : string = "2FAEF9FF" for color_dialog
-option keyword2_color_dark : string = "0EF1C9FF" for color_dialog
-option keyword3_color_dark : string = "92D8FAFF" for color_dialog
+option keyword1_color_dark : string = "F0E68CFF" for color_dialog
+option keyword2_color_dark : string = "009966FF" for color_dialog
+option keyword3_color_dark : string = "CC6600FF" for color_dialog
option quasi_keyword_color_dark : string = "9999FFFF" for color_dialog
option improper_color_dark : string = "F99F9FFF" for color_dialog
option operator_color_dark : string = "DBDBDBFF" for color_dialog
-option comment1_color_dark : string = "A7D3A2FF" for color_dialog
-option comment2_color_dark : string = "E2A05AFF" for color_dialog
-option comment3_color_dark : string = "75BDB3FF" for color_dialog
+option comment1_color_dark : string = "87CEEBFF" for color_dialog
+option comment2_color_dark : string = "CD5C5CFF" for color_dialog
+option comment3_color_dark : string = "999900FF" for color_dialog
option caret_debugger_color_dark : string = "FF9966FF" for color_dialog
option caret_invisible_color_dark : string = "FFB8B880" for color_dialog
option completion_color_dark : string = "4BBDF7FF" for color_dialog
--- a/src/Tools/jEdit/src/completion_popup.scala Thu May 15 22:55:29 2025 +0200
+++ b/src/Tools/jEdit/src/completion_popup.scala Fri May 16 12:10:49 2025 +0200
@@ -643,7 +643,7 @@
/* main content */
override def getFocusTraversalKeysEnabled = false
- completion.setBorder(new LineBorder(Color.BLACK))
+ completion.setBorder(new LineBorder(GUI.default_foreground_color()))
completion.add((new ScrollPane(list_view)).peer.asInstanceOf[JComponent])
--- a/src/Tools/jEdit/src/pretty_tooltip.scala Thu May 15 22:55:29 2025 +0200
+++ b/src/Tools/jEdit/src/pretty_tooltip.scala Fri May 16 12:10:49 2025 +0200
@@ -222,7 +222,8 @@
/* main content */
def tip_border(has_focus: Boolean): Unit = {
- pretty_tooltip.setBorder(new LineBorder(if (has_focus) Color.BLACK else Color.GRAY))
+ val color = if (has_focus) GUI.default_foreground_color() else GUI.default_intermediate_color()
+ pretty_tooltip.setBorder(new LineBorder(color))
pretty_tooltip.repaint()
}
tip_border(true)