Add GNOME 49 support, v2.3
This commit is contained in:
parent
1a1cbc94c5
commit
091ffff822
12
README.md
12
README.md
|
|
@ -14,7 +14,7 @@ There are two installations available. **Note: Don't manually install either of
|
|||
|
||||
## Breezy Desktop
|
||||
|
||||
Breezy Desktop is a virtual workspace solution for Linux desktops that use the KDE Plasma 6 or GNOME desktop environments (versions 42 through 48). It supports launching multiple virtual monitors alongside multiple physical monitors. For Linux users not running GNOME or KDE, you can play around with a [nested GNOME setup](#nested-gnome-setup).
|
||||
Breezy Desktop is a virtual workspace solution for Linux desktops that use the KDE Plasma 6 or GNOME desktop environments (versions 42 through 49). It supports launching multiple virtual monitors alongside multiple physical monitors. For Linux users not running GNOME or KDE, you can play around with a [nested GNOME setup](#nested-gnome-setup).
|
||||
|
||||
For the best performance, ensure you have the latest graphics drivers installed for your distro.
|
||||
|
||||
|
|
@ -61,9 +61,13 @@ Breezy GNOME is in AUR (but not pacman, yet). To install, run these commands fro
|
|||
|
||||
#### Nested-GNOME Setup
|
||||
A workable demo -- but not a great long-term solutions -- is to use your preferred desktop environment with a GNOME window open in nested mode. To do this:
|
||||
1. Install `gnome-shell` using your distros package manager (e.g. apt-get, pacman, dnf, etc...). This will currently only work with GNOME Shell versions 42-47, so check that using `gnome-shell --version`
|
||||
2. Run the [GNOME setup](#gnome-setup) steps. You shouldn't need to log out and back in since GNOME will be running nested.
|
||||
3. Launch the nested GNOME Shell using `MUTTER_DEBUG_DUMMY_MODE_SPECS="1920x1080@60" dbus-run-session -- gnome-shell --nested`
|
||||
1. Install `gnome-shell` using your distros package manager (e.g. apt-get, pacman, dnf, etc...). This will currently only work with GNOME Shell versions 42-49, so check that using `gnome-shell --version`
|
||||
2. On GNOME 49 and above, you'll also need to install the mutter devkit package
|
||||
3. Run the [GNOME setup](#gnome-setup) steps. You shouldn't need to log out and back in since GNOME will be running nested.
|
||||
4. Launch the nested GNOME Shell using:
|
||||
* GNOME 49 and newer: `MUTTER_DEBUG_DUMMY_MODE_SPECS="1920x1080@60" dbus-run-session -- gnome-shell --devkit`
|
||||
* Older GNOME versions: `MUTTER_DEBUG_DUMMY_MODE_SPECS="1920x1080@60" dbus-run-session -- gnome-shell --nested`
|
||||
5. You may have to set developer mode: `gsettings set com.xronlinux.BreezyDesktop developer-mode true`
|
||||
|
||||
#### Breezy GNOME Usage
|
||||
|
||||
|
|
|
|||
|
|
@ -76,10 +76,20 @@ export class CursorManager {
|
|||
}
|
||||
|
||||
if (!this._cursorVisibilityChangedId) {
|
||||
this._cursorTracker.set_pointer_visible(false);
|
||||
if (this._cursorTracker.inhibit_cursor_visibility) {
|
||||
this._cursorTracker.inhibit_cursor_visibility();
|
||||
} else {
|
||||
this._cursorTracker.set_pointer_visible(false);
|
||||
}
|
||||
|
||||
this._cursorVisibilityChangedId = this._cursorTracker.connect('visibility-changed', (() => {
|
||||
if (this._cursorTracker.get_pointer_visible())
|
||||
this._cursorTracker.set_pointer_visible(false);
|
||||
if (this._cursorTracker.get_pointer_visible()) {
|
||||
if (this._cursorTracker.inhibit_cursor_visibility) {
|
||||
this._cursorTracker.inhibit_cursor_visibility();
|
||||
} else {
|
||||
this._cursorTracker.set_pointer_visible(false);
|
||||
}
|
||||
}
|
||||
}).bind(this));
|
||||
}
|
||||
}
|
||||
|
|
@ -157,8 +167,13 @@ export class CursorManager {
|
|||
if (this._cursorVisibilityChangedId) {
|
||||
this._cursorTracker.disconnect(this._cursorVisibilityChangedId);
|
||||
delete this._cursorVisibilityChangedId;
|
||||
|
||||
|
||||
this._cursorTracker.set_pointer_visible(true);
|
||||
if (this._cursorTracker.uninhibit_cursor_visibility) {
|
||||
this._cursorTracker.uninhibit_cursor_visibility();
|
||||
} else {
|
||||
this._cursorTracker.set_pointer_visible(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -136,7 +136,8 @@ export default class BreezyDesktopExtension extends Extension {
|
|||
Globals.logger.log_debug('BreezyDesktopExtension _find_supported_monitor - Using dummy monitor');
|
||||
// find the first of the physical monitors
|
||||
target_monitor = this._monitor_manager.getMonitorPropertiesList()?.find(
|
||||
monitor => monitor && monitor.product !== VIRTUAL_MONITOR_PRODUCT);
|
||||
monitor => monitor && monitor.product !== VIRTUAL_MONITOR_PRODUCT) ||
|
||||
this._monitor_manager.getMonitorPropertiesList()?.[0];
|
||||
is_dummy = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"settings-schema": "com.xronlinux.BreezyDesktop",
|
||||
"session-modes": ["user"],
|
||||
"shell-version": [
|
||||
"46", "47", "48"
|
||||
"46", "47", "48", "49"
|
||||
],
|
||||
"url": "https://github.com/wheaney/breezy-desktop"
|
||||
}
|
||||
Loading…
Reference in New Issue