MyVision is a fork of Display Configuration Switcher that has been thoughtfully and substantially enhanced. It allows users to store profiles that are directly bound to specific display devices. This approach eliminates the need for redundant profiles in scenarios where video outputs are detected or ordered unpredictably.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
| Version | Status |
|---|---|
| 11 | Active |
| 10 | Active |
| 9 | Active |
| 8 | Rejected |
| 7 | Rejected |
| 6 | Rejected |
| 5 | Rejected |
| 4 | Rejected |
| 3 | Rejected |
| 2 | Rejected |
| 1 | Rejected |
What's the reason for `DisplayConfigSwitcher._destroyed`?
Also, you shouldn't remove the copyright notice from the original developer.
The _destroyed flag prevents the async _initProxy() method from setting up signal handlers after the extension has been disabled and disconnectSignals() was called, avoiding race conditions.
1. The instance should be null out after it is getting destroyed. So, on `DisplayConfigQuickMenuToggle.destroy()` you should do this after line 88 `extension.js`: ```js this._displayConfigSwitcher = null; ``` 2. Each class should be responsible for what it does. You shouldn't connect out side. For example, line 40 `extension.js` is a bad practice which can cause racy conditions. Especially, when you are not disconnecting the signal on destroy. 3. Instead of using using `disconnectSignals` in line 24 `dbus.js`, it's better to use `destroy()`. That way, it is much more visible to the outer class, that is going to destroy the instance and it is not usable anymore.