Merge remote-tracking branch 'origin/main' into HEAD

This commit is contained in:
wheaney 2025-05-07 13:04:10 -07:00
commit 0f4c9b3f5f
26 changed files with 206 additions and 89 deletions

View File

@ -1 +1 @@
2.0.17 2.0.18

View File

@ -37,6 +37,21 @@ if ! { python3 -c "$PYTHON_GI_CHECK" 2>/dev/null || python -c "$PYTHON_GI_CHECK"
fi fi
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 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 Windowing system is %s\n" "$XDG_SESSION_TYPE"
printf "\033[1;33mWARNING:\033[0m Virtual display functionality requires GNOME on Wayland\n" printf "\033[1;33mWARNING:\033[0m Virtual display functionality requires GNOME on Wayland\n"

@ -1 +1 @@
Subproject commit 0d8e20d62bdfbf1edcce4927761b25aa234fcd75 Subproject commit caca100752be8d5dec5e9d742bf5d2ae3e56b0fb

@ -1 +1 @@
Subproject commit 76cb6bb65e90dfe2abf5bd2db8e280ae6e03d5c6 Subproject commit 712497b4795dbcbaa4c6fdb60a82144cfde26086

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -45,8 +45,8 @@ msgstr ""
#: src/connecteddevice.py:270 #: src/connecteddevice.py:270
msgid "" msgid ""
"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" "Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, "
"portal are required." "and the pipewire GStreamer plugin are required."
msgstr "" msgstr ""
#: src/connecteddevice.py:304 #: src/connecteddevice.py:304

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: 2024-08-02 20:54-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n" "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
@ -35,8 +35,9 @@ msgstr "Setze fokussierte Bildschirmentfernung"
#: src/connecteddevice.py:146 #: src/connecteddevice.py:146
msgid "Use a closer value so the display zooms in when you look at it." 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, " msgstr ""
"wenn der Bildschirm angesehen wird." "Nutze einen Näher Wert um den Bildschirm zu vergößern, wenn der Bildschirm "
"angesehen wird."
#: src/connecteddevice.py:153 #: src/connecteddevice.py:153
msgid "Set All Displays Distance" msgid "Set All Displays Distance"
@ -44,12 +45,14 @@ msgstr "Setze alle Bildschirmentfernungen"
#: src/connecteddevice.py:154 #: src/connecteddevice.py:154
msgid "Use a farther value so the displays are zoomed out when you look away." 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 #: src/connecteddevice.py:270
msgid "" msgid ""
"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" "Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, "
"portal are required." "and the pipewire GStreamer plugin are required."
msgstr "" msgstr ""
"Virtuelle Bildschirme können nicht hinzugefügt werden." "Virtuelle Bildschirme können nicht hinzugefügt werden."
"Wayland und xdg-desktop-portal werden benötigt" "Wayland und xdg-desktop-portal werden benötigt"
@ -222,8 +225,8 @@ msgid ""
" " " "
msgstr "" msgstr ""
"Bewege automatisch einen Bildschirm näher, wenn Sie ihn ansehen.\n" "Bewege automatisch einen Bildschirm näher, wenn Sie ihn ansehen.\n"
"Setzen Sie Ihren bevorzugten fokussierten und nicht fokussierten Abstand " "Setzen Sie Ihren bevorzugten fokussierten und nicht fokussierten Abstand im "
"im Anpassungen Bereich.\n" "Anpassungen Bereich.\n"
" " " "
#: src/gtk/connected-device.ui:70 #: src/gtk/connected-device.ui:70
@ -242,7 +245,8 @@ msgstr "Physische Bildschirme deaktivieren"
msgid "" msgid ""
"Automatically disable all physical displays when the XR effect is enabled." "Automatically disable all physical displays when the XR effect is enabled."
msgstr "" 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 #: src/gtk/connected-device.ui:104
msgid "Virtual displays" msgid "Virtual displays"
@ -302,8 +306,7 @@ msgstr "Bildschirmgröße"
#: src/gtk/connected-device.ui:259 #: src/gtk/connected-device.ui:259
msgid "" msgid ""
"When there are multiple displays, choose how they should angle towards you." "When there are multiple displays, choose how they should angle towards you."
msgstr "" msgstr "Stelle ein, wie mehrere Bildschirme angewinkelt werden sollen."
"Stelle ein, wie mehrere Bildschirme angewinkelt werden sollen."
#: src/gtk/connected-device.ui:273 #: src/gtk/connected-device.ui:273
msgid "Automatic" msgid "Automatic"
@ -327,7 +330,8 @@ msgstr "Bildschirmgröße"
#: src/gtk/connected-device.ui:287 #: src/gtk/connected-device.ui:287
msgid "Put empty space between displays, when there are multiple." 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 #: src/gtk/connected-device.ui:317
msgid "Viewport horizontal offset" msgid "Viewport horizontal offset"
@ -355,7 +359,8 @@ msgstr "Vertikaler Anzeigebereich Ausgleich"
#: src/gtk/connected-device.ui:348 #: src/gtk/connected-device.ui:348
msgid "Move the viewport up or down from its default position." 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 #: src/gtk/connected-device.ui:365
msgid "down" msgid "down"
@ -449,8 +454,8 @@ msgid ""
"Center the viewport on the glasses' display, even if the display is not in " "Center the viewport on the glasses' display, even if the display is not in "
"the middle." "the middle."
msgstr "" msgstr ""
"Zentriere den Anzeigebereich auf den Brillenbildschirm, selbst wenn der Bildschirm " "Zentriere den Anzeigebereich auf den Brillenbildschirm, selbst wenn der "
"nicht mittig ist." "Bildschirm nicht mittig ist."
#: src/gtk/connected-device.ui:592 #: src/gtk/connected-device.ui:592
msgid "Always primary display" msgid "Always primary display"
@ -468,7 +473,9 @@ msgstr "Gebogener Bildschirm"
#: src/gtk/connected-device.ui:604 #: src/gtk/connected-device.ui:604
msgid "Automatically remove virtual displays when the XR effect is disabled." 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 #: src/gtk/connected-device.ui:614
msgid "Enable multi-tap detection" msgid "Enable multi-tap detection"
@ -476,8 +483,9 @@ msgstr "Aktiviere Multi Tap Erkennung"
#: src/gtk/connected-device.ui:615 #: src/gtk/connected-device.ui:615
msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgid "Enables double-tap to recenter and triple-tap to recalibrate."
msgstr "Aktviert die Doppelberührung zum rezentrieren und Dreifach-" msgstr ""
"berührung zum Kalibrieren." "Aktviert die Doppelberührung zum rezentrieren und Dreifach-berührung zum "
"Kalibrieren."
#: src/gtk/connected-device.ui:625 #: src/gtk/connected-device.ui:625
msgid "All displays follow mode" msgid "All displays follow mode"
@ -719,6 +727,13 @@ msgstr "Zurrücksetzung erwzingen"
msgid "About BreezyDesktop" msgid "About BreezyDesktop"
msgstr "Über 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" #~ msgid "Fast SBS mode switching"
#~ msgstr "Schnelles SBS-Modus-Wechseln" #~ msgstr "Schnelles SBS-Modus-Wechseln"
@ -773,4 +788,4 @@ msgstr "Über BreezyDesktop"
#~ msgstr "Im Breitbildmodus starten" #~ msgstr "Im Breitbildmodus starten"
#~ msgid "Widescreen mode is not supported for all glasses." #~ msgid "Widescreen mode is not supported for all glasses."
#~ msgstr "Breitbildmodus wird nicht für alle Gläsern unterstützt" #~ msgstr "Breitbildmodus wird nicht für alle Gläsern unterstützt"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: 2024-08-02 20:55-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n" "Language-Team: Spanish <es@tp.org.es>\n"
@ -49,8 +49,8 @@ msgstr ""
#: src/connecteddevice.py:270 #: src/connecteddevice.py:270
msgid "" msgid ""
"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" "Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, "
"portal are required." "and the pipewire GStreamer plugin are required."
msgstr "" msgstr ""
"No se pueden agregar pantallas virtuales en esta máquina. Se requiere " "No se pueden agregar pantallas virtuales en esta máquina. Se requiere "
"Wayland y xdg-desktop-portal." "Wayland y xdg-desktop-portal."
@ -720,6 +720,13 @@ msgstr "Reinicio forzoso"
msgid "About BreezyDesktop" msgid "About BreezyDesktop"
msgstr "Acerca de 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" #~ msgid "Fast SBS mode switching"
#~ msgstr "Cambio rápido de modo SBS" #~ msgstr "Cambio rápido de modo SBS"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: 2024-08-02 20:54-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: French <traduc@traduc.org>\n" "Language-Team: French <traduc@traduc.org>\n"
@ -37,7 +37,8 @@ msgstr "Définir la distance de l'écran cible"
#: src/connecteddevice.py:146 #: src/connecteddevice.py:146
msgid "Use a closer value so the display zooms in when you look at it." 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 #: src/connecteddevice.py:153
msgid "Set All Displays Distance" msgid "Set All Displays Distance"
@ -45,13 +46,14 @@ msgstr "Définir la distance d'affichage de tous les écrans"
#: src/connecteddevice.py:154 #: src/connecteddevice.py:154
msgid "Use a farther value so the displays are zoomed out when you look away." 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 " msgstr ""
"lorsqu'on ne les regarde plus." "Utiliser une valeur plus éloignée afin que les écrans dézooment lorsqu'on ne "
"les regarde plus."
#: src/connecteddevice.py:270 #: src/connecteddevice.py:270
msgid "" msgid ""
"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" "Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, "
"portal are required." "and the pipewire GStreamer plugin are required."
msgstr "Impossible d'ajouter des écrans virtuels sur cet appareil. " msgstr "Impossible d'ajouter des écrans virtuels sur cet appareil. "
"Wayland et xdg-desktop-portal sont nécessaires." "Wayland et xdg-desktop-portal sont nécessaires."
@ -222,8 +224,8 @@ msgid ""
"section.\n" "section.\n"
" " " "
msgstr "" msgstr ""
"Fait automatiquement avancer l'écran lorsqu'on le regarde. " "Fait automatiquement avancer l'écran lorsqu'on le regarde. Réglez votre "
"Réglez votre niveau de zoom et de dézoom dans la section Ajustements.\n" "niveau de zoom et de dézoom dans la section Ajustements.\n"
" " " "
#: src/gtk/connected-device.ui:70 #: 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 #: src/gtk/connected-device.ui:94 src/gtk/no-device.ui:35
msgid "" msgid ""
"Automatically disable all physical displays when the XR effect is enabled." "Automatically disable all physical displays when the XR effect is enabled."
msgstr "Désactive automatiquement tous les écrans physiques lorsque " msgstr ""
"le mode XR est activé." "Désactive automatiquement tous les écrans physiques lorsque le mode XR est "
"activé."
#: src/gtk/connected-device.ui:104 #: src/gtk/connected-device.ui:104
msgid "Virtual displays" msgid "Virtual displays"
@ -303,7 +306,8 @@ msgstr "Orientation des écrans"
msgid "" msgid ""
"When there are multiple displays, choose how they should angle towards you." "When there are multiple displays, choose how they should angle towards you."
msgstr "" 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 #: src/gtk/connected-device.ui:273
msgid "Automatic" msgid "Automatic"
@ -335,7 +339,9 @@ msgstr "Décalage horizontal de l'affichage"
#: src/gtk/connected-device.ui:318 #: src/gtk/connected-device.ui:318
msgid "Move the viewport to the left or right of its default position." 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 #: src/gtk/connected-device.ui:335
msgid "left" msgid "left"
@ -355,7 +361,9 @@ msgstr "Décalage vertical de l'affichage"
#: src/gtk/connected-device.ui:348 #: src/gtk/connected-device.ui:348
msgid "Move the viewport up or down from its default position." 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 #: src/gtk/connected-device.ui:365
msgid "down" msgid "down"
@ -411,7 +419,8 @@ msgstr "Raccourci de téléportation de la souris"
#: src/gtk/connected-device.ui:510 #: src/gtk/connected-device.ui:510
msgid "Bring the mouse cursor to the center of the focused display." 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 #: src/gtk/connected-device.ui:545 src/gtk/connected-device.ui:555
msgid "Advanced Settings" msgid "Advanced Settings"
@ -449,7 +458,8 @@ msgid ""
"Center the viewport on the glasses' display, even if the display is not in " "Center the viewport on the glasses' display, even if the display is not in "
"the middle." "the middle."
msgstr "" 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 #: src/gtk/connected-device.ui:592
msgid "Always primary display" msgid "Always primary display"
@ -467,7 +477,9 @@ msgstr "Supprimer les écrans virtuels sur déconnection"
#: src/gtk/connected-device.ui:604 #: src/gtk/connected-device.ui:604
msgid "Automatically remove virtual displays when the XR effect is disabled." 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 #: src/gtk/connected-device.ui:614
msgid "Enable multi-tap detection" msgid "Enable multi-tap detection"
@ -483,7 +495,8 @@ msgstr "Tous les écrans en mode suivi"
#: src/gtk/connected-device.ui:626 #: src/gtk/connected-device.ui:626
msgid "Follow mode moves all displays, not just the focused one." 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 #: src/gtk/connected-device.ui:642
msgid "Follow mode movement tracking" msgid "Follow mode movement tracking"
@ -716,6 +729,13 @@ msgstr "Réinitialiser"
msgid "About BreezyDesktop" msgid "About BreezyDesktop"
msgstr "À propos de 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" #~ msgid "Fast SBS mode switching"
#~ msgstr "Bascule rapide vers le mode SBS" #~ msgstr "Bascule rapide vers le mode SBS"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: 2024-08-02 21:14-0700\n"
"Last-Translator: <fsciarra62@gmail.com>\n" "Last-Translator: <fsciarra62@gmail.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n" "Language-Team: Italian <tp@lists.linux.it>\n"
@ -35,7 +35,8 @@ msgstr "Distanza del display con focus"
#: src/connecteddevice.py:146 #: src/connecteddevice.py:146
msgid "Use a closer value so the display zooms in when you look at it." 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 #: src/connecteddevice.py:153
msgid "Set All Displays Distance" msgid "Set All Displays Distance"
@ -43,12 +44,14 @@ msgstr "Imposta la distanza di tutti i display"
#: src/connecteddevice.py:154 #: src/connecteddevice.py:154
msgid "Use a farther value so the displays are zoomed out when you look away." 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 #: src/connecteddevice.py:270
msgid "" msgid ""
"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" "Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, "
"portal are required." "and the pipewire GStreamer plugin are required."
msgstr "Non è possibile aggiungere display virtuali su questo dispositivo. Sono richiesti Wayland e xdg-desktop-portal." msgstr "Non è possibile aggiungere display virtuali su questo dispositivo. Sono richiesti Wayland e xdg-desktop-portal."
#: src/connecteddevice.py:304 #: src/connecteddevice.py:304
@ -217,7 +220,9 @@ msgid ""
"Set your preferred focused and unfocused distances in the Adjustments " "Set your preferred focused and unfocused distances in the Adjustments "
"section.\n" "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 #: src/gtk/connected-device.ui:70
msgid "Follow mode" msgid "Follow mode"
@ -234,7 +239,9 @@ msgstr "Disabilita display fisici"
#: src/gtk/connected-device.ui:94 src/gtk/no-device.ui:35 #: src/gtk/connected-device.ui:94 src/gtk/no-device.ui:35
msgid "" msgid ""
"Automatically disable all physical displays when the XR effect is enabled." "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 #: src/gtk/connected-device.ui:104
msgid "Virtual displays" msgid "Virtual displays"
@ -294,7 +301,9 @@ msgstr "Angolazione del display"
#: src/gtk/connected-device.ui:259 #: src/gtk/connected-device.ui:259
msgid "" msgid ""
"When there are multiple displays, choose how they should angle towards you." "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 #: src/gtk/connected-device.ui:273
msgid "Automatic" msgid "Automatic"
@ -326,7 +335,9 @@ msgstr "Spostamento orizzontale della visuale"
#: src/gtk/connected-device.ui:318 #: src/gtk/connected-device.ui:318
msgid "Move the viewport to the left or right of its default position." 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 #: src/gtk/connected-device.ui:335
msgid "left" msgid "left"
@ -439,7 +450,9 @@ msgstr "Centra sui display degli occhiali"
msgid "" msgid ""
"Center the viewport on the glasses' display, even if the display is not in " "Center the viewport on the glasses' display, even if the display is not in "
"the middle." "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 #: src/gtk/connected-device.ui:592
msgid "Always primary display" msgid "Always primary display"
@ -457,7 +470,9 @@ msgstr "Rimuovi il display virtuale quando disabilitato"
#: src/gtk/connected-device.ui:604 #: src/gtk/connected-device.ui:604
msgid "Automatically remove virtual displays when the XR effect is disabled." 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 #: src/gtk/connected-device.ui:614
msgid "Enable multi-tap detection" msgid "Enable multi-tap detection"
@ -465,7 +480,8 @@ msgstr "Abilita il riconoscimento del tocco multiplo"
#: src/gtk/connected-device.ui:615 #: src/gtk/connected-device.ui:615
msgid "Enables double-tap to recenter and triple-tap to recalibrate." 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 #: src/gtk/connected-device.ui:625
msgid "All displays follow mode" msgid "All displays follow mode"
@ -473,7 +489,8 @@ msgstr "Modalità inseguimento su tutti i display"
#: src/gtk/connected-device.ui:626 #: src/gtk/connected-device.ui:626
msgid "Follow mode moves all displays, not just the focused one." 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 #: src/gtk/connected-device.ui:642
msgid "Follow mode movement tracking" msgid "Follow mode movement tracking"
@ -481,7 +498,8 @@ msgstr "Tracciamento del movimento nella modalità inseguimento"
#: src/gtk/connected-device.ui:643 #: src/gtk/connected-device.ui:643
msgid "Choose which movements should be tracked in follow mode." 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 #: src/gtk/connected-device.ui:658
msgid "Horizontal" msgid "Horizontal"
@ -706,6 +724,13 @@ msgstr "Reset forzato"
msgid "About BreezyDesktop" msgid "About BreezyDesktop"
msgstr "Informazioni su 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" #~ msgid "Fast SBS mode switching"
#~ msgstr "Passaggio rapido alla modalità SBS" #~ msgstr "Passaggio rapido alla modalità SBS"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: 2024-08-02 20:55-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n" "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@ -49,8 +49,8 @@ msgstr "遠くに設定すると視線の外れたディスプレイがズーム
#: src/connecteddevice.py:270 #: src/connecteddevice.py:270
msgid "" msgid ""
"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" "Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, "
"portal are required." "and the pipewire GStreamer plugin are required."
msgstr "仮想ディスプレイが追加できません。" msgstr "仮想ディスプレイが追加できません。"
#: src/connecteddevice.py:304 #: src/connecteddevice.py:304
@ -711,6 +711,11 @@ msgstr "強制リセット"
msgid "About BreezyDesktop" msgid "About BreezyDesktop"
msgstr "Breezy Desktopについて" 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" #~ msgid "Fast SBS mode switching"
#~ msgstr "高速SBSモード切り替え" #~ msgstr "高速SBSモード切り替え"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: 2024-08-16 10:26-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n" "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@ -46,8 +46,8 @@ msgstr ""
#: src/connecteddevice.py:270 #: src/connecteddevice.py:270
msgid "" msgid ""
"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" "Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, "
"portal are required." "and the pipewire GStreamer plugin are required."
msgstr "" msgstr ""
#: src/connecteddevice.py:304 #: src/connecteddevice.py:304

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: 2024-08-19 09:39-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-" "Language-Team: Brazilian Portuguese <ldpbr-"
@ -52,8 +52,8 @@ msgstr ""
#: src/connecteddevice.py:270 #: src/connecteddevice.py:270
msgid "" msgid ""
"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" "Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, "
"portal are required." "and the pipewire GStreamer plugin are required."
msgstr "" msgstr ""
"Não é possível adicionar telas neste dispositivo. xdg-desktop-portal é " "Não é possível adicionar telas neste dispositivo. xdg-desktop-portal é "
"requerido." "requerido."
@ -726,6 +726,13 @@ msgstr "Forçar redefinição"
msgid "About BreezyDesktop" msgid "About BreezyDesktop"
msgstr "Sobre o BreezyDesktop" msgstr "Sobre o BreezyDesktop"
#~ msgid ""
#~ "Unable to add virtual displays on this machine. Wayland and xdg-desktop-"
#~ "portal are required."
#~ msgstr ""
#~ "Não é possível adicionar telas neste dispositivo. xdg-desktop-portal é "
#~ "requerido."
#~ msgid "" #~ msgid ""
#~ "Unable to add virtual displays on this machine. xdg-desktop-portal is " #~ "Unable to add virtual displays on this machine. xdg-desktop-portal is "
#~ "required." #~ "required."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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 09:39-0700\n" "PO-Revision-Date: 2024-08-17 09:39-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Russian <gnu@d07.ru>\n" "Language-Team: Russian <gnu@d07.ru>\n"
@ -49,8 +49,8 @@ msgstr ""
#: src/connecteddevice.py:270 #: src/connecteddevice.py:270
msgid "" msgid ""
"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" "Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, "
"portal are required." "and the pipewire GStreamer plugin are required."
msgstr "" msgstr ""
#: src/connecteddevice.py:304 #: src/connecteddevice.py:304

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: 2024-08-16 10:31-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@ -49,8 +49,8 @@ msgstr ""
#: src/connecteddevice.py:270 #: src/connecteddevice.py:270
msgid "" msgid ""
"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" "Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, "
"portal are required." "and the pipewire GStreamer plugin are required."
msgstr "" msgstr ""
#: src/connecteddevice.py:304 #: src/connecteddevice.py:304

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: 2024-08-17 10:08-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n" "Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
@ -48,8 +48,8 @@ msgstr ""
#: src/connecteddevice.py:270 #: src/connecteddevice.py:270
msgid "" msgid ""
"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" "Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, "
"portal are required." "and the pipewire GStreamer plugin are required."
msgstr "" msgstr ""
#: src/connecteddevice.py:304 #: src/connecteddevice.py:304

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: 2024-08-02 20:55-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@ -44,8 +44,8 @@ msgstr "远的数值会将您所看向的屏幕缩小"
#: src/connecteddevice.py:270 #: src/connecteddevice.py:270
msgid "" msgid ""
"Unable to add virtual displays on this machine. Wayland and xdg-desktop-" "Unable to add virtual displays on this machine. Wayland, xdg-desktop-portal, "
"portal are required." "and the pipewire GStreamer plugin are required."
msgstr "无法增加模拟显示。需要安装xdg-desktop-portal和Wayland" msgstr "无法增加模拟显示。需要安装xdg-desktop-portal和Wayland"
#: src/connecteddevice.py:304 #: src/connecteddevice.py:304
@ -684,6 +684,11 @@ msgstr "强制重置"
msgid "About BreezyDesktop" msgid "About BreezyDesktop"
msgstr "关于 Breezy Desktop" 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 "" #~ msgid ""
#~ "Unable to add virtual displays on this machine. xdg-desktop-portal is " #~ "Unable to add virtual displays on this machine. xdg-desktop-portal is "
#~ "required." #~ "required."

View File

@ -267,7 +267,7 @@ class ConnectedDevice(Gtk.Box):
if not is_screencast_available() or not self.is_wayland: if not is_screencast_available() or not self.is_wayland:
self.virtual_displays_row.set_subtitle( 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_button.set_sensitive(False)
self.add_virtual_display_menu.set_sensitive(False) self.add_virtual_display_menu.set_sensitive(False)

View File

@ -77,8 +77,12 @@ def _on_display_closed():
def create_display(width, height, framerate): def create_display(width, height, framerate):
global virtual_display_instance global virtual_display_instance
virtual_display_instance = VirtualDisplay(width, height, framerate, _on_display_closed) try:
virtual_display_instance.create() 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__": if __name__ == "__main__":
from breezydesktop import virtualdisplay from breezydesktop import virtualdisplay

View File

@ -81,20 +81,34 @@ class VirtualDisplay:
self.terminate() self.terminate()
def _on_pipewire_stream_added(self, node_id): def _on_pipewire_stream_added(self, node_id):
self.pipeline = Gst.parse_launch(gst_pipeline_format % (node_id, self.framerate, self.width, self.height)) try:
self.pipeline.set_state(Gst.State.PLAYING) self.pipeline = Gst.parse_launch(gst_pipeline_format % (node_id, self.framerate, self.width, self.height))
self.pipeline.get_bus().connect('message', self._on_message) self.pipeline.set_state(Gst.State.PLAYING)
self.pipeline.set_state(Gst.State.PAUSED) 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(): def is_screencast_available():
try: try:
bus = pydbus.SessionBus() bus = pydbus.SessionBus()
# Try to get the ScreenCast interface
screen_cast = bus.get(screen_cast_iface, '/org/gnome/Mutter/ScreenCast') screen_cast = bus.get(screen_cast_iface, '/org/gnome/Mutter/ScreenCast')
return True
except Exception as e: except Exception as e:
logger.warning(f"ScreenCast portal not available: {e}") logger.warning(f"ScreenCast portal not available: {e}")
return False 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