Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Any chance of migration? #45

Open
ice1000 opened this issue Apr 8, 2018 · 16 comments
Open

Any chance of migration? #45

ice1000 opened this issue Apr 8, 2018 · 16 comments

Comments

@ice1000
Copy link

ice1000 commented Apr 8, 2018

As we can see in IntelliJ IDEA 2018.1 there're lots of UI changes, while this repo is not up-to-date.
I spent a day trying to extract com.intellij.ide.ui.laf from the source code of IntelliJ IDEA but it's highly coupled to the whole code base.

I wonder if there's any possibility of migrating the (at least some) changes from the newest version (like the flat button UI) to this repo.

@rememberber
Copy link

@ice1000 I can't agree more

@Sciss
Copy link

Sciss commented Apr 15, 2018

Would be fabulous - also because I could use darcula for an application that will have a variant that will be integrated in IntelliJ, so then it would be pretty much exactly the same laf.

@ice1000
Copy link
Author

ice1000 commented Apr 15, 2018

BTW my swing application is https://github.com/ice1000/dev-kt

@guaporocco
Copy link

I also tried to decouple Darcula from Intellij, but gave up after seeing how highly coupled it is to the codebase.

I wrote a script that extracts only the classes loaded by your application when using darcula. It works great although the extracted size is still large (5 mb)

https://gist.github.com/guaporocco/0a92b868027e43c79e608debd431cedb

@ice1000
Copy link
Author

ice1000 commented Feb 26, 2019

Super!

@guaporocco
Copy link

Here's an example photo as well:

https://photos.app.goo.gl/SeuqYAjnxureBqQJ8

@rememberber
Copy link

I also tried to decouple Darcula from Intellij, but gave up after seeing how highly coupled it is to the codebase.

I wrote a script that extracts only the classes loaded by your application when using darcula. It works great although the extracted size is still large (5 mb)

https://gist.github.com/guaporocco/0a92b868027e43c79e608debd431cedb

amazing!awesome!!can you share the extracts?

@guaporocco
Copy link

guaporocco commented Feb 26, 2019

You'll have to run it yourself (there are instructions in the gist). To create the full extract we'd need an example swing app that uses every feature, I haven't made one yet (and don't know if one already exists)

@rememberber
Copy link

You'll have to run it yourself (there are instructions in the gist). To create the full extract we'd need an example swing app that uses every feature, I haven't made one yet (and don't know if one already exists)

got it ,thanks! and can intelliJ just be the example swing app that uses every feature?

@kirill-grouchnikov
Copy link

kirill-grouchnikov commented Feb 26, 2019

It would then load the entirety of IntelliJ IDEA classes from what I understand. The goal here is to get the smallest set of classes out of the entire IntelliJ IDEA distribution that are needed for Darcula.

@guaporocco
Copy link

guaporocco commented Feb 26, 2019

@kirill-grouchnikov Exactly, probably not a good idea.

I do hope jetbrains considers decoupling their LAFs. Especially since Jetbrains Runtime is moving to Java 11, they'll be able to remove much of the hi-dpi and custom painting that they implemented. Doing the decoupling would also mean IDEA could have more than 2 themes. They could even have a theme section on their marketplace for user-customized themes. It can be a win-win!

@rememberber
Copy link

@kirill-grouchnikov Exactly, probably not a good idea.

I do hope jetbrains considers decoupling their LAFs. Especially since Jetbrains Runtime is moving to Java 11, they'll be able to remove much of the hi-dpi and custom painting that they implemented. Doing the decoupling would also mean IDEA could have more than 2 themes. They could even have a theme section on their marketplace for user-customized themes. It can be a win-win!

you may copy this advice reply to the Intellij repo's issues,let the official know!

@guaporocco
Copy link

Updated the script to run on Java 8.. forgot InputStream::transferTo was added in Java 9!

And will do, @rememberber

@rememberber
Copy link

Updated the script to run on Java 8.. forgot InputStream::transferTo was added in Java 9!

And will do, @rememberber

thanks a lot!gist was blocked in China,not easy to access your gist, and any other way to keep in touch with you?wechat? : ) wanna make a friends with u, my email:[email protected]

@ice1000
Copy link
Author

ice1000 commented Feb 26, 2019

I suppose only Chinese use WeChat :)

@CL-Jeremy
Copy link

A few days ago I was also trying to decouple the whole stuff, but have thus given up and and picked up my old fork instead, trying to tackle the Linux-specific problem again, and didn't manage to come up with anything better than calling UIUtil.getLabelFont() in advance in the LAF constructor... So I went on to port (and modify) one tiny piece of code from the current IntelliJ code base (JetBrains/intellij-community@6b39810) to use system fonts under Windows and OS X/macOS > 10.10. The resulting binary is now usable under Linux, albeit not an elegant solution.

If any of you wish to try this build, it's here (CL-Jeremy@716af7e). I just don't believe it should be merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants