Attempt to fix a GNOME 48 issue with the enable_unredirect call, v2.0.8
This commit is contained in:
parent
427dbef704
commit
6f80299eb0
|
|
@ -117,7 +117,6 @@ export class CursorManager {
|
|||
|
||||
this._updateMouseSprite();
|
||||
this._cursorTracker.connectObject('cursor-changed', this._updateMouseSprite.bind(this), this);
|
||||
Meta.Compositor?.disable_unredirect?.() ?? Meta.disable_unredirect_for_display(global.display);
|
||||
|
||||
// cap the refresh rate for performance reasons
|
||||
const interval = 1000.0 / Math.min(this._refreshRate, 60);
|
||||
|
|
@ -141,7 +140,6 @@ export class CursorManager {
|
|||
|
||||
if (this._cursorTracker) this._cursorTracker.disconnectObject(this);
|
||||
if (this._mouseSprite?.content?.texture) this._mouseSprite.content.texture = null;
|
||||
Meta.Compositor?.enable_unredirect?.() ?? Meta.enable_unredirect_for_display(global.display);
|
||||
|
||||
if (!this._systemCursorShown) this._showSystemCursor();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -295,7 +295,11 @@ export default class BreezyDesktopExtension extends Extension {
|
|||
this._virtual_displays_actor.connect('notify::focused-monitor-details', this._update_display_distance.bind(this));
|
||||
this._follow_threshold_connection = this.settings.connect('changed::follow-threshold', this._update_follow_threshold.bind(this));
|
||||
|
||||
Meta.Compositor?.disable_unredirect?.() ?? Meta.disable_unredirect_for_display(global.display);
|
||||
if (Meta.Compositor?.disable_unredirect) {
|
||||
Meta.Compositor.disable_unredirect();
|
||||
} else {
|
||||
Meta.disable_unredirect_for_display(global.display);
|
||||
}
|
||||
|
||||
this._add_settings_keybinding('toggle-xr-effect-shortcut', this._toggle_xr_effect.bind(this));
|
||||
this._add_settings_keybinding('recenter-display-shortcut', this._recenter_display.bind(this));
|
||||
|
|
@ -538,7 +542,12 @@ export default class BreezyDesktopExtension extends Extension {
|
|||
Main.wm.removeKeybinding('recenter-display-shortcut');
|
||||
Main.wm.removeKeybinding('toggle-display-distance-shortcut');
|
||||
Main.wm.removeKeybinding('toggle-follow-shortcut');
|
||||
Meta.Compositor?.enable_unredirect?.() ?? Meta.enable_unredirect_for_display(global.display);
|
||||
|
||||
if (Meta.Compositor?.enable_unredirect) {
|
||||
Meta.Compositor.enable_unredirect();
|
||||
} else {
|
||||
Meta.enable_unredirect_for_display(global.display);
|
||||
}
|
||||
|
||||
for (let settings_key of this._effect_settings_bindings) {
|
||||
Gio.Settings.unbind(this.settings, settings_key);
|
||||
|
|
|
|||
|
|
@ -586,16 +586,41 @@ export const VirtualDisplaysActor = GObject.registerClass({
|
|||
|
||||
try {
|
||||
const calibratingBanner = GdkPixbuf.Pixbuf.new_from_file(`${Globals.extension_dir}/textures/calibrating.png`);
|
||||
const calibratingImage = new Clutter.Image();
|
||||
calibratingImage.set_data(calibratingBanner.get_pixels(), Cogl.PixelFormat.RGB_888,
|
||||
calibratingBanner.width, calibratingBanner.height, calibratingBanner.rowstride);
|
||||
this.bannerContent = Clutter.TextureContent.new_from_texture(calibratingImage.get_texture(), null);
|
||||
|
||||
const customBanner = GdkPixbuf.Pixbuf.new_from_file(`${Globals.extension_dir}/textures/custom_banner.png`);
|
||||
const customBannerImage = new Clutter.Image();
|
||||
customBannerImage.set_data(customBanner.get_pixels(), Cogl.PixelFormat.RGB_888,
|
||||
customBanner.width, customBanner.height, customBanner.rowstride);
|
||||
this.customBannerContent = Clutter.TextureContent.new_from_texture(customBannerImage.get_texture(), null);
|
||||
|
||||
if (Clutter.Image) {
|
||||
const calibratingImage = new Clutter.Image();
|
||||
calibratingImage.set_data(calibratingBanner.get_pixels(), Cogl.PixelFormat.RGB_888,
|
||||
calibratingBanner.width, calibratingBanner.height, calibratingBanner.rowstride);
|
||||
this.bannerContent = Clutter.TextureContent.new_from_texture(calibratingImage.get_texture(), null);
|
||||
|
||||
const customBannerImage = new Clutter.Image();
|
||||
customBannerImage.set_data(customBanner.get_pixels(), Cogl.PixelFormat.RGB_888,
|
||||
customBanner.width, customBanner.height, customBanner.rowstride);
|
||||
this.customBannerContent = Clutter.TextureContent.new_from_texture(customBannerImage.get_texture(), null);
|
||||
} else {
|
||||
const backend = global.stage.get_context?.().get_backend() ?? Clutter.get_default_backend();
|
||||
const coglContext = backend.get_cogl_context();
|
||||
this.bannerContent = St.ImageContent.new_with_preferred_size(calibratingBanner.width, calibratingBanner.height);
|
||||
this.bannerContent.set_bytes(
|
||||
coglContext,
|
||||
calibratingBanner.get_pixels(),
|
||||
Cogl.PixelFormat.RGB_888,
|
||||
calibratingBanner.width,
|
||||
calibratingBanner.height,
|
||||
calibratingBanner.rowstride
|
||||
)
|
||||
|
||||
this.customBannerContent = St.ImageContent.new_with_preferred_size(customBanner.width, customBanner.height);
|
||||
this.customBannerContent.set_bytes(
|
||||
coglContext,
|
||||
customBanner.get_pixels(),
|
||||
Cogl.PixelFormat.RGB_888,
|
||||
customBanner.width,
|
||||
customBanner.height,
|
||||
customBanner.rowstride
|
||||
);
|
||||
}
|
||||
|
||||
this.bannerActor = new Clutter.Actor({
|
||||
width: calibratingBanner.width,
|
||||
|
|
|
|||
Loading…
Reference in New Issue