Schneegans / Burn-My-Windows

🔥 Disintegrate your windows with style.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ignoring JetBrains IDEs in KWin

j-tag opened this issue · comments

As dicussed here: #284 (comment) JetBrains IDEs have an issue with Burn-My-Windows effects in KWin because of their window class. So we need to ignore them for now to be able to use these IDEs alongside Burn-My-Windows effects.

But we need a full list of JetBrains IDEs with their window classes.

I've managed to download all of them and install the trial version of them in a virtual machine to get their window classes.

Full list of IDEs:

Android Studio:

Link: https://developer.android.com/studio

Window class: jetbrains-studio jetbrains-studio

Aqua:

Link: https://www.jetbrains.com/aqua/

Window class: jetbrains-aqua jetbrains-aqua

CLion:

Link: https://www.jetbrains.com/clion/

Window class: jetbrains-clion jetbrains-clion

DataGrip:

Link: https://www.jetbrains.com/datagrip/

Window class: jetbrains-datagrip jetbrains-datagrip

DataSpell:

Link: https://www.jetbrains.com/dataspell/

Window class: jetbrains-dataspell jetbrains-dataspell

GoLand:

Link: https://www.jetbrains.com/go/

Window class: jetbrains-goland jetbrains-goland

IntelliJ IDEA:

Link: https://www.jetbrains.com/idea/

Window class: jetbrains-idea jetbrains-idea
Window class (Community Edition): jetbrains-idea-ce jetbrains-idea-ce

PhpStorm:

Link: https://www.jetbrains.com/phpstorm/

Window class: jetbrains-phpstorm jetbrains-phpstorm

PyCharm:

Link: https://www.jetbrains.com/pycharm/

Window class: jetbrains-pycharm jetbrains-pycharm
Window class (Community Edition): jetbrains-pycharm-ce jetbrains-pycharm-ce

Rider:

Link: https://www.jetbrains.com/rider/

Window class: jetbrains-rider jetbrains-rider

RubyMine:

Link: https://www.jetbrains.com/ruby/

Window class: jetbrains-rubymine jetbrains-rubymine

WebStorm:

Link: https://www.jetbrains.com/webstorm/

Window class: jetbrains-webstorm jetbrains-webstorm

Sample Blacklist

An example of a blacklist for all IDEs can be like this:

const blacklist = [
  // The logout screen has to be animated only by the logout effect.
  'ksmserver ksmserver', 'ksmserver-logout-greeter ksmserver-logout-greeter',

  // KDE Plasma splash screen has to be animated only by the login effect.
  'ksplashqml ksplashqml',

  // *** HERE *** IntelliJ IDEs should be ignored
  'jetbrains-studio jetbrains-studio', 'jetbrains-aqua jetbrains-aqua', 'jetbrains-clion jetbrains-clion',
  'jetbrains-datagrip jetbrains-datagrip', 'jetbrains-dataspell jetbrains-dataspell',
  'jetbrains-goland jetbrains-goland', 'jetbrains-idea jetbrains-idea', 'jetbrains-idea-ce jetbrains-idea-ce',
  'jetbrains-phpstorm jetbrains-phpstorm', 'jetbrains-pycharm jetbrains-pycharm', 
  'jetbrains-pycharm-ce jetbrains-pycharm-ce', 'jetbrains-rider jetbrains-rider',
  'jetbrains-rubymine jetbrains-rubymine', 'jetbrains-webstorm jetbrains-webstorm'
];

Wow, awesome work! Would you like to create a pull request with this updated blacklist? This way you would be properly attributed as contributor by GitHub. Else I would simply copy the list myself.

Yea, for sure. I'll send a pull request. Thank you.