ani-memes / amii Goto Github PK
View Code? Open in Web Editor NEWA plugin that adds Anime Memes to your JetBrains IDEs
Home Page: https://plugins.jetbrains.com/plugin/15865-amii
License: Apache License 2.0
A plugin that adds Anime Memes to your JetBrains IDEs
Home Page: https://plugins.jetbrains.com/plugin/15865-amii
License: Apache License 2.0
At first time, I didn't give attention. But after I started to notice it more and more. I thought you will remove it in new versions, but nothing was changed.
I have to close PHPStorm, if I want to hide 2nd meme. I can hide 1st meme, but second not clickable, it doesn't repsonse to my clicks.
My IDE:
PhpStorm 2020.3.3
Build #PS-203.7717.64, built on March 16, 2021
Runtime version: 11.0.10+8-b1145.96 amd64
Windows 10 10.0
Note: I had this bug in old PHPStorm.
Hi, I'm really enjoying this extension (makes passing / failing tests a little more fun!)
I'd just like to ask if it would be possible to provide configuration for the size of the image - I'd like it to take up a smaller area, so it doesn't obscure anything. Alternatively, being able to dock the output somewhere would also work
Thanks!
i have the sound on, but there is nothing makin sound except for the "ok" from saitama. I don´t know if it is because the program i´m using (PyCharm Edu) or it is a bug.
It would be nice when the users first start using the plugin, that they would have a bit of variety in the reactions.
Should probably download a few extra assets on reaction, just to make sure the pool has some assets.
Describe the user story
As a user, I'd like to have a minimal mode where alerts should still show but not on repeating events whenever I'm doing TDD, repeating success
and failure
events occurs thus alerts are shown for every event.
Describe the solution you'd like
Only show an alert whenever the mood/category changes in that way I only get alerted in the event of multiple failures
then going to a passed
event.
Additional context
This is related to the discussions with
waifu-motivator/waifu-motivator-plugin#238 of issue waifu-motivator/waifu-motivator-plugin#106
This story is similar to #231 that prevents all alerts to be shown, but this story is still showing alerts but in minimal occurrences.
Some quoted comments for quick context
zd-zero: My main motivation is whenever a user works in a TDD environment, there would be a lot of multiple failures sequentially, so when a test passes it should now show an alert and vice versa. wdyt?
Unthrottled: Rather than always counting the invocations, how about we have like a Minimal Mode. Where, for a brief period of time, we only receive an alert when the MotivationEventCategory changes (eg. test passing/failing, or fixing your broken build). After that period expires, then the plugin goes back to alerting to any event.
I've got more ideas about this, but I wanted to get your opinion on this, because it is a bit different than what was initially proposed. I actually have use-cases for this, and would like to have this implemented.
You can check more from the PR waifu-motivator/waifu-motivator-plugin#238
Taken from waifu-motivator/waifu-motivator-plugin#239
After a project is closed and at least one other project is open. The plugin will attempt to show a idle notification for a project that has already been disposed.
You can't do that, but the plugin still tried, 😞
java.lang.ArithmeticException: / by zero
at io.unthrottled.amii.memes.MemePanel.getMemeDuration(MemePanel.kt:461)
at io.unthrottled.amii.memes.MemePanel.access$getMemeDuration(MemePanel.kt:79)
at io.unthrottled.amii.memes.MemePanel$runAnimation$animator$1.setFadeOutTimer(MemePanel.kt:435)
at io.unthrottled.amii.memes.MemePanel$runAnimation$animator$1.paintCycleEnd(MemePanel.kt:425)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
Some folks need a way to quickly hide the fact that they have weebified their developer experience. A quick toggle-able action that allows all of the content to be hidden, and no content should be displayed when active. If MIKU's mood is currently displayed in the status bar it should also be discreet.
This plugin should also integrate with the Discrete Mode created for the doki theme
When the plugin recognizes a idle
event, then I expect the mood status bar to reflect the state machine's current calm mood.
Sometimes, I see a meme that I want to watch its anime, but, I don't know its name. So, it would be cool if you put a check box to the plugin's settings "Show the name of the meme if click to bottom of the meme".
If the check box is checked, after clicking to the bottom part of a meme the plugin will show the name of the source of the meme as a notification. Something like:
.__________________________________________
| Name of the source (or anime): * |
| Name |
|__________________________________________|
NOTE: The small star after "Name of the source (or anime)" is x (close button).
Doesn't work 'Build' in Rider. Maybe I missed something, but there is a check mark on the field ''Build Tasks"
Its nice the way the probability works now, however, it is currently biased to always show the new asset to the user.
It would be nice if that bias worked for the first time the asset is displayed, but after that, it should probably show up just as much as everything else.
Since assets now have the ability to be removed from the list when updating, I figure it's probably best to also remove them from the users machine as well.
java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
at java.desktop/javax.swing.JLayeredPane.getComponentsInLayer(JLayeredPane.java:561)
at io.unthrottled.amii.memes.MemeService.dismissAllMemesInPane(MemeService.kt:122)
at io.unthrottled.amii.memes.MemeService.access$dismissAllMemesInPane(MemeService.kt:21)
at io.unthrottled.amii.memes.MemeService$attemptToDisplayMeme$1.accept(MemeService.kt:84)
at io.unthrottled.amii.memes.MemeService$attemptToDisplayMeme$1.accept(MemeService.kt:21)
at java.base/java.util.Optional.ifPresent(Optional.java:183)
at io.unthrottled.amii.memes.MemeService.attemptToDisplayMeme(MemeService.kt:84)
at io.unthrottled.amii.memes.MemeService.access$attemptToDisplayMeme(MemeService.kt:21)
at io.unthrottled.amii.memes.MemeService$buildMeme$1$2.invoke(MemeService.kt:60)
at io.unthrottled.amii.memes.MemeService$buildMeme$1$2.invoke(MemeService.kt:21)
at io.unthrottled.amii.tools.ToolBoxKt$doOrElse$4.accept(ToolBox.kt:36)
at io.unthrottled.amii.tools.ToolBoxKt$doOrElse$4.accept(ToolBox.kt)
at java.base/java.util.Optional.ifPresent(Optional.java:183)
at io.unthrottled.amii.tools.ToolBoxKt.doOrElse(ToolBox.kt:34)
at io.unthrottled.amii.memes.MemeService$buildMeme$1.invoke(MemeService.kt:59)
at io.unthrottled.amii.memes.MemeService$buildMeme$1.invoke(MemeService.kt:21)
at io.unthrottled.amii.services.ExecutionService$sam$java_lang_Runnable$0.run(ExecutionService.kt)
at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:265)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
at java.base/java.lang.Thread.run(Thread.java:829)
Extra Info
Additional Info | None |
---|---|
App Name | IntelliJ IDEA 2021.2 (Ultimate Edition) |
Build Info | Build #IU-212.4746.92, built on July 27, 2021 |
Cores | 12 |
Current LAF | FutureDiary: Gasai Yuno |
GC | G1 Young Generation,G1 Old Generation |
JRE | Runtime version: 11.0.11+9-b1504.13 amd64 |
Memory | 1934 |
Non-Bundled Plugins | IdeaVIM,io.acari.DDLCTheme,io.unthrottled.amii,com.aegamesi.java_visualizer.plugin,zd.zero.waifu-motivator-plugin,Dart,io.flutter |
Plugin Config | { "memeVolume": 8, "soundEnabled": true, "memeDisplayModeValue": "TIMED", "memeDisplayAnchorValue": "MIDDLE_RIGHT", "idleMemeDisplayAnchorValue": "CENTER", "memeDisplayInvulnerabilityDuration": 3, "memeDisplayTimedDuration": 40, "userId": "b6187afc-b695-4db9-b8d0-1397ede1eb15", "version": "0.11.0", "allowedExitCodes": "0,130", "positiveExitCodes": "", "idleTimeoutInMinutes": 5, "silenceTimeoutInMinutes": 20, "allowFrustration": true, "eventsBeforeFrustration": 5, "probabilityOfFrustration": 75, "preferredCharacters": "", "blackListedCharacters": "", "logSearchTerms": "", "logSearchIgnoreCase": true, "preferredGenders": 7, "enabledEvents": 253, "showMood": true, "minimalMode": true, "capDimensions": false, "maxMemeWidth": -1, "maxMemeHeight": -1 } |
Registry | ide.intellij.laf.enable.animation=true |
System Info | Linux 5.13.4-200.fc34.x86_64 |
VM | VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. |
I'm getting these two notifications, which seems to be a network problem?
notification.no-memes.title="{0}" unavailable offline
notification.no-memes.body=Sorry, I couldn't find a meme. Please try again when online.
I have proxy configured, and successfuly downloaded the plugin from the market. So I think IDEA proxy in properly configured.
Is there any extra configurations needed? Or it is just because I cannot access the resource URL with my proxy.
And is it possible to download an offline resource pack or something?
Thanks
It may be annoying to some users to have the idle notification places right in the middle of the screen.
Should probably allow users the ability to configure the positioning of the meme.
java.lang.Throwable: Assertion failed: Already disposed
at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:195)
at com.intellij.util.Alarm.checkDisposed(Alarm.java:66)
at com.intellij.util.Alarm._addRequest(Alarm.java:202)
at com.intellij.util.Alarm.addRequest(Alarm.java:185)
at io.unthrottled.amii.memes.MemePanel$runAnimation$animator$1.setFadeOutTimer(MemePanel.kt:398)
at io.unthrottled.amii.memes.MemePanel$runAnimation$animator$1.paintCycleEnd(MemePanel.kt:389)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:976)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:843)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:454)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:773)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:453)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:822)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:507)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
...As an extra bug, some character names are displayed very weirdly (probably because windows and it's weird encoding).
Originally posted by @stirante in #57 (comment)
First install of the plugin makes the big 😢
Additional Info | None |
---|---|
App Name | IntelliJ IDEA 2020.3.1 (Community Edition) |
Build Info | Build #IC-203.6682.168, built on December 29, 2020 |
Cores | 12 |
Current LAF | KonoSuba: Aqua |
GC | ParNew,ConcurrentMarkSweep |
JRE | Runtime version: 11.0.9.1+11-b1145.63 amd64 |
Memory | 4012 |
Non-Bundled Plugins | IdeaVIM,com.jetbrains.ChooseRuntime,io.acari.DDLCTheme,io.acari.normandy.progress.bar,org.nik.presentation-assistant,org.jetbrains.kotlin,io.unthrottled.amii |
Plugin Config | { "memeVolume": 75, "soundEnabled": true, "memeDisplayModeValue": "TIMED", "memeDisplayAnchorValue": "TOP_RIGHT", "memeDisplayInvulnerabilityDuration": 3, "memeDisplayTimedDuration": 40, "userId": "", "version": "", "allowedExitCodes": "0,130", "idleTimeoutInMinutes": 5, "allowFrustration": true, "eventsBeforeFrustration": 5, "probabilityOfFrustration": 75, "preferredCharacters": "", "logSearchTerms": "", "logSearchIgnoreCase": true, "preferredGenders": 7, "enabledEvents": 253, "showMood": true } |
Registry | |
System Info | Linux 5.4.0-58-generic |
VM | VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. |
Hi, I often work with two or more projects opened in the same IDE and I would like to know if it is possible to make it so that the plugin as independently per project,
right now whenever I click on my code when an AFK GIF appears, it clears both windows even if they don't have the same project opened.
(I may have failed to explain clearly, please let me know if you didn't understand).
Some lint warnings that can be cleaned up
w: src/main/kotlin/icons/AMIIIcons.kt: (7, 32): 'getIcon(String): Icon' is deprecated. Deprecated in Java
w:src/main/kotlin/io/unthrottled/amii/core/personality/emotions/PositiveEmotionDerivationUnit.kt: (55, 5): Parameter 'userEvent' is never used
So now that we have a large range of emotional reaction gifs.
I think it time to introduce MIKU being able to go from -> "Patiently Waiting" -> "Starting to get Bored" -> "Basically Asleep" when in idle mode.
The state transition happens based off of the duration the user is a way, the longer they are away the more likely the state transition happens.
Whenever users try to prefer or blacklist characters from the settings, it's hard to know which part of the assets are affected.
wip...please ignore the bad UI for now
I'm trying to build this whenever user select the anime or character, it'll show up the asset on the right resizable pane if it's already available locally. If not, it'll show a simple button that, when clicked, it'll download the asset, so the user can see the preview.
@Unthrottled let me know your thoughts.
Given my build has failed and MIKU has reacted
the next time I run my build and it passes,
then I expect a positive reaction :)
Today after updating to 1.5.1, all settings were lost and it seems I can't change them now.
https://s3.eu-central-1.amazonaws.com/files.stirante.com/2021-01-26_22-33-10.mp4
I noticed it after the sound, I previously disabled, startled me.
I like this plugin very much.
Regrettably, one of my working devices is behind a "firewall of death" without the chance of ever going online, not even with a proxy.
Is it possible to use AMII in this environment? I tried to copy the amiiAssets
folder from an online device into the config folder of intellij on the offline device, but AMII stillt tells me that it has to go online first. Is there a different settings location I have to copy/modify to make it work?
With the introduction of #23 MIKU sucessufully gets tired now.
However the current issue, is when you come back, the next time you go away they go back to being tired.
As a user, when I am using my IDE but am not using any of the IDE's features, then I expect to receive a random animeme from time to time.
MIKU should remind me that they exist periodically.
It gives me the option to report, but is in the Submitting
state forever
ENV
IntelliJ IDEA 2020.3.1 (Ultimate Edition)
Build #IU-203.6682.168, built on December 29, 2020
Licensed to Alex Simons
Subscription is active until February 20, 2021.
Runtime version: 11.0.9.1+11-b1145.63 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Linux 5.4.0-58-generic
GC: G1 Young Generation, G1 Old Generation
Memory: 512M
Cores: 12
Non-Bundled Plugins: io.acari.DDLCTheme, io.unthrottled.amii
Current Desktop: ubuntu:GNOME
Don't show up anything if run unit tests in Rider. Failure or success don't trigger popups.
Turns out I am bad at copy and pasting.
Needs to be MIKU Mood Display
...
As the plugin is used, a new asset is downloaded every time one is shown.
Currently this only applies to the visual asset, when that visual asset id used, then the corresponding audible asset is downloaded when the visual asset is about to be used. Which results in a bit of a lag.
Would be nice if when the visual asset is downloaded in the background, so would be any related assets.
Looks like the latest EAP is now 2021.3 🎉 .
Also means that I get update all my plugins 👎
我想要翻译成汉字但是.....我是菜鸟 😅
朋友们比我水平的普通话清帮我 🙇
(抱歉现在写中文很难)
With the introduction of #23 there are several new moods.
Well I forgot to add the new status bar emojis....
Pls fix
First of all, let me thank you for this great extension! I've been using it for a while now, and since it seems it'll stay with me for another while, I decided it's worth raising this issue I have since the very beginning.
I fear it's hard to explain it, so let me take the long route: MacOS - starting from Big Sur - allows to group multiple windows of the same application into one, using tabs; this works with JetBrains products (even though apparently it was not intended on their side) -- see https://youtrack.jetbrains.com/issue/JBR-2893
This means I can open multiple projects in the same window:
Now, AMII works great in this setup: if I work on a project, then switch to another one that has been inactive for a while, I'm welcomed with a nice meme; I smile, I click, it disappears, everything is smooth... until I open a .md file... For some reason, when I do, all the memes of the other projects appear, stacking on top of each other:
I think this is related to the IDE opening the builtin browser to show some HTML, as it happens:
Given this grouping feature is native and specific to MacOS, and that its support was not directly enabled by JetBrains, I understand that debugging and fixing this issue might be tough, but I thought it's worth at least mentioning it here.
Welcoming GIF got stuck at some frame, Applied only to this particular GIF. The remaining Gifs were all working as usual.
This is not a big issue, it can be force closed by tapping on it.
Sorry after looking at the closed issues, found it's #113
PyCharm 2021.1.2 (Community Edition)
Windows 10 10.0
ani-memes: 0.10.2
These were the error logs that I got
java.lang.ArithmeticException: / by zero
at io.unthrottled.amii.memes.MemePanel.getMemeDuration(MemePanel.kt:461)
at io.unthrottled.amii.memes.MemePanel.access$getMemeDuration(MemePanel.kt:79)
at io.unthrottled.amii.memes.MemePanel$runAnimation$animator$1.setFadeOutTimer(MemePanel.kt:435)
at io.unthrottled.amii.memes.MemePanel$runAnimation$animator$1.paintCycleEnd(MemePanel.kt:425)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:969)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:839)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:449)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:808)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:781)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:502)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Thank you so much for such a great extension. 💖
Not a bug or a feature request, I just wanted to ask.
I was wondering if it's a weird config setting on my side or if it's by design?
I would have expected the plugin to speak in Japanese, or maybe in English so more people can understand it.
Is it possible to change the spoken language?
You have a small mistake in display tab, in bottom block on the image
Hello! Really love the extension, but I'm having a problem where it just ignores codes added in the settings as success codes. "... MIKU will not react to these (but can if you want to)." How do I enable positive reactions on those exit codes?
I've enabled the log listening function, the keyword shows up (I even have it not case sensitive) and I am not notified when my keyword shows up.
Not everybody likes the same things I like.
I think it would be useful to also include a way for the user to exclude certain content from showing up as well.
I'm glad you added the feature that displays the source of a meme.
Displaying the source of the meme is very cool, but there's some memes, that is unknown. Sometimes, I try to find info about source of unknown memes, but in amii-assets.unthrottled.io
I can distinguish memes with unknown source from known source by clicking through all of them and checking if they have Unknown female
. This is not very convenient.
Sometimes I see in the IDE a meme that I would like to watch its anime, but it has unknown source, so it's impossible. It would be cool if I can get direct link to its page in amii-assets.unthrottled.io
by clicking right button of the mouse. By that it would be much easier to find infos of memes.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.