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