| 3 | 1 local Luan = require "luan:Luan.luan" | 
|  | 2 local error = Luan.error | 
|  | 3 local Io = require "luan:Io.luan" | 
| 95 | 4 local Site_translator = require "luan:ai/Site_translator.luan" | 
| 91 | 5 local get_lang = Site_translator.get_lang or error() | 
|  | 6 local text_writer = Site_translator.text_writer or error() | 
| 3 | 7 local Shared = require "site:/lib/Shared.luan" | 
|  | 8 local head = Shared.head or error() | 
|  | 9 local needed_header = Shared.needed_header or error() | 
|  | 10 | 
|  | 11 | 
|  | 12 return function() | 
| 91 | 13 	Io.stdout = text_writer() | 
| 3 | 14 %> | 
|  | 15 <!doctype html> | 
| 91 | 16 <html lang="<%=get_lang()%>"> | 
| 3 | 17 	<head> | 
|  | 18 <%		head() %> | 
| 81 | 19 		<title>Reactionary Software - Swing Look and Feel</title> | 
| 34 | 20 		<style> | 
|  | 21 			li { | 
|  | 22 				margin-top: 8px; | 
|  | 23 			} | 
|  | 24 		</style> | 
| 15 | 25 	</head> | 
| 3 | 26 	<body> | 
|  | 27 <%		needed_header() %> | 
|  | 28 		<div content> | 
| 81 | 29 			<h1>Swing Look and Feel</h1> | 
| 3 | 30 | 
| 82 | 31 			<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> | 
| 3 | 32 | 
| 34 | 33 			<ul> | 
| 81 | 34 				<li>Have no white space around components.  The layout manager should handle this.</li> | 
|  | 35 				<li>Support <code>apple.laf.useScreenMenuBar</code>.</li> | 
|  | 36 				<li>When a text component loses focus, the selection should not disappear and the cursor should just stop blinking.</li> | 
|  | 37 				<li>Have a good reactionary (non-flat) aesthetic.</li> | 
| 34 | 38 			</ul> | 
| 3 | 39 | 
| 81 | 40 			<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> | 
| 3 | 41 		</div> | 
|  | 42 	</body> | 
|  | 43 </html> | 
|  | 44 <% | 
|  | 45 end |