Modify

Opened 3 months ago

Last modified 5 weeks ago

#19027 new enhancement

FlatLaf dark and light look and feels

Reported by: DevCharly Owned by: team
Priority: normal Milestone:
Component: Plugin Version:
Keywords: Cc:

Description

(crosspost of https://forum.openstreetmap.org/viewtopic.php?id=69029)

Hello,

I'm the author of the FlatLaf look and feel (https://github.com/JFormDesigner/FlatLaf)
and wanted to ask whether the JOSM community is interested in using FlatLaf in JOSM.

FlatLaf is a new modern open-source L&F that looks similar to Darcula/IntelliJ
themes you maybe know from IntelliJ IDEA. It comes with dark and light themes,
supports 3rd party IntelliJ themes, scales on HiDPI displays, runs on all
platforms (Windows, Linux and macOS), uses Mac platform specific key bindings on
macOS and is easy to integrate into existing Swing applications.

While FlatLaf is still young, there are already a lot of applications using it.
Most prominent is NetBeans 11.3.

Here are some screenshots of JOSM running with FlatLaf:

https://i.ibb.co/MPTmLcp/Snag-276259f8.png

https://i.ibb.co/gRRkTWh/Snag-27628415.png

https://i.ibb.co/crH9GbP/Snag-27625a08.png

https://i.ibb.co/KhNq7g0/Snag-276283c7.png

https://i.ibb.co/9gjPcTL/Snag-276283f6.png

https://i.ibb.co/93Sth5Y/Snag-27625a36.png

If there is interest in using FlatLaf in JOSM, I'm willing to integrate it,
fix FlatLaf related issues and submit SVN patches.

JOSM with FlafLaf Dark requires some minor color adjustments where hardcoded
colors are used in JOSM UI components.

I'll attach the patch used to create the screenshots to this ticket.

Thanks,
Karl

Attachments (1)

JOSM FlatLaf patch 1.diff (2.1 KB) - added by DevCharly 3 months ago.

Download all attachments as: .zip

Change History (9)

Changed 3 months ago by DevCharly

Attachment: JOSM FlatLaf patch 1.diff added

comment:1 Changed 3 months ago by simon04

The JAR file is 290 kB -- https://mvnrepository.com/artifact/com.formdev/flatlaf/0.28

It might be a good candidate for a plugin.

comment:2 Changed 3 months ago by stoecker

Component: CorePlugin

Long years we had the plastic_laf, maybe that can be used as base for a new plugin. I also think this is good as plugin. It's nothing for the core.

comment:4 Changed 3 months ago by DevCharly

OK, then I'll create a plugin.
Thanks for the link to the plastic_laf plugin.

comment:5 Changed 6 weeks ago by simon04

[o35482] - see #josm19027 - Add flatlaf plugin

However, due to r16498, even the early plugins are loaded too late (since setupUIManager is called before). I'm unsure when to load LaF plugins – ideally those would be loaded even early (before setupUIManager)…

comment:6 Changed 6 weeks ago by skyper

Plugin does not show up under Plugins, yet.

Last edited 6 weeks ago by skyper (previous) (diff)

comment:7 Changed 5 weeks ago by skyper

I`d like to test the plugin but it is not listed under Plugins and therefore not available under preferences.

Is there something missing ?

comment:8 Changed 5 weeks ago by simon04

Due to the problem mentioned in comment:5 (see also: ticket:19290#comment:5 et seq.), I haven't build a flatlaf.jar yet.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set.
to The owner will be changed from team to the specified user.
The owner will change to DevCharly
as duplicate The resolution will be set to duplicate.The specified ticket will be cross-referenced with this ticket
The owner will be changed from team to anonymous.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.