My Vision allows you to store and quickly switch between multiple display configuration profiles directly from the GNOME system menu. Profiles are bound to specific display devices, eliminating 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 |
|---|---|
| 18 | Active |
| 17 | Active |
| 16 | Inactive |
| 15 | Rejected |
| 14 | Inactive |
| 13 | Inactive |
| 12 | Inactive |
| 11 | Inactive |
| 10 | Inactive |
| 9 | Inactive |
| 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.