kagof / intellij-pokemon-progress

A Pokémon themed progress bar for IntelliJ IDEA.
https://plugins.jetbrains.com/plugin/15090-pokemon-progress
MIT License
192 stars 21 forks source link

Can't replace loader icon without restarting IDE. #84

Open law-millenium opened 1 year ago

law-millenium commented 1 year ago

I think the IDEA loader icon should be replaced as soon as the user click on the "replace loader" checkbox. Now, it seems that it is necessary to restart Idea in order to make it happen.

Thank's a lot if you manage to resolve this issue someday ! 😄

kagof commented 1 year ago

Hi, thanks for the feedback! The mechanism I used for changing the loader icon is super hacky; I won't get into details but Jetbrains definitely didn't intend for it to be replacable. I suspect you're on an older version of IDEA - can you confirm?

The "replace loader icon" checkbox doesn't work at all on newer versions of it, and I should just remove it.

That being said, I'm still surprised you're seeing this behavious, as I never did, however it's probably a moot point by now :)

law-millenium commented 1 year ago

Hey ! So sad to hear this. I'm indeed on older versions (2021 and 2022). I was asking this to you because I created a Naruto plugin from yours and was trying to implement some new features on the loader replacement when I saw this bug. I should have checked what happened in last Idea releases...

I'll try to see if a workaround is possible anyway... and I'll tell you in this thread if I do someday !

Thanks for your reply ;)

kagof commented 1 year ago

Yeah would love it if someone else takes a look into it to see if it has become possible again! As a hint, the code lives in PokeballLoaderIconReplacer. It's all done by reflection. If I remember correctly, the issue is that the makeFieldNonFinal method had to actually use reflection on the Field class itself, in order to change the modifiers field to be accessible.

Newer versions of IntelliJ use a newer version of Java, which no longer allows you to do that (I believe they prevent reflection on anything in the java.lang package).

HashimotoMomo commented 9 months ago

I update intelij to 2023.3, the progress bars change back to the default
QWLKG 3DIP_%Z1STNX`I update intelij to 2023.3, the progress bars back to the default  
PM

I reinstalled this plugin, progress bars changed,but once I restart Intelij IDEA,bars still changed back to default

kagof commented 6 months ago

@HashimotoRyuga I believe this is because of #89, I will be addressing this soon hopefully.

As for the loader icon, I'm going to take another look at it, possibly with newer versions of IDEA it might have become possible again. I'm also not sure how well it plays with the new UI; might also need special handling for that!

If it isn't an easy win (which I suspect it won't be, unfortunately) I'll likely hide the option from the configuration UI in the next release, so it doesn't mislead people.

alexandre-thauvin commented 3 months ago

I update intelij to 2023.3, the progress bars change back to the default QWLKG 3DIP_%Z1STNX`I update intelij to 2023.3, the progress bars back to the default PM

I reinstalled this plugin, progress bars changed,but once I restart Intelij IDEA,bars still changed back to default

I confirm, I'm in the same case, on each restart the default bar is coming back... However great work on the rest!! keep rocking!