diff --git a/VERSION b/VERSION index a6e7bcb..c945ef1 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.0.17 +2.0.18 diff --git a/gnome/bin/setup b/gnome/bin/setup index fe9dd2b..5649c6e 100755 --- a/gnome/bin/setup +++ b/gnome/bin/setup @@ -37,6 +37,21 @@ if ! { python3 -c "$PYTHON_GI_CHECK" 2>/dev/null || python -c "$PYTHON_GI_CHECK" fi fi +if ! gst-inspect-1.0 pipewiresrc &>/dev/null; then + if [ -z "$BREEZY_IGNORE_GST_ERRORS" ]; then + printf "\033[1;31mERROR:\033[0m Pipewire GStreamer plugin not found\n" + printf "Please install the required Pipewire GStreamer plugin:\n" + printf "\tFor Debian/Ubuntu: sudo apt install gstreamer1.0-pipewire\n" + printf "\tFor Fedora: sudo dnf install pipewire-gstreamer\n" + printf "\tFor Arch Linux: sudo pacman -S gst-plugin-pipewire\n" + printf "\nIf you continue to have issues, rerun the setup with BREEZY_IGNORE_GST_ERRORS=1 to skip this check.\n\n" + exit 1 + else + printf "\033[1;33mWARNING:\033[0m Ignoring GStreamer dependency failures. " + printf "Be aware that virtual display functionality may be disabled.\n\n" + fi +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" diff --git a/modules/XRLinuxDriver b/modules/XRLinuxDriver index 0d8e20d..caca100 160000 --- a/modules/XRLinuxDriver +++ b/modules/XRLinuxDriver @@ -1 +1 @@ -Subproject commit 0d8e20d62bdfbf1edcce4927761b25aa234fcd75 +Subproject commit caca100752be8d5dec5e9d742bf5d2ae3e56b0fb diff --git a/modules/sombrero b/modules/sombrero index 76cb6bb..712497b 160000 --- a/modules/sombrero +++ b/modules/sombrero @@ -1 +1 @@ -Subproject commit 76cb6bb65e90dfe2abf5bd2db8e280ae6e03d5c6 +Subproject commit 712497b4795dbcbaa4c6fdb60a82144cfde26086 diff --git a/ui/po/breezydesktop.pot b/ui/po/breezydesktop.pot index 9a26e4d..bec94d0 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-16 22:26-0700\n" +"POT-Creation-Date: 2025-05-07 12:43-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -45,8 +45,8 @@ msgstr "" #: src/connecteddevice.py:270 msgid "" -"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" -"portal are required." +"Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, " +"and the pipewire GStreamer plugin are required." msgstr "" #: src/connecteddevice.py:304 diff --git a/ui/po/de.po b/ui/po/de.po index c0f8aae..b5d63b2 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-16 22:26-0700\n" +"POT-Creation-Date: 2025-05-07 12:40-0700\n" "PO-Revision-Date: 2024-08-02 20:54-0700\n" "Last-Translator: \n" "Language-Team: German \n" @@ -35,8 +35,9 @@ msgstr "Setze fokussierte Bildschirmentfernung" #: src/connecteddevice.py:146 msgid "Use a closer value so the display zooms in when you look at it." -msgstr "Nutze einen Näher Wert um den Bildschirm zu vergößern, " -"wenn der Bildschirm angesehen wird." +msgstr "" +"Nutze einen Näher Wert um den Bildschirm zu vergößern, wenn der Bildschirm " +"angesehen wird." #: src/connecteddevice.py:153 msgid "Set All Displays Distance" @@ -44,12 +45,14 @@ msgstr "Setze alle Bildschirmentfernungen" #: src/connecteddevice.py:154 msgid "Use a farther value so the displays are zoomed out when you look away." -msgstr "Nutze einen Entfernter Wert um den Bildschirm zu verkleinern, wenn diese nicht angesehen werden." +msgstr "" +"Nutze einen Entfernter Wert um den Bildschirm zu verkleinern, wenn diese " +"nicht angesehen werden." #: src/connecteddevice.py:270 msgid "" -"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" -"portal are required." +"Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, " +"and the pipewire GStreamer plugin are required." msgstr "" "Virtuelle Bildschirme können nicht hinzugefügt werden." "Wayland und xdg-desktop-portal werden benötigt" @@ -222,8 +225,8 @@ msgid "" " " msgstr "" "Bewege automatisch einen Bildschirm näher, wenn Sie ihn ansehen.\n" -"Setzen Sie Ihren bevorzugten fokussierten und nicht fokussierten Abstand " -"im Anpassungen Bereich.\n" +"Setzen Sie Ihren bevorzugten fokussierten und nicht fokussierten Abstand im " +"Anpassungen Bereich.\n" " " #: src/gtk/connected-device.ui:70 @@ -242,7 +245,8 @@ msgstr "Physische Bildschirme deaktivieren" msgid "" "Automatically disable all physical displays when the XR effect is enabled." msgstr "" -"Deaktiviere automatisch alle physikalischen Bildschirme, wenn der XR Effekt aktiviert ist." +"Deaktiviere automatisch alle physikalischen Bildschirme, wenn der XR Effekt " +"aktiviert ist." #: src/gtk/connected-device.ui:104 msgid "Virtual displays" @@ -302,8 +306,7 @@ msgstr "Bildschirmgröße" #: src/gtk/connected-device.ui:259 msgid "" "When there are multiple displays, choose how they should angle towards you." -msgstr "" -"Stelle ein, wie mehrere Bildschirme angewinkelt werden sollen." +msgstr "Stelle ein, wie mehrere Bildschirme angewinkelt werden sollen." #: src/gtk/connected-device.ui:273 msgid "Automatic" @@ -327,7 +330,8 @@ msgstr "Bildschirmgröße" #: src/gtk/connected-device.ui:287 msgid "Put empty space between displays, when there are multiple." -msgstr "Setze einen leeren Bereich zwischen Bildschirme, wenn mehrere vorhanden sind." +msgstr "" +"Setze einen leeren Bereich zwischen Bildschirme, wenn mehrere vorhanden sind." #: src/gtk/connected-device.ui:317 msgid "Viewport horizontal offset" @@ -355,7 +359,8 @@ msgstr "Vertikaler Anzeigebereich Ausgleich" #: src/gtk/connected-device.ui:348 msgid "Move the viewport up or down from its default position." -msgstr "Bewege den Anzeigebreich nach oberhalb oder unterhalb der Anfangsposition." +msgstr "" +"Bewege den Anzeigebreich nach oberhalb oder unterhalb der Anfangsposition." #: src/gtk/connected-device.ui:365 msgid "down" @@ -449,8 +454,8 @@ msgid "" "Center the viewport on the glasses' display, even if the display is not in " "the middle." msgstr "" -"Zentriere den Anzeigebereich auf den Brillenbildschirm, selbst wenn der Bildschirm " -"nicht mittig ist." +"Zentriere den Anzeigebereich auf den Brillenbildschirm, selbst wenn der " +"Bildschirm nicht mittig ist." #: src/gtk/connected-device.ui:592 msgid "Always primary display" @@ -468,7 +473,9 @@ msgstr "Gebogener Bildschirm" #: src/gtk/connected-device.ui:604 msgid "Automatically remove virtual displays when the XR effect is disabled." -msgstr "Entferne virtuelle Bildschirme automatisch, wenn der XR Effekt deaktiviert ist." +msgstr "" +"Entferne virtuelle Bildschirme automatisch, wenn der XR Effekt deaktiviert " +"ist." #: src/gtk/connected-device.ui:614 msgid "Enable multi-tap detection" @@ -476,8 +483,9 @@ msgstr "Aktiviere Multi Tap Erkennung" #: src/gtk/connected-device.ui:615 msgid "Enables double-tap to recenter and triple-tap to recalibrate." -msgstr "Aktviert die Doppelberührung zum rezentrieren und Dreifach-" -"berührung zum Kalibrieren." +msgstr "" +"Aktviert die Doppelberührung zum rezentrieren und Dreifach-berührung zum " +"Kalibrieren." #: src/gtk/connected-device.ui:625 msgid "All displays follow mode" @@ -719,6 +727,13 @@ msgstr "Zurrücksetzung erwzingen" msgid "About BreezyDesktop" msgstr "Über BreezyDesktop" +#~ msgid "" +#~ "Unable to add virtual displays on this machine. Wayland and xdg-desktop-" +#~ "portal are required." +#~ msgstr "" +#~ "Virtuelle Bildschirme können nicht hinzugefügt werden.Wayland und xdg-" +#~ "desktop-portal werden benötigt" + #~ msgid "Fast SBS mode switching" #~ msgstr "Schnelles SBS-Modus-Wechseln" @@ -773,4 +788,4 @@ msgstr "Über BreezyDesktop" #~ msgstr "Im Breitbildmodus starten" #~ msgid "Widescreen mode is not supported for all glasses." -#~ msgstr "Breitbildmodus wird nicht für alle Gläsern unterstützt" \ No newline at end of file +#~ msgstr "Breitbildmodus wird nicht für alle Gläsern unterstützt" diff --git a/ui/po/es.po b/ui/po/es.po index 677405a..5175e4c 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-16 22:26-0700\n" +"POT-Creation-Date: 2025-05-07 12:40-0700\n" "PO-Revision-Date: 2024-08-02 20:55-0700\n" "Last-Translator: \n" "Language-Team: Spanish \n" @@ -49,8 +49,8 @@ msgstr "" #: src/connecteddevice.py:270 msgid "" -"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" -"portal are required." +"Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, " +"and the pipewire GStreamer plugin are required." msgstr "" "No se pueden agregar pantallas virtuales en esta máquina. Se requiere " "Wayland y xdg-desktop-portal." @@ -720,6 +720,13 @@ msgstr "Reinicio forzoso" msgid "About BreezyDesktop" msgstr "Acerca de BreezyDesktop" +#~ msgid "" +#~ "Unable to add virtual displays on this machine. Wayland and xdg-desktop-" +#~ "portal are required." +#~ msgstr "" +#~ "No se pueden agregar pantallas virtuales en esta máquina. Se requiere " +#~ "Wayland y xdg-desktop-portal." + #~ msgid "Fast SBS mode switching" #~ msgstr "Cambio rápido de modo SBS" diff --git a/ui/po/fr.po b/ui/po/fr.po index e2e8ff8..c60a08f 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-16 22:26-0700\n" +"POT-Creation-Date: 2025-05-07 12:40-0700\n" "PO-Revision-Date: 2024-08-02 20:54-0700\n" "Last-Translator: \n" "Language-Team: French \n" @@ -37,7 +37,8 @@ msgstr "Définir la distance de l'écran cible" #: src/connecteddevice.py:146 msgid "Use a closer value so the display zooms in when you look at it." -msgstr "Utiliser une valeur plus proche pour que l'écran zoom lorsqu'on le regarde." +msgstr "" +"Utiliser une valeur plus proche pour que l'écran zoom lorsqu'on le regarde." #: src/connecteddevice.py:153 msgid "Set All Displays Distance" @@ -45,13 +46,14 @@ msgstr "Définir la distance d'affichage de tous les écrans" #: src/connecteddevice.py:154 msgid "Use a farther value so the displays are zoomed out when you look away." -msgstr "Utiliser une valeur plus éloignée afin que les écrans dézooment " -"lorsqu'on ne les regarde plus." +msgstr "" +"Utiliser une valeur plus éloignée afin que les écrans dézooment lorsqu'on ne " +"les regarde plus." #: src/connecteddevice.py:270 msgid "" -"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" -"portal are required." +"Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, " +"and the pipewire GStreamer plugin are required." msgstr "Impossible d'ajouter des écrans virtuels sur cet appareil. " "Wayland et xdg-desktop-portal sont nécessaires." @@ -222,8 +224,8 @@ msgid "" "section.\n" " " msgstr "" -"Fait automatiquement avancer l'écran lorsqu'on le regarde. " -"Réglez votre niveau de zoom et de dézoom dans la section Ajustements.\n" +"Fait automatiquement avancer l'écran lorsqu'on le regarde. Réglez votre " +"niveau de zoom et de dézoom dans la section Ajustements.\n" " " #: src/gtk/connected-device.ui:70 @@ -241,8 +243,9 @@ msgstr "Désactiver les écrans physiques" #: src/gtk/connected-device.ui:94 src/gtk/no-device.ui:35 msgid "" "Automatically disable all physical displays when the XR effect is enabled." -msgstr "Désactive automatiquement tous les écrans physiques lorsque " -"le mode XR est activé." +msgstr "" +"Désactive automatiquement tous les écrans physiques lorsque le mode XR est " +"activé." #: src/gtk/connected-device.ui:104 msgid "Virtual displays" @@ -303,7 +306,8 @@ msgstr "Orientation des écrans" msgid "" "When there are multiple displays, choose how they should angle towards you." msgstr "" -"Lorsqu'il y a plusieur sécrans, définissez comment ils devraient être orientés." +"Lorsqu'il y a plusieur sécrans, définissez comment ils devraient être " +"orientés." #: src/gtk/connected-device.ui:273 msgid "Automatic" @@ -335,7 +339,9 @@ msgstr "Décalage horizontal de l'affichage" #: src/gtk/connected-device.ui:318 msgid "Move the viewport to the left or right of its default position." -msgstr "Décale l'affichage des écrans vers la gauche ou la droite de la position par défaut." +msgstr "" +"Décale l'affichage des écrans vers la gauche ou la droite de la position par " +"défaut." #: src/gtk/connected-device.ui:335 msgid "left" @@ -355,7 +361,9 @@ msgstr "Décalage vertical de l'affichage" #: src/gtk/connected-device.ui:348 msgid "Move the viewport up or down from its default position." -msgstr "Décale l'affichage des écrans au dessus ou au dessous de la position par défaut." +msgstr "" +"Décale l'affichage des écrans au dessus ou au dessous de la position par " +"défaut." #: src/gtk/connected-device.ui:365 msgid "down" @@ -411,7 +419,8 @@ msgstr "Raccourci de téléportation de la souris" #: src/gtk/connected-device.ui:510 msgid "Bring the mouse cursor to the center of the focused display." -msgstr "Ramène automatiquement la souris au centre de l'écran que vous regardez." +msgstr "" +"Ramène automatiquement la souris au centre de l'écran que vous regardez." #: src/gtk/connected-device.ui:545 src/gtk/connected-device.ui:555 msgid "Advanced Settings" @@ -449,7 +458,8 @@ msgid "" "Center the viewport on the glasses' display, even if the display is not in " "the middle." msgstr "" -"Garde l'écran principal au centre de la vue, même si l'écran n'est pas au milieu." +"Garde l'écran principal au centre de la vue, même si l'écran n'est pas au " +"milieu." #: src/gtk/connected-device.ui:592 msgid "Always primary display" @@ -467,7 +477,9 @@ msgstr "Supprimer les écrans virtuels sur déconnection" #: src/gtk/connected-device.ui:604 msgid "Automatically remove virtual displays when the XR effect is disabled." -msgstr "Supprime automatiquement les écrans virtuels lorsque l'effet XR est désactivé." +msgstr "" +"Supprime automatiquement les écrans virtuels lorsque l'effet XR est " +"désactivé." #: src/gtk/connected-device.ui:614 msgid "Enable multi-tap detection" @@ -483,7 +495,8 @@ msgstr "Tous les écrans en mode suivi" #: src/gtk/connected-device.ui:626 msgid "Follow mode moves all displays, not just the focused one." -msgstr "Le mode suivi déplace tous les écrans, pas seulement celui que l'on regarde." +msgstr "" +"Le mode suivi déplace tous les écrans, pas seulement celui que l'on regarde." #: src/gtk/connected-device.ui:642 msgid "Follow mode movement tracking" @@ -716,6 +729,13 @@ msgstr "Réinitialiser" msgid "About BreezyDesktop" msgstr "À propos de BreezyDesktop" +#~ msgid "" +#~ "Unable to add virtual displays on this machine. Wayland and xdg-desktop-" +#~ "portal are required." +#~ msgstr "" +#~ "Impossible d'ajouter des écrans virtuels sur cet appareil. Wayland et xdg-" +#~ "desktop-portal sont nécessaires." + #~ msgid "Fast SBS mode switching" #~ msgstr "Bascule rapide vers le mode SBS" diff --git a/ui/po/it.po b/ui/po/it.po index 6345f3f..d70d677 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-16 22:26-0700\n" +"POT-Creation-Date: 2025-05-07 12:40-0700\n" "PO-Revision-Date: 2024-08-02 21:14-0700\n" "Last-Translator: \n" "Language-Team: Italian \n" @@ -35,7 +35,8 @@ msgstr "Distanza del display con focus" #: src/connecteddevice.py:146 msgid "Use a closer value so the display zooms in when you look at it." -msgstr "Usa un valore più vicino, così che il display si avvicini quando lo guardi." +msgstr "" +"Usa un valore più vicino, così che il display si avvicini quando lo guardi." #: src/connecteddevice.py:153 msgid "Set All Displays Distance" @@ -43,12 +44,14 @@ msgstr "Imposta la distanza di tutti i display" #: src/connecteddevice.py:154 msgid "Use a farther value so the displays are zoomed out when you look away." -msgstr "Usa un valore più distante così che i display si allontanino quando distogli lo sguardo." +msgstr "" +"Usa un valore più distante così che i display si allontanino quando distogli " +"lo sguardo." #: src/connecteddevice.py:270 msgid "" -"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" -"portal are required." +"Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, " +"and the pipewire GStreamer plugin are required." msgstr "Non è possibile aggiungere display virtuali su questo dispositivo. Sono richiesti Wayland e xdg-desktop-portal." #: src/connecteddevice.py:304 @@ -217,7 +220,9 @@ msgid "" "Set your preferred focused and unfocused distances in the Adjustments " "section.\n" " " -msgstr "Imposta la tua distanza preferita per i display con focus e non nella sezione Regolazioni." +msgstr "" +"Imposta la tua distanza preferita per i display con focus e non nella " +"sezione Regolazioni." #: src/gtk/connected-device.ui:70 msgid "Follow mode" @@ -234,7 +239,9 @@ msgstr "Disabilita display fisici" #: src/gtk/connected-device.ui:94 src/gtk/no-device.ui:35 msgid "" "Automatically disable all physical displays when the XR effect is enabled." -msgstr "Disabilita automaticamente tutti i display fisici quando l'effetto XR è abilitato." +msgstr "" +"Disabilita automaticamente tutti i display fisici quando l'effetto XR è " +"abilitato." #: src/gtk/connected-device.ui:104 msgid "Virtual displays" @@ -294,7 +301,9 @@ msgstr "Angolazione del display" #: src/gtk/connected-device.ui:259 msgid "" "When there are multiple displays, choose how they should angle towards you." -msgstr "Quando ci sonn display multipli, scegli come dovrebbero angolarsi davanti a te." +msgstr "" +"Quando ci sonn display multipli, scegli come dovrebbero angolarsi davanti a " +"te." #: src/gtk/connected-device.ui:273 msgid "Automatic" @@ -326,7 +335,9 @@ msgstr "Spostamento orizzontale della visuale" #: src/gtk/connected-device.ui:318 msgid "Move the viewport to the left or right of its default position." -msgstr "Muovi la visuale a sinistra o a destra rispetto alla sua posizione di default." +msgstr "" +"Muovi la visuale a sinistra o a destra rispetto alla sua posizione di " +"default." #: src/gtk/connected-device.ui:335 msgid "left" @@ -439,7 +450,9 @@ msgstr "Centra sui display degli occhiali" msgid "" "Center the viewport on the glasses' display, even if the display is not in " "the middle." -msgstr "Centra la visuale sul display degli occhiali, anche se il display non è nel mezzo." +msgstr "" +"Centra la visuale sul display degli occhiali, anche se il display non è nel " +"mezzo." #: src/gtk/connected-device.ui:592 msgid "Always primary display" @@ -457,7 +470,9 @@ msgstr "Rimuovi il display virtuale quando disabilitato" #: src/gtk/connected-device.ui:604 msgid "Automatically remove virtual displays when the XR effect is disabled." -msgstr "Rimuovi automaticamente i display virtuali quando l'effetto XR è disabilitato." +msgstr "" +"Rimuovi automaticamente i display virtuali quando l'effetto XR è " +"disabilitato." #: src/gtk/connected-device.ui:614 msgid "Enable multi-tap detection" @@ -465,7 +480,8 @@ msgstr "Abilita il riconoscimento del tocco multiplo" #: src/gtk/connected-device.ui:615 msgid "Enables double-tap to recenter and triple-tap to recalibrate." -msgstr "Abilita il doppio tocco per ricentrare e il triplo tocco per ricalibrare." +msgstr "" +"Abilita il doppio tocco per ricentrare e il triplo tocco per ricalibrare." #: src/gtk/connected-device.ui:625 msgid "All displays follow mode" @@ -473,7 +489,8 @@ msgstr "Modalità inseguimento su tutti i display" #: src/gtk/connected-device.ui:626 msgid "Follow mode moves all displays, not just the focused one." -msgstr "La modalità inseguimento muove tutti i display, non solo quello col focus." +msgstr "" +"La modalità inseguimento muove tutti i display, non solo quello col focus." #: src/gtk/connected-device.ui:642 msgid "Follow mode movement tracking" @@ -481,7 +498,8 @@ msgstr "Tracciamento del movimento nella modalità inseguimento" #: src/gtk/connected-device.ui:643 msgid "Choose which movements should be tracked in follow mode." -msgstr "Scegli quale movimento deve essere tracciato nella modalità inseguimento." +msgstr "" +"Scegli quale movimento deve essere tracciato nella modalità inseguimento." #: src/gtk/connected-device.ui:658 msgid "Horizontal" @@ -706,6 +724,13 @@ msgstr "Reset forzato" msgid "About BreezyDesktop" msgstr "Informazioni su BreezyDesktop" +#~ msgid "" +#~ "Unable to add virtual displays on this machine. Wayland and xdg-desktop-" +#~ "portal are required." +#~ msgstr "" +#~ "Non è possibile aggiungere display virtuali su questo dispositivo. Sono " +#~ "richiesti Wayland e xdg-desktop-portal." + #~ msgid "Fast SBS mode switching" #~ msgstr "Passaggio rapido alla modalità SBS" diff --git a/ui/po/ja.po b/ui/po/ja.po index 7270c44..311bed4 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-16 22:26-0700\n" +"POT-Creation-Date: 2025-05-07 12:40-0700\n" "PO-Revision-Date: 2024-08-02 20:55-0700\n" "Last-Translator: \n" "Language-Team: Japanese \n" @@ -49,8 +49,8 @@ msgstr "遠くに設定すると視線の外れたディスプレイがズーム #: src/connecteddevice.py:270 msgid "" -"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" -"portal are required." +"Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, " +"and the pipewire GStreamer plugin are required." msgstr "仮想ディスプレイが追加できません。" #: src/connecteddevice.py:304 @@ -711,6 +711,11 @@ msgstr "強制リセット" msgid "About BreezyDesktop" msgstr "Breezy Desktopについて" +#~ msgid "" +#~ "Unable to add virtual displays on this machine. Wayland and xdg-desktop-" +#~ "portal are required." +#~ msgstr "仮想ディスプレイが追加できません。" + #~ msgid "Fast SBS mode switching" #~ msgstr "高速SBSモード切り替え" diff --git a/ui/po/mo/de/LC_MESSAGES/breezydesktop.mo b/ui/po/mo/de/LC_MESSAGES/breezydesktop.mo index 812e950..53a1cb8 100644 Binary files a/ui/po/mo/de/LC_MESSAGES/breezydesktop.mo and b/ui/po/mo/de/LC_MESSAGES/breezydesktop.mo differ diff --git a/ui/po/mo/es/LC_MESSAGES/breezydesktop.mo b/ui/po/mo/es/LC_MESSAGES/breezydesktop.mo index 048a704..2c8e056 100644 Binary files a/ui/po/mo/es/LC_MESSAGES/breezydesktop.mo and b/ui/po/mo/es/LC_MESSAGES/breezydesktop.mo differ diff --git a/ui/po/mo/fr/LC_MESSAGES/breezydesktop.mo b/ui/po/mo/fr/LC_MESSAGES/breezydesktop.mo index c8d36cb..5d03676 100644 Binary files a/ui/po/mo/fr/LC_MESSAGES/breezydesktop.mo and b/ui/po/mo/fr/LC_MESSAGES/breezydesktop.mo differ diff --git a/ui/po/mo/it/LC_MESSAGES/breezydesktop.mo b/ui/po/mo/it/LC_MESSAGES/breezydesktop.mo index 56522b1..6ca268c 100644 Binary files a/ui/po/mo/it/LC_MESSAGES/breezydesktop.mo and b/ui/po/mo/it/LC_MESSAGES/breezydesktop.mo differ diff --git a/ui/po/mo/ja/LC_MESSAGES/breezydesktop.mo b/ui/po/mo/ja/LC_MESSAGES/breezydesktop.mo index 60fc913..cbf76b9 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 f9fdcaa..0b77c56 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 812b8b1..42bfdfe 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 08176a5..2229d2b 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-16 22:26-0700\n" +"POT-Creation-Date: 2025-05-07 12:40-0700\n" "PO-Revision-Date: 2024-08-16 10:26-0700\n" "Last-Translator: \n" "Language-Team: Polish \n" @@ -46,8 +46,8 @@ msgstr "" #: src/connecteddevice.py:270 msgid "" -"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" -"portal are required." +"Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, " +"and the pipewire GStreamer plugin are required." msgstr "" #: src/connecteddevice.py:304 diff --git a/ui/po/pt_BR.po b/ui/po/pt_BR.po index f047af4..f379f0e 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-16 22:26-0700\n" +"POT-Creation-Date: 2025-05-07 12:40-0700\n" "PO-Revision-Date: 2024-08-19 09:39-0700\n" "Last-Translator: \n" "Language-Team: Brazilian Portuguese \n" "Language-Team: Russian \n" @@ -49,8 +49,8 @@ msgstr "" #: src/connecteddevice.py:270 msgid "" -"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" -"portal are required." +"Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, " +"and the pipewire GStreamer plugin are required." msgstr "" #: src/connecteddevice.py:304 diff --git a/ui/po/sv.po b/ui/po/sv.po index a985245..e51c5b5 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-16 22:26-0700\n" +"POT-Creation-Date: 2025-05-07 12:40-0700\n" "PO-Revision-Date: 2024-08-16 10:31-0700\n" "Last-Translator: \n" "Language-Team: Swedish \n" @@ -49,8 +49,8 @@ msgstr "" #: src/connecteddevice.py:270 msgid "" -"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" -"portal are required." +"Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, " +"and the pipewire GStreamer plugin are required." msgstr "" #: src/connecteddevice.py:304 diff --git a/ui/po/uk_UA.po b/ui/po/uk_UA.po index 2bb38df..bf69ddf 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-16 22:26-0700\n" +"POT-Creation-Date: 2025-05-07 12:40-0700\n" "PO-Revision-Date: 2024-08-17 10:08-0700\n" "Last-Translator: \n" "Language-Team: Ukrainian \n" @@ -48,8 +48,8 @@ msgstr "" #: src/connecteddevice.py:270 msgid "" -"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" -"portal are required." +"Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, " +"and the pipewire GStreamer plugin are required." msgstr "" #: src/connecteddevice.py:304 diff --git a/ui/po/zh_CN.po b/ui/po/zh_CN.po index 41c5f1d..64272e4 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-16 22:26-0700\n" +"POT-Creation-Date: 2025-05-07 12:40-0700\n" "PO-Revision-Date: 2024-08-02 20:55-0700\n" "Last-Translator: \n" "Language-Team: Chinese (simplified) \n" @@ -44,8 +44,8 @@ msgstr "远的数值会将您所看向的屏幕缩小" #: src/connecteddevice.py:270 msgid "" -"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" -"portal are required." +"Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, " +"and the pipewire GStreamer plugin are required." msgstr "无法增加模拟显示。需要安装xdg-desktop-portal和Wayland" #: src/connecteddevice.py:304 @@ -684,6 +684,11 @@ msgstr "强制重置" msgid "About BreezyDesktop" msgstr "关于 Breezy Desktop" +#~ msgid "" +#~ "Unable to add virtual displays on this machine. Wayland and xdg-desktop-" +#~ "portal are required." +#~ msgstr "无法增加模拟显示。需要安装xdg-desktop-portal和Wayland" + #~ msgid "" #~ "Unable to add virtual displays on this machine. xdg-desktop-portal is " #~ "required." diff --git a/ui/src/connecteddevice.py b/ui/src/connecteddevice.py index d927f4f..04c2d70 100644 --- a/ui/src/connecteddevice.py +++ b/ui/src/connecteddevice.py @@ -267,7 +267,7 @@ class ConnectedDevice(Gtk.Box): if not is_screencast_available() or not self.is_wayland: self.virtual_displays_row.set_subtitle( - _("Unable to add virtual displays on this machine. Wayland and xdg-desktop-portal are required.")) + _("Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, and the pipewire GStreamer plugin are required.")) self.add_virtual_display_button.set_sensitive(False) self.add_virtual_display_menu.set_sensitive(False) diff --git a/ui/src/virtualdisplay.in b/ui/src/virtualdisplay.in index 7630de6..a84e98b 100755 --- a/ui/src/virtualdisplay.in +++ b/ui/src/virtualdisplay.in @@ -77,8 +77,12 @@ def _on_display_closed(): def create_display(width, height, framerate): global virtual_display_instance - virtual_display_instance = VirtualDisplay(width, height, framerate, _on_display_closed) - virtual_display_instance.create() + try: + virtual_display_instance = VirtualDisplay(width, height, framerate, _on_display_closed) + virtual_display_instance.create() + except Exception as e: + logger.error(f"Error creating virtual display: {e}") + sys.exit(1) if __name__ == "__main__": from breezydesktop import virtualdisplay diff --git a/ui/src/virtualdisplay.py b/ui/src/virtualdisplay.py index 4ffd3f2..53985cd 100644 --- a/ui/src/virtualdisplay.py +++ b/ui/src/virtualdisplay.py @@ -81,20 +81,34 @@ class VirtualDisplay: self.terminate() def _on_pipewire_stream_added(self, node_id): - self.pipeline = Gst.parse_launch(gst_pipeline_format % (node_id, self.framerate, self.width, self.height)) - self.pipeline.set_state(Gst.State.PLAYING) - self.pipeline.get_bus().connect('message', self._on_message) - self.pipeline.set_state(Gst.State.PAUSED) + try: + self.pipeline = Gst.parse_launch(gst_pipeline_format % (node_id, self.framerate, self.width, self.height)) + self.pipeline.set_state(Gst.State.PLAYING) + self.pipeline.get_bus().connect('message', self._on_message) + self.pipeline.set_state(Gst.State.PAUSED) + except Exception as e: + logger.error("Failed to create pipeline: %s" % e) + self.terminate() def is_screencast_available(): try: bus = pydbus.SessionBus() - # Try to get the ScreenCast interface screen_cast = bus.get(screen_cast_iface, '/org/gnome/Mutter/ScreenCast') - return True except Exception as e: logger.warning(f"ScreenCast portal not available: {e}") return False + + try: + Gst.init(None) + element = Gst.ElementFactory.make("pipewiresrc", "test-pipewire") + if element is None: + logger.warning("pipewiresrc GStreamer element not available") + return False + except Exception as e: + logger.warning(f"Failed to check pipewiresrc element: {e}") + return False + + return True