From 82f88b3121eb0b7f0a881aed6b405c0935b50c20 Mon Sep 17 00:00:00 2001 From: wheaney <42350981+wheaney@users.noreply.github.com> Date: Wed, 12 Mar 2025 08:56:38 -0700 Subject: [PATCH] Improve dependency checking on setup --- gnome/bin/setup | 36 +++++++++++ ui/po/breezydesktop.pot | 12 ++-- ui/po/de.po | 12 ++-- ui/po/es.po | 12 ++-- ui/po/fr.po | 12 ++-- ui/po/it.po | 12 ++-- ui/po/ja.po | 12 ++-- ui/po/mo/ja/LC_MESSAGES/breezydesktop.mo | Bin 10577 -> 14838 bytes ui/po/mo/pt_BR/LC_MESSAGES/breezydesktop.mo | Bin 14498 -> 14739 bytes ui/po/mo/zh_CN/LC_MESSAGES/breezydesktop.mo | Bin 13298 -> 13311 bytes ui/po/pl.po | 12 ++-- ui/po/pt_BR.po | 66 +++++++++++++------- ui/po/ru.po | 12 ++-- ui/po/sv.po | 12 ++-- ui/po/uk_UA.po | 12 ++-- ui/po/zh_CN.po | 20 +++--- ui/src/connecteddevice.py | 7 ++- 17 files changed, 158 insertions(+), 91 deletions(-) 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 2cc0d3ab4da01030dd2da6a36cad3399271d6672..389927d2689f486908779fc45d2d906ac0221c67 100644 GIT binary patch delta 6228 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 diff --git a/ui/po/mo/pt_BR/LC_MESSAGES/breezydesktop.mo b/ui/po/mo/pt_BR/LC_MESSAGES/breezydesktop.mo index 039d964505c7be281a02b0dbf55a298d5c55fae8..f9fdcaa0d57874f67416cb6e43b7bf904b8130aa 100644 GIT binary patch delta 3487 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 F>OX2xpe_Ia 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)