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

Incompatibility with new UI? #98

Closed
bk-tfo opened this issue Jun 5, 2022 · 6 comments
Closed

Incompatibility with new UI? #98

bk-tfo opened this issue Jun 5, 2022 · 6 comments

Comments

@bk-tfo
Copy link

bk-tfo commented Jun 5, 2022

Is the plugin not compatible with the new UI release from Jetbrains? The icons appear just fine, its just what whenever you click on any icon, you get this stack trace.

Plugin version 1.20.0.201

I tried this in GoLand 2022.2 EAP, but I get the same in other IDEs.

Full Version:

Build #GO-222.2889.12, built on June 2, 2022
Licensed to GoLand EAP user: Burhan Khalid
Expiration date: July 2, 2022
Runtime version: 17.0.3+7-b463.3 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 12.4
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 10
Metal Rendering is ON
Registry:
suggest.all.run.configurations.from.context=true
debugger.new.tool.window.layout=true
ide.completion.variant.limit=500
ide.experimental.ui=true

Non-Bundled Plugins:
lermitage.intellij.extratci (1.20.0.201)
com.markskelton.one-dark-theme (5.6.0)
com.intellij.plugins.expui (0.4)
com.mallowigi (65.1.0)

Stack trace:

Calling `ClassLoader#getResource` with leading slash doesn't work; strip

com.intellij.diagnostic.PluginException: /extratci/icons/original/community/platform/icons/src/toolwindows/toolWindowStructure.svg [Plugin: lermitage.intellij.extratci]
   at com.intellij.ide.plugins.cl.PluginClassLoader.doFindResource(PluginClassLoader.java:528)
   at com.intellij.ide.plugins.cl.PluginClassLoader.findResource(PluginClassLoader.java:436)
   at java.base/java.lang.ClassLoader.getResource(ClassLoader.java:1403)
   at com.intellij.ui.RasterizedImageDataLoader.getURL(RasterizedImageDataLoader.kt:75)
   at com.intellij.openapi.util.IconLoader.loadCustomVersion(IconLoader.java:89)
   at com.intellij.util.IconUtil.scaleOrLoadCustomVersion(IconUtil.java:670)
   at com.intellij.openapi.wm.impl.ToolWindowIcon.scale(ToolWindowIcon.java:61)
   at com.intellij.openapi.util.IconLoader.loadCustomVersionOrScale(IconLoader.java:117)
   at com.intellij.openapi.wm.impl.SquareStripeButtonKt.scaleIcon(SquareStripeButton.kt:119)
   at com.intellij.openapi.wm.impl.SquareStripeButtonKt.access$scaleIcon(SquareStripeButton.kt:1)
   at com.intellij.openapi.wm.impl.SquareAnActionButton.isSelected(SquareStripeButton.kt:156)
   at com.intellij.ui.ToggleActionButton.updateButton(ToggleActionButton.java:50)
   at com.intellij.ui.AnActionButton.update(AnActionButton.java:112)
   at com.intellij.openapi.actionSystem.AnAction.beforeActionPerformedUpdate(AnAction.java:293)
   at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performDumbAwareUpdate$0(ActionUtil.java:136)
   at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.java:155)
   at com.intellij.openapi.actionSystem.ex.ActionUtil.lastUpdateAndCheckDumb(ActionUtil.java:221)
   at com.intellij.openapi.actionSystem.impl.ActionButton.performAction(ActionButton.java:161)
   at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:468)
   at java.desktop/java.awt.Component.processEvent(Component.java:6413)
   at java.desktop/java.awt.Container.processEvent(Container.java:2266)
   at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5022)
   at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
   at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
   at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
   at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
   at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
   at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
   at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2802)
   at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
   at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:781)
   at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:730)
   at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:724)
   at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
   at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
   at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
   at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:754)
   at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:752)
   at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
   at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
   at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:751)
   at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:898)
   at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:820)
   at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:743)
   at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:439)
   at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:791)
   at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:438)
   at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113)
   at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:604)
   at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:436)
   at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:881)
   at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:484)
   at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
   at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
   at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
   at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
   at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
   at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
@jonathanlermitage
Copy link
Owner

jonathanlermitage commented Jun 5, 2022

@bk-tfo Please copy this issue to https://github.com/jonathanlermitage/intellij-extra-toolwindow-colorful-icons/issues. Thx!
Extra Icons is compatible with the new UI, but Extra ToolWindow Colorful Icons (aka ExtraTCI) is broken.

@jonathanlermitage
Copy link
Owner

jonathanlermitage commented Jun 5, 2022

Actually, it's weird because Extra Icons should be impacted too, but it's not.
I just applied the fix to ExtraTCI and Extra Icons, this way I'm sure both plugins will work (no crash) with the new UI.
Extra Toolwindow Colorful Icons-1.20.0.201.zip
Extra Icons-2022.1.4.zip

But I have some bad news: I tried the patched ExtraTCI plugin with the new UI, and most icon customizations are ignored. Actually, only one icon changed: the Persistence icon. It's totally broken 😭 I think icons have new names.
I will try to fix that, but it will take some time...

@jonathanlermitage
Copy link
Owner

jonathanlermitage commented Jun 5, 2022

Fox ExtraTCI:

I tried to log the new icon names, and they all start with "/expui/". I guess these names are temporary.
Unfortunately https://jetbrains.design/intellij/resources/icons_list/ is not up to date, and I won't look at the icons one by one (it's so much time consuming, and these icons may not be definitive. The new UI may be finalized next year). I will look at the new icons once JetBrains has updated this documentation.
So, for now ExtraTCI is mostly incompatible with the new UI, but you may see improvements later, when the new UI has been finalized.

@bk-tfo
Copy link
Author

bk-tfo commented Jun 6, 2022

Thanks for looking into this, is there a guide to update the icon paths that would help me? I can get started on a PR.

@jonathanlermitage
Copy link
Owner

Sure:

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

2 participants