diff --git a/gnome/bin/setup b/gnome/bin/setup index bd4c8b5..8d9c69e 100755 --- a/gnome/bin/setup +++ b/gnome/bin/setup @@ -19,6 +19,42 @@ check_command "update-desktop-database" check_command "gtk-update-icon-cache" check_command "python" "python3" +PYTHON_GI_CHECK="import gi; gi.require_version('Gtk', '4.0'); gi.require_version('Adw', '1'); gi.require_version('Gio', '2.0'); gi.require_version('GLib', '2.0'); gi.require_version('GObject', '2.0'); gi.require_version('Gst', '1.0'); from gi.repository import Gtk, Adw, Gio, GLib, GObject, Gst" + +if ! { python3 -c "$PYTHON_GI_CHECK" 2>/dev/null || python -c "$PYTHON_GI_CHECK" 2>/dev/null; }; then + echo "Please install the required GTK4, libadwaita, and GStreamer libraries:" + echo "For Debian/Ubuntu: sudo apt install python3-gi gir1.2-gtk-4.0 libadwaita-1-0 gir1.2-adw-1 gir1.2-glib-2.0 gir1.2-gobject-2.0 gir1.2-gstreamer-1.0" + echo "For Fedora: sudo dnf install python3-gobject gtk4 libadwaita gstreamer1-python" + echo "For Arch Linux: sudo pacman -S python-gobject gtk4 libadwaita gst-python" + exit 1 +fi + +if ! gst-inspect-1.0 &>/dev/null; then + echo "Please install the gstreamer package, and make sure it's available in your \$PATH, then rerun the setup." + echo "For Debian/Ubuntu: sudo apt install gstreamer1.0-tools gstreamer1.0-pipewire" + echo "For Fedora: sudo dnf install gstreamer1-plugins-base-tools gstreamer1-plugin-pipewire" + echo "For Arch Linux: sudo pacman -S gst-plugins-base gst-plugin-pipewire" + exit 1 +fi + +if ! gst-inspect-1.0 pipewiresrc &>/dev/null; then + echo "Please install the gst-plugin-pipewire package, and make sure it's available in your \$PATH, then rerun the setup." + echo "For Debian/Ubuntu: sudo apt install gstreamer1.0-pipewire" + echo "For Fedora: sudo dnf install gstreamer1-plugin-pipewire" + echo "For Arch Linux: sudo pacman -S gst-plugin-pipewire" + exit 1 +fi + +if [ "$XDG_SESSION_TYPE" != "wayland" ]; then + printf "\033[1;33mWARNING:\033[0m Windowing system is %s\n" "$XDG_SESSION_TYPE" + printf "\033[1;33mWARNING:\033[0m Virtual display functionality requires GNOME on Wayland\n" +fi + +if ! systemctl --user is-active gnome-remote-desktop &>/dev/null; then + printf "\033[1;33mWARNING:\033[0m gnome-remote-desktop service is not running\n" + printf "\033[1;33mWARNING:\033[0m Virtual display functionality requires the gnome-remote-desktop service running\n" +fi + # This script gets packaged with the release and should do the bulk of the setup work. This allows this setup to be tied # to a specific release of the code, and guarantees it will never run along-side newer or older binaries. diff --git a/ui/po/breezydesktop.pot b/ui/po/breezydesktop.pot index 27bf5c0..e12d010 100644 --- a/ui/po/breezydesktop.pot +++ b/ui/po/breezydesktop.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-03-11 14:24-0700\n" +"POT-Creation-Date: 2025-03-12 08:57-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -43,17 +43,17 @@ msgstr "" msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:263 +#: src/connecteddevice.py:266 msgid "" -"Unable to add virtual displays on this machine. xdg-desktop-portal is " -"required." +"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" +"portal are required." msgstr "" -#: src/connecteddevice.py:297 +#: src/connecteddevice.py:300 msgid "Focused display" msgstr "" -#: src/connecteddevice.py:303 +#: src/connecteddevice.py:306 msgid "All displays" msgstr "" diff --git a/ui/po/de.po b/ui/po/de.po index 4a875c2..501a1ce 100644 --- a/ui/po/de.po +++ b/ui/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-03-11 13:47-0700\n" +"POT-Creation-Date: 2025-03-12 08:49-0700\n" "PO-Revision-Date: 2024-08-02 20:54-0700\n" "Last-Translator: \n" "Language-Team: German \n" @@ -47,18 +47,18 @@ msgstr "Display-Entfernung" msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:263 +#: src/connecteddevice.py:266 msgid "" -"Unable to add virtual displays on this machine. xdg-desktop-portal is " -"required." +"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" +"portal are required." msgstr "" -#: src/connecteddevice.py:297 +#: src/connecteddevice.py:300 #, fuzzy msgid "Focused display" msgstr "Display-Entfernung" -#: src/connecteddevice.py:303 +#: src/connecteddevice.py:306 #, fuzzy msgid "All displays" msgstr "Gebogenes Display" diff --git a/ui/po/es.po b/ui/po/es.po index 126a619..2dd4a91 100644 --- a/ui/po/es.po +++ b/ui/po/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-03-11 13:47-0700\n" +"POT-Creation-Date: 2025-03-12 08:49-0700\n" "PO-Revision-Date: 2024-08-02 20:55-0700\n" "Last-Translator: \n" "Language-Team: Spanish \n" @@ -46,18 +46,18 @@ msgstr "Distancia de la pantalla" msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:263 +#: src/connecteddevice.py:266 msgid "" -"Unable to add virtual displays on this machine. xdg-desktop-portal is " -"required." +"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" +"portal are required." msgstr "" -#: src/connecteddevice.py:297 +#: src/connecteddevice.py:300 #, fuzzy msgid "Focused display" msgstr "Distancia de la pantalla" -#: src/connecteddevice.py:303 +#: src/connecteddevice.py:306 #, fuzzy msgid "All displays" msgstr "Pantalla curvada" diff --git a/ui/po/fr.po b/ui/po/fr.po index f28d830..623cecf 100644 --- a/ui/po/fr.po +++ b/ui/po/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-03-11 13:47-0700\n" +"POT-Creation-Date: 2025-03-12 08:49-0700\n" "PO-Revision-Date: 2024-08-02 20:54-0700\n" "Last-Translator: \n" "Language-Team: French \n" @@ -49,18 +49,18 @@ msgstr "Distance d'affichage" msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:263 +#: src/connecteddevice.py:266 msgid "" -"Unable to add virtual displays on this machine. xdg-desktop-portal is " -"required." +"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" +"portal are required." msgstr "" -#: src/connecteddevice.py:297 +#: src/connecteddevice.py:300 #, fuzzy msgid "Focused display" msgstr "Distance d'affichage" -#: src/connecteddevice.py:303 +#: src/connecteddevice.py:306 #, fuzzy msgid "All displays" msgstr "Affichage incurvé" diff --git a/ui/po/it.po b/ui/po/it.po index 62a389c..b53a1f6 100644 --- a/ui/po/it.po +++ b/ui/po/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-03-11 13:47-0700\n" +"POT-Creation-Date: 2025-03-12 08:49-0700\n" "PO-Revision-Date: 2024-08-02 21:14-0700\n" "Last-Translator: \n" "Language-Team: Italian \n" @@ -47,18 +47,18 @@ msgstr "Distanza del display" msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:263 +#: src/connecteddevice.py:266 msgid "" -"Unable to add virtual displays on this machine. xdg-desktop-portal is " -"required." +"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" +"portal are required." msgstr "" -#: src/connecteddevice.py:297 +#: src/connecteddevice.py:300 #, fuzzy msgid "Focused display" msgstr "Distanza del display" -#: src/connecteddevice.py:303 +#: src/connecteddevice.py:306 #, fuzzy msgid "All displays" msgstr "Display curvo" diff --git a/ui/po/ja.po b/ui/po/ja.po index 128e472..d9f40b8 100644 --- a/ui/po/ja.po +++ b/ui/po/ja.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-03-11 13:47-0700\n" +"POT-Creation-Date: 2025-03-12 08:49-0700\n" "PO-Revision-Date: 2024-08-02 20:55-0700\n" "Last-Translator: \n" "Language-Team: Japanese \n" @@ -49,18 +49,18 @@ msgstr "すべてのディスプレイ距離" msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "遠くに設定すると視線の外れたディスプレイがズームアウトします。" -#: src/connecteddevice.py:263 +#: src/connecteddevice.py:266 msgid "" -"Unable to add virtual displays on this machine. xdg-desktop-portal is " -"required." +"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" +"portal are required." msgstr "仮想ディスプレイが追加できません。" -#: src/connecteddevice.py:297 +#: src/connecteddevice.py:300 #, fuzzy msgid "Focused display" msgstr "フォーカスされたディスプレイ" -#: src/connecteddevice.py:303 +#: src/connecteddevice.py:306 #, fuzzy msgid "All displays" msgstr "すべてのディスプレイ" diff --git a/ui/po/mo/ja/LC_MESSAGES/breezydesktop.mo b/ui/po/mo/ja/LC_MESSAGES/breezydesktop.mo index 2cc0d3a..389927d 100644 Binary files a/ui/po/mo/ja/LC_MESSAGES/breezydesktop.mo and b/ui/po/mo/ja/LC_MESSAGES/breezydesktop.mo differ diff --git a/ui/po/mo/pt_BR/LC_MESSAGES/breezydesktop.mo b/ui/po/mo/pt_BR/LC_MESSAGES/breezydesktop.mo index 039d964..f9fdcaa 100644 Binary files a/ui/po/mo/pt_BR/LC_MESSAGES/breezydesktop.mo and b/ui/po/mo/pt_BR/LC_MESSAGES/breezydesktop.mo differ diff --git a/ui/po/mo/zh_CN/LC_MESSAGES/breezydesktop.mo b/ui/po/mo/zh_CN/LC_MESSAGES/breezydesktop.mo index dcacf9b..3a4b100 100644 Binary files a/ui/po/mo/zh_CN/LC_MESSAGES/breezydesktop.mo and b/ui/po/mo/zh_CN/LC_MESSAGES/breezydesktop.mo differ diff --git a/ui/po/pl.po b/ui/po/pl.po index 98512f1..b5fded0 100644 --- a/ui/po/pl.po +++ b/ui/po/pl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-03-11 13:47-0700\n" +"POT-Creation-Date: 2025-03-12 08:49-0700\n" "PO-Revision-Date: 2024-08-16 10:26-0700\n" "Last-Translator: \n" "Language-Team: Polish \n" @@ -44,17 +44,17 @@ msgstr "" msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:263 +#: src/connecteddevice.py:266 msgid "" -"Unable to add virtual displays on this machine. xdg-desktop-portal is " -"required." +"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" +"portal are required." msgstr "" -#: src/connecteddevice.py:297 +#: src/connecteddevice.py:300 msgid "Focused display" msgstr "" -#: src/connecteddevice.py:303 +#: src/connecteddevice.py:306 msgid "All displays" msgstr "" diff --git a/ui/po/pt_BR.po b/ui/po/pt_BR.po index 24dc1e6..843ebf3 100644 --- a/ui/po/pt_BR.po +++ b/ui/po/pt_BR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-03-11 13:47-0700\n" +"POT-Creation-Date: 2025-03-12 08:49-0700\n" "PO-Revision-Date: 2024-08-19 09:39-0700\n" "Last-Translator: \n" "Language-Team: Brazilian Portuguese ${amount} USD" msgstr "${amount} USD" @@ -222,8 +226,8 @@ msgid "" " " msgstr "" "Mover automaticamente a tela mais perto quando olha nela.\n" -"Defina as suas distâncias preferidas focadas e não focadas nos " -"Ajustes de secção.\n" +"Defina as suas distâncias preferidas focadas e não focadas nos Ajustes de " +"secção.\n" " " #: src/gtk/connected-device.ui:70 @@ -241,7 +245,9 @@ msgstr "Desativar as telas físicas" #: src/gtk/connected-device.ui:82 src/gtk/no-device.ui:35 msgid "" "Automatically disable all physical displays when the XR effect is enabled." -msgstr "Desactive automaticamente todos as telas físicas quando o efeito XR estiver activado." +msgstr "" +"Desactive automaticamente todos as telas físicas quando o efeito XR estiver " +"activado." #: src/gtk/connected-device.ui:92 msgid "Virtual displays" @@ -300,7 +306,9 @@ msgstr "Tamanho da tela" #: src/gtk/connected-device.ui:247 msgid "" "When there are multiple displays, choose how they should angle towards you." -msgstr "Quando existirem várias telas, escolha o ângulo em que devem estar virados para si." +msgstr "" +"Quando existirem várias telas, escolha o ângulo em que devem estar virados " +"para si." #: src/gtk/connected-device.ui:261 msgid "Automatic" @@ -332,7 +340,9 @@ msgstr "Deslocamento horizontal da janela de visualização" #: src/gtk/connected-device.ui:306 msgid "Move the viewport to the left or right of its default position." -msgstr "Mova a janela de visualização para a esquerda ou direita da sua posição predefinida." +msgstr "" +"Mova a janela de visualização para a esquerda ou direita da sua posição " +"predefinida." #: src/gtk/connected-device.ui:323 msgid "left" @@ -352,7 +362,9 @@ msgstr "Deslocamento vertical da janela de visualização" #: src/gtk/connected-device.ui:336 msgid "Move the viewport up or down from its default position." -msgstr "Mova a janela de visualização para cima ou para baixo da sua posição predefinida." +msgstr "" +"Mova a janela de visualização para cima ou para baixo da sua posição " +"predefinida." #: src/gtk/connected-device.ui:353 msgid "down" @@ -374,8 +386,9 @@ msgstr "Atalho para ligar/desligar o efeito XR" msgid "" "Quickly enable or disable the XR Effect. You may need to enable the effect " "manually once in order to enable the shortcut." -msgstr "Ative ou desative rapidamente o Efeito XR. Pode ser necessário " -"ativar o efeito manualmente para ativar o atalho." +msgstr "" +"Ative ou desative rapidamente o Efeito XR. Pode ser necessário ativar o " +"efeito manualmente para ativar o atalho." #: src/gtk/connected-device.ui:410 msgid "Re-center display shortcut" @@ -435,8 +448,9 @@ msgstr "Centralize na exposição dos óculos" msgid "" "Center the viewport on the glasses' display, even if the display is not in " "the middle." -msgstr "Centralize a janela de visualização no ecrã dos óculos, mesmo que a " -"tela não esteja no meio." +msgstr "" +"Centralize a janela de visualização no ecrã dos óculos, mesmo que a tela não " +"esteja no meio." #: src/gtk/connected-device.ui:551 msgid "Always primary display" @@ -453,7 +467,8 @@ msgstr "Tela curva" #: src/gtk/connected-device.ui:563 msgid "Automatically remove virtual displays when the XR effect is disabled." -msgstr "Remove automaticamente as telas virtuais quando o efeito XR está desativado." +msgstr "" +"Remove automaticamente as telas virtuais quando o efeito XR está desativado." #: src/gtk/connected-device.ui:573 msgid "Enable multi-tap detection" @@ -702,6 +717,13 @@ msgstr "Forçar redefinição" msgid "About BreezyDesktop" msgstr "Sobre o BreezyDesktop" +#~ msgid "" +#~ "Unable to add virtual displays on this machine. xdg-desktop-portal is " +#~ "required." +#~ msgstr "" +#~ "Não é possível adicionar telas neste dispositivo. xdg-desktop-portal é " +#~ "requerido." + #~ msgid "Fast SBS mode switching" #~ msgstr "Alternância rápida do modo SBS" diff --git a/ui/po/ru.po b/ui/po/ru.po index b2c8a90..8872671 100644 --- a/ui/po/ru.po +++ b/ui/po/ru.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-03-11 13:47-0700\n" +"POT-Creation-Date: 2025-03-12 08:49-0700\n" "PO-Revision-Date: 2024-08-17 09:39-0700\n" "Last-Translator: \n" "Language-Team: Russian \n" @@ -47,18 +47,18 @@ msgstr "Расстояние дисплея" msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:263 +#: src/connecteddevice.py:266 msgid "" -"Unable to add virtual displays on this machine. xdg-desktop-portal is " -"required." +"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" +"portal are required." msgstr "" -#: src/connecteddevice.py:297 +#: src/connecteddevice.py:300 #, fuzzy msgid "Focused display" msgstr "Расстояние дисплея" -#: src/connecteddevice.py:303 +#: src/connecteddevice.py:306 #, fuzzy msgid "All displays" msgstr "Изогнутый дисплей" diff --git a/ui/po/sv.po b/ui/po/sv.po index 95d40eb..e8b7ee4 100644 --- a/ui/po/sv.po +++ b/ui/po/sv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-03-11 13:47-0700\n" +"POT-Creation-Date: 2025-03-12 08:49-0700\n" "PO-Revision-Date: 2024-08-16 10:31-0700\n" "Last-Translator: \n" "Language-Team: Swedish \n" @@ -47,18 +47,18 @@ msgstr "Avstånd till skärmen" msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:263 +#: src/connecteddevice.py:266 msgid "" -"Unable to add virtual displays on this machine. xdg-desktop-portal is " -"required." +"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" +"portal are required." msgstr "" -#: src/connecteddevice.py:297 +#: src/connecteddevice.py:300 #, fuzzy msgid "Focused display" msgstr "Avstånd till skärmen" -#: src/connecteddevice.py:303 +#: src/connecteddevice.py:306 #, fuzzy msgid "All displays" msgstr "Böjd skärm" diff --git a/ui/po/uk_UA.po b/ui/po/uk_UA.po index 61806f7..109c2f5 100644 --- a/ui/po/uk_UA.po +++ b/ui/po/uk_UA.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-03-11 13:47-0700\n" +"POT-Creation-Date: 2025-03-12 08:49-0700\n" "PO-Revision-Date: 2024-08-17 10:08-0700\n" "Last-Translator: \n" "Language-Team: Ukrainian \n" @@ -46,18 +46,18 @@ msgstr "Відстань дисплея" msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:263 +#: src/connecteddevice.py:266 msgid "" -"Unable to add virtual displays on this machine. xdg-desktop-portal is " -"required." +"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" +"portal are required." msgstr "" -#: src/connecteddevice.py:297 +#: src/connecteddevice.py:300 #, fuzzy msgid "Focused display" msgstr "Відстань дисплея" -#: src/connecteddevice.py:303 +#: src/connecteddevice.py:306 #, fuzzy msgid "All displays" msgstr "Викривлений дисплей" diff --git a/ui/po/zh_CN.po b/ui/po/zh_CN.po index ff94794..7419c07 100644 --- a/ui/po/zh_CN.po +++ b/ui/po/zh_CN.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-03-11 13:47-0700\n" +"POT-Creation-Date: 2025-03-12 08:49-0700\n" "PO-Revision-Date: 2024-08-02 20:55-0700\n" "Last-Translator: \n" "Language-Team: Chinese (simplified) \n" @@ -42,17 +42,18 @@ msgstr "设定所有屏幕的距离" msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "远的数值会将您所看向的屏幕缩小" -#: src/connecteddevice.py:263 +#: src/connecteddevice.py:266 msgid "" -"Unable to add virtual displays on this machine. xdg-desktop-portal is " -"required." -msgstr "无法增加模拟显示。需要安装xdg-desktop-portal" +"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" +"portal are required." +msgstr "" +"无法增加模拟显示。需要安装xdg-desktop-portal" -#: src/connecteddevice.py:297 +#: src/connecteddevice.py:300 msgid "Focused display" msgstr "注视中的屏幕" -#: src/connecteddevice.py:303 +#: src/connecteddevice.py:306 msgid "All displays" msgstr "所有的屏幕" @@ -675,6 +676,11 @@ msgstr "强制重置" msgid "About BreezyDesktop" msgstr "关于 Breezy Desktop" +#~ msgid "" +#~ "Unable to add virtual displays on this machine. xdg-desktop-portal is " +#~ "required." +#~ msgstr "无法增加模拟显示。需要安装xdg-desktop-portal" + #~ msgid "Fast SBS mode switching" #~ msgstr "快速并排模式切换" diff --git a/ui/src/connecteddevice.py b/ui/src/connecteddevice.py index 8855de2..3a4f78e 100644 --- a/ui/src/connecteddevice.py +++ b/ui/src/connecteddevice.py @@ -203,6 +203,9 @@ class ConnectedDevice(Gtk.Box): for id in self._custom_resolution_options: self.add_virtual_display_menu.insert(self._default_resolution_options_count, id, id) + # wayland is required to create virtual displays + self.is_wayland = "WAYLAND_DISPLAY" in os.environ + def _bind_switch_to_config(self, switch, config_key): self.config_manager.bind_property(config_key, switch, 'active', Gio.SettingsBindFlags.DEFAULT) switch.set_active(self.config_manager.get_property(config_key)) @@ -258,9 +261,9 @@ class ConnectedDevice(Gtk.Box): for widget in self.all_enabled_state_inputs: widget.set_sensitive(requesting_enabled) - if not is_screencast_available(): + if not is_screencast_available() or not self.is_wayland: self.virtual_displays_row.set_subtitle( - _("Unable to add virtual displays on this machine. xdg-desktop-portal is required.")) + _("Unable to add virtual displays on this machine. Wayland and xdg-desktop-portal are required.")) self.add_virtual_display_button.set_sensitive(False) self.add_virtual_display_menu.set_sensitive(False)