diff --git a/flutter/lib/common/widgets/toolbar.dart b/flutter/lib/common/widgets/toolbar.dart index 1c55da674..c1fabdf93 100644 --- a/flutter/lib/common/widgets/toolbar.dart +++ b/flutter/lib/common/widgets/toolbar.dart @@ -583,8 +583,7 @@ Future> toolbarDisplayToggle( child: Text(translate('Lock after session end')))); } - if (!pi.isWayland && - pi.isSupportMultiDisplay && + if (pi.isSupportMultiDisplay && PrivacyModeState.find(id).isEmpty && pi.displaysCount.value > 1 && bind.mainGetUseTextureRender() && diff --git a/flutter/lib/desktop/widgets/remote_toolbar.dart b/flutter/lib/desktop/widgets/remote_toolbar.dart index a9fadc336..b65348f05 100644 --- a/flutter/lib/desktop/widgets/remote_toolbar.dart +++ b/flutter/lib/desktop/widgets/remote_toolbar.dart @@ -467,8 +467,7 @@ class _RemoteToolbarState extends State { toolbarItems.add(Obx(() { if (PrivacyModeState.find(widget.id).isEmpty && - pi.displaysCount.value > 1 && - !pi.isWayland) { + pi.displaysCount.value > 1) { return _MonitorMenu( id: widget.id, ffi: widget.ffi, @@ -2466,19 +2465,20 @@ class _DraggableShowHideState extends State<_DraggableShowHide> { ), ), )), - if (!isMacOS) Obx(() => Offstage( - offstage: isFullscreen.isFalse, - child: TextButton( - onPressed: () => widget.setMinimize(), - child: Tooltip( - message: translate('Minimize'), - child: Icon( - Icons.remove, - size: iconSize, + if (!isMacOS) + Obx(() => Offstage( + offstage: isFullscreen.isFalse, + child: TextButton( + onPressed: () => widget.setMinimize(), + child: Tooltip( + message: translate('Minimize'), + child: Icon( + Icons.remove, + size: iconSize, + ), ), ), - ), - )), + )), TextButton( onPressed: () => setState(() { widget.show.value = !widget.show.value; diff --git a/libs/scrap/src/wayland/pipewire.rs b/libs/scrap/src/wayland/pipewire.rs index b946bd1e5..c7f2e62ac 100644 --- a/libs/scrap/src/wayland/pipewire.rs +++ b/libs/scrap/src/wayland/pipewire.rs @@ -645,8 +645,8 @@ fn on_create_session_response( "handle_token".to_string(), Variant(Box::new("u3".to_string())), ); - // https://flatpak.github.io/xdg-desktop-portal/portal-docs.html#gdbus-method-org-freedesktop-portal-ScreenCast.SelectSources - args.insert("multiple".into(), Variant(Box::new(true))); + // https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.ScreenCast.html + // args.insert("multiple".into(), Variant(Box::new(true))); args.insert("types".into(), Variant(Box::new(1u32))); //| 2u32))); let path = portal.select_sources(ses.clone(), args)?; @@ -663,6 +663,9 @@ fn on_create_session_response( failure.clone(), )?; } else { + // TODO: support persist_mode for remote_desktop_portal + // https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.RemoteDesktop.html + args.insert( "handle_token".to_string(), Variant(Box::new("u2".to_string())), @@ -706,8 +709,8 @@ fn on_select_devices_response( "handle_token".to_string(), Variant(Box::new("u3".to_string())), ); - // https://flatpak.github.io/xdg-desktop-portal/portal-docs.html#gdbus-method-org-freedesktop-portal-ScreenCast.SelectSources - args.insert("multiple".into(), Variant(Box::new(true))); + // https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.ScreenCast.html + // args.insert("multiple".into(), Variant(Box::new(true))); args.insert("types".into(), Variant(Box::new(1u32))); //| 2u32))); let session = session.clone();