changeset 81:a990d216add8

laf
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 14 Apr 2025 16:24:08 -0600
parents cef5b6a8b011
children d990b7aa68b4
files src/java_fork.html.luan src/laf.html.luan src/needed.html.luan
diffstat 3 files changed, 44 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/java_fork.html.luan	Sat Apr 12 10:40:07 2025 -0600
+++ b/src/java_fork.html.luan	Mon Apr 14 16:24:08 2025 -0600
@@ -33,7 +33,6 @@
 				<li>Replace generics with a cleaner solution.</li>
 				<li>Remove static imports.</li>
 				<li>Remove lambda expressions.</li>
-				<li>Make a decent Swing <a href="https://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/">look and feel</a> that supports <code>apple.laf.useScreenMenuBar</code>.</li>
 			</ul>
 
 			<p>There is no need for backward compatibility.  People who want that can just use Java 8 as is.  The fork is for reactionary programmers who are actively writing code, so the fork should be as clean as possible.</p>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/laf.html.luan	Mon Apr 14 16:24:08 2025 -0600
@@ -0,0 +1,43 @@
+local Luan = require "luan:Luan.luan"
+local error = Luan.error
+local Io = require "luan:Io.luan"
+local Http = require "luan:http/Http.luan"
+local Shared = require "site:/lib/Shared.luan"
+local head = Shared.head or error()
+local needed_header = Shared.needed_header or error()
+
+
+return function()
+	Io.stdout = Http.response.text_writer()
+%>
+<!doctype html>
+<html>
+	<head>
+<%		head() %>
+		<title>Reactionary Software - Swing Look and Feel</title>
+		<style>
+			li {
+				margin-top: 8px;
+			}
+		</style>
+	</head>
+	<body>
+<%		needed_header() %>
+		<div content>
+			<h1>Swing Look and Feel</h1>
+
+			<p>All existing <a href="https://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/">Swing Look and Feels</a> are horrible.  A good look and feel would:</p>
+
+			<ul>
+				<li>Have no white space around components.  The layout manager should handle this.</li>
+				<li>Support <code>apple.laf.useScreenMenuBar</code>.</li>
+				<li>When a text component loses focus, the selection should not disappear and the cursor should just stop blinking.</li>
+				<li>Have a good reactionary (non-flat) aesthetic.</li>
+			</ul>
+
+			<p>You can read about my struggles with look and feels in this <a href="https://chatgpt.com/share/67fd89eb-872c-8013-ae98-653c99b9bc3c">ChatGPT thread</a>.  A reactionary look and feel is badly needed.</p>
+		</div>
+	</body>
+</html>
+<%
+end
--- a/src/needed.html.luan	Sat Apr 12 10:40:07 2025 -0600
+++ b/src/needed.html.luan	Mon Apr 14 16:24:08 2025 -0600
@@ -24,6 +24,7 @@
 				<li><a href="/lucene.html">Lucene Fork</a></li>
 				<li><a href="/nabble.html">Forum - Nabble Rewrite</a></li>
 				<li><a href="/hg_dev.html">Mercurial Development</a></li>
+				<li><a href="/laf.html">Swing Look and Feel</a></li>
 				<li><a href="/java_fork.html">Java Fork</a></li>
 			</ul>
 		</div>