diff --git a/VERSION b/VERSION index 6acdb44..26e3379 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.0.3 \ No newline at end of file +2.0.4 \ No newline at end of file diff --git a/gnome/src/extension.js b/gnome/src/extension.js index 5fc31d0..29559f4 100644 --- a/gnome/src/extension.js +++ b/gnome/src/extension.js @@ -230,6 +230,7 @@ export default class BreezyDesktopExtension extends Extension { virtual_monitors: virtualMonitors, monitor_wrapping_scheme: this.settings.get_string('monitor-wrapping-scheme'), monitor_spacing: this.settings.get_int('monitor-spacing'), + headset_display_as_viewport_center: this.settings.get_boolean('headset-display-as-viewport-center'), viewport_offset_x: this.settings.get_double('viewport-offset-x'), viewport_offset_y: this.settings.get_double('viewport-offset-y'), display_distance: this.settings.get_double('display-distance'), @@ -273,6 +274,7 @@ export default class BreezyDesktopExtension extends Extension { this._effect_settings_bindings = [ 'monitor-wrapping-scheme', + 'headset-display-as-viewport-center', 'viewport-offset-x', 'viewport-offset-y', 'monitor-spacing', diff --git a/gnome/src/virtualdisplayeffect.js b/gnome/src/virtualdisplayeffect.js index 7fb013b..6abb50f 100644 --- a/gnome/src/virtualdisplayeffect.js +++ b/gnome/src/virtualdisplayeffect.js @@ -469,7 +469,7 @@ export const VirtualDisplayEffect = GObject.registerClass({ cogl_tex_coord_out[0] = cogl_tex_coord_in; ` - this.add_glsl_snippet(Shell.SnippetHook.VERTEX, declarations, main, false); + this.add_glsl_snippet(Cogl.SnippetHook?.VERTEX ?? Shell.SnippetHook.VERTEX, declarations, main, false); } vfunc_paint_target(node, paintContext) { diff --git a/gnome/src/virtualdisplaysactor.js b/gnome/src/virtualdisplaysactor.js index a4b6a83..adb26fb 100644 --- a/gnome/src/virtualdisplaysactor.js +++ b/gnome/src/virtualdisplaysactor.js @@ -483,6 +483,13 @@ export const VirtualDisplaysActor = GObject.registerClass({ 2.5, 1.05 ), + 'headset-display-as-viewport-center': GObject.ParamSpec.boolean( + 'headset-display-as-viewport-center', + 'Headset display as viewport center', + 'Whether to use the headset display as the reference point for the center of the viewport', + GObject.ParamFlags.READWRITE, + false + ), 'lens-vector': GObject.ParamSpec.jsobject( 'lens-vector', 'Lens Vector', @@ -586,6 +593,7 @@ export const VirtualDisplaysActor = GObject.registerClass({ notifyToFunction('display-distance', this._handle_display_distance_properties_change); notifyToFunction('monitor-wrapping-scheme', this._update_monitor_placements); notifyToFunction('monitor-spacing', this._update_monitor_placements); + notifyToFunction('headset-display-as-viewport-center', this._update_monitor_placements); notifyToFunction('viewport-offset-x', this._update_monitor_placements); notifyToFunction('viewport-offset-y', this._update_monitor_placements); notifyToFunction('show-banner', this._handle_banner_update); @@ -798,14 +806,21 @@ export const VirtualDisplaysActor = GObject.registerClass({ } _update_monitor_placements() { + const minX = Math.min(...this._all_monitors.map(monitor => monitor.x)); + const maxX = Math.max(...this._all_monitors.map(monitor => monitor.x + monitor.width)); + const minY = Math.min(...this._all_monitors.map(monitor => monitor.y)); + const maxY = Math.max(...this._all_monitors.map(monitor => monitor.y + monitor.height)); + + // the beginning edges of the viewport if it's centered on all displays + const allDisplaysCenterXBegin = (minX + maxX) / 2 - this.target_monitor.width / 2; + const allDisplaysCenterYBegin = (minY + maxY) / 2 - this.target_monitor.height / 2; + + const viewportXBegin = this.headset_display_as_viewport_center ? this.target_monitor.x : allDisplaysCenterXBegin; + const viewportYBegin = this.headset_display_as_viewport_center ? this.target_monitor.y : allDisplaysCenterYBegin; + // collect minimum and maximum x and y values of monitors let actualWrapScheme = this.monitor_wrapping_scheme; if (actualWrapScheme === 'automatic') { - const minX = Math.min(...this._all_monitors.map(monitor => monitor.x)); - const minY = Math.min(...this._all_monitors.map(monitor => monitor.y)); - const maxX = Math.max(...this._all_monitors.map(monitor => monitor.x + monitor.width)); - const maxY = Math.max(...this._all_monitors.map(monitor => monitor.y + monitor.height)); - // check if there are more monitors in the horizontal or vertical direction, prefer horizontal if equal if ((maxX - minX) / this.target_monitor.width >= (maxY - minY) / this.target_monitor.height) { actualWrapScheme = 'horizontal'; @@ -824,10 +839,10 @@ export const VirtualDisplaysActor = GObject.registerClass({ this.monitor_placements = monitorsToPlacements( fovDetails, - // shift all monitors so they center around the target monitor, then adjusted by the offsets + // shift all monitors so they center around the viewport center, then adjusted by the offsets this._sorted_monitors.map(monitor => ({ - x: monitor.x - this.target_monitor.x - this.viewport_offset_x * this.target_monitor.width, - y: monitor.y - this.target_monitor.y + this.viewport_offset_y * this.target_monitor.height, + x: monitor.x - viewportXBegin - this.viewport_offset_x * this.target_monitor.width, + y: monitor.y - viewportYBegin + this.viewport_offset_y * this.target_monitor.height, width: monitor.width, height: monitor.height })), diff --git a/ui/data/com.xronlinux.BreezyDesktop.gschema.xml b/ui/data/com.xronlinux.BreezyDesktop.gschema.xml index bff11bc..396f8d2 100644 --- a/ui/data/com.xronlinux.BreezyDesktop.gschema.xml +++ b/ui/data/com.xronlinux.BreezyDesktop.gschema.xml @@ -163,6 +163,15 @@ Automatically set the headset as the primary display upon connection + + + false + + Headset display as viewport center + + Use the headset display as the reference point for the center of the viewport + + true diff --git a/ui/po/breezydesktop.pot b/ui/po/breezydesktop.pot index 4fe2663..98583e2 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-06 22:59-0800\n" +"POT-Creation-Date: 2025-03-07 11:00-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -27,33 +27,33 @@ msgstr "" msgid "This feature is not currently supported for your device." msgstr "" -#: src/connecteddevice.py:129 +#: src/connecteddevice.py:131 msgid "Set Focused Display Distance" msgstr "" -#: src/connecteddevice.py:130 +#: src/connecteddevice.py:132 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:137 +#: src/connecteddevice.py:139 msgid "Set All Displays Distance" msgstr "" -#: src/connecteddevice.py:138 +#: src/connecteddevice.py:140 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:236 +#: src/connecteddevice.py:238 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:270 +#: src/connecteddevice.py:272 msgid "Focused display" msgstr "" -#: src/connecteddevice.py:276 +#: src/connecteddevice.py:278 msgid "All displays" msgstr "" @@ -389,57 +389,67 @@ msgid "Refresh rate may affect performance, disable this to set it manually." msgstr "" #: src/gtk/connected-device.ui:522 -msgid "Always primary display" +msgid "Center on glasses' display" msgstr "" #: src/gtk/connected-device.ui:523 -msgid "Automatically set the glasses as the primary display when plugged in." +msgid "" +"Center the viewport on the glasses' display, even if the display is not in " +"the middle." msgstr "" #: src/gtk/connected-device.ui:533 -msgid "Remove virtual displays on disable" +msgid "Always primary display" msgstr "" #: src/gtk/connected-device.ui:534 -msgid "Automatically remove virtual displays when the XR effect is disabled." +msgid "Automatically set the glasses as the primary display when plugged in." msgstr "" #: src/gtk/connected-device.ui:544 -msgid "Enable multi-tap detection" +msgid "Remove virtual displays on disable" msgstr "" #: src/gtk/connected-device.ui:545 -msgid "Enables double-tap to recenter and triple-tap to recalibrate." +msgid "Automatically remove virtual displays when the XR effect is disabled." msgstr "" #: src/gtk/connected-device.ui:555 -msgid "All displays follow mode" +msgid "Enable multi-tap detection" msgstr "" #: src/gtk/connected-device.ui:556 -msgid "Follow mode moves all displays, not just the focused one." +msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" #: src/gtk/connected-device.ui:566 -msgid "Movement look-ahead" +msgid "All displays follow mode" msgstr "" #: src/gtk/connected-device.ui:567 +msgid "Follow mode moves all displays, not just the focused one." +msgstr "" + +#: src/gtk/connected-device.ui:577 +msgid "Movement look-ahead" +msgstr "" + +#: src/gtk/connected-device.ui:578 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " "movements, jumps ahead, or is very shaky." msgstr "" -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:596 msgid "Default" msgstr "" -#: src/gtk/connected-device.ui:597 +#: src/gtk/connected-device.ui:608 msgid "Text Scaling" msgstr "" -#: src/gtk/connected-device.ui:598 +#: src/gtk/connected-device.ui:609 msgid "Scaling text below 1.0 will simulate a higher resolution display" msgstr "" diff --git a/ui/po/de.po b/ui/po/de.po index b3d1b54..df16f00 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-06 22:32-0800\n" +"POT-Creation-Date: 2025-03-07 11:00-0800\n" "PO-Revision-Date: 2024-08-02 20:54-0700\n" "Last-Translator: \n" "Language-Team: German \n" @@ -29,36 +29,36 @@ msgstr "" msgid "This feature is not currently supported for your device." msgstr "Diese Funktion wird von Ihrem Gerät derzeit nicht unterstützt." -#: src/connecteddevice.py:129 +#: src/connecteddevice.py:131 #, fuzzy msgid "Set Focused Display Distance" msgstr "Display-Entfernung" -#: src/connecteddevice.py:130 +#: src/connecteddevice.py:132 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:137 +#: src/connecteddevice.py:139 #, fuzzy msgid "Set All Displays Distance" msgstr "Display-Entfernung" -#: src/connecteddevice.py:138 +#: src/connecteddevice.py:140 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:236 +#: src/connecteddevice.py:238 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:270 +#: src/connecteddevice.py:272 #, fuzzy msgid "Focused display" msgstr "Display-Entfernung" -#: src/connecteddevice.py:276 +#: src/connecteddevice.py:278 #, fuzzy msgid "All displays" msgstr "Gebogenes Display" @@ -410,46 +410,56 @@ msgstr "" "um sie manuell festzulegen." #: src/gtk/connected-device.ui:522 +msgid "Center on glasses' display" +msgstr "" + +#: src/gtk/connected-device.ui:523 +msgid "" +"Center the viewport on the glasses' display, even if the display is not in " +"the middle." +msgstr "" + +#: src/gtk/connected-device.ui:533 msgid "Always primary display" msgstr "Immer primäres Display" -#: src/gtk/connected-device.ui:523 +#: src/gtk/connected-device.ui:534 msgid "Automatically set the glasses as the primary display when plugged in." msgstr "" "Setzen Sie die Brille automatisch als primäres Display, wenn sie " "angeschlossen ist." -#: src/gtk/connected-device.ui:533 +#: src/gtk/connected-device.ui:544 #, fuzzy msgid "Remove virtual displays on disable" msgstr "Gebogenes Display" -#: src/gtk/connected-device.ui:534 +#: src/gtk/connected-device.ui:545 msgid "Automatically remove virtual displays when the XR effect is disabled." msgstr "" -#: src/gtk/connected-device.ui:544 +#: src/gtk/connected-device.ui:555 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:545 +#: src/gtk/connected-device.ui:556 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:566 #, fuzzy msgid "All displays follow mode" msgstr "Gebogenes Display" -#: src/gtk/connected-device.ui:556 +#: src/gtk/connected-device.ui:567 msgid "Follow mode moves all displays, not just the focused one." msgstr "" -#: src/gtk/connected-device.ui:566 +#: src/gtk/connected-device.ui:577 msgid "Movement look-ahead" msgstr "Bewegungsvorausschau" -#: src/gtk/connected-device.ui:567 +#: src/gtk/connected-device.ui:578 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " @@ -460,15 +470,15 @@ msgstr "" "es sei denn, das virtuelle Display hängt hinter Ihren Kopfbewegungen " "hinterher, springt vor oder ist sehr wackelig." -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:596 msgid "Default" msgstr "Standard" -#: src/gtk/connected-device.ui:597 +#: src/gtk/connected-device.ui:608 msgid "Text Scaling" msgstr "Textskalierung" -#: src/gtk/connected-device.ui:598 +#: src/gtk/connected-device.ui:609 msgid "Scaling text below 1.0 will simulate a higher resolution display" msgstr "Text unter 1.0 skalieren simuliert ein höher aufgelöstes Display" diff --git a/ui/po/es.po b/ui/po/es.po index 3b54a95..0234df9 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-06 22:32-0800\n" +"POT-Creation-Date: 2025-03-07 11:00-0800\n" "PO-Revision-Date: 2024-08-02 20:55-0700\n" "Last-Translator: \n" "Language-Team: Spanish \n" @@ -28,36 +28,36 @@ msgstr "" msgid "This feature is not currently supported for your device." msgstr "Esta función no es compatible con tu dispositivo en este momento." -#: src/connecteddevice.py:129 +#: src/connecteddevice.py:131 #, fuzzy msgid "Set Focused Display Distance" msgstr "Distancia de la pantalla" -#: src/connecteddevice.py:130 +#: src/connecteddevice.py:132 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:137 +#: src/connecteddevice.py:139 #, fuzzy msgid "Set All Displays Distance" msgstr "Distancia de la pantalla" -#: src/connecteddevice.py:138 +#: src/connecteddevice.py:140 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:236 +#: src/connecteddevice.py:238 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:270 +#: src/connecteddevice.py:272 #, fuzzy msgid "Focused display" msgstr "Distancia de la pantalla" -#: src/connecteddevice.py:276 +#: src/connecteddevice.py:278 #, fuzzy msgid "All displays" msgstr "Pantalla curvada" @@ -409,45 +409,55 @@ msgstr "" "esto para configurarlo manualmente." #: src/gtk/connected-device.ui:522 +msgid "Center on glasses' display" +msgstr "" + +#: src/gtk/connected-device.ui:523 +msgid "" +"Center the viewport on the glasses' display, even if the display is not in " +"the middle." +msgstr "" + +#: src/gtk/connected-device.ui:533 msgid "Always primary display" msgstr "Siempre como pantalla principal" -#: src/gtk/connected-device.ui:523 +#: src/gtk/connected-device.ui:534 msgid "Automatically set the glasses as the primary display when plugged in." msgstr "" "Automáticamente configurar las gafas como pantalla principal al enchufarse." -#: src/gtk/connected-device.ui:533 +#: src/gtk/connected-device.ui:544 #, fuzzy msgid "Remove virtual displays on disable" msgstr "Pantalla curvada" -#: src/gtk/connected-device.ui:534 +#: src/gtk/connected-device.ui:545 msgid "Automatically remove virtual displays when the XR effect is disabled." msgstr "" -#: src/gtk/connected-device.ui:544 +#: src/gtk/connected-device.ui:555 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:545 +#: src/gtk/connected-device.ui:556 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:566 #, fuzzy msgid "All displays follow mode" msgstr "Pantalla curvada" -#: src/gtk/connected-device.ui:556 +#: src/gtk/connected-device.ui:567 msgid "Follow mode moves all displays, not just the focused one." msgstr "" -#: src/gtk/connected-device.ui:566 +#: src/gtk/connected-device.ui:577 msgid "Movement look-ahead" msgstr "Anticipación de movimiento" -#: src/gtk/connected-device.ui:567 +#: src/gtk/connected-device.ui:578 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " @@ -458,15 +468,15 @@ msgstr "" "predeterminado a menos que la pantalla virtual se retrase detrás de los " "movimientos de la cabeza, se adelante o sea muy inestable." -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:596 msgid "Default" msgstr "Predeterminado" -#: src/gtk/connected-device.ui:597 +#: src/gtk/connected-device.ui:608 msgid "Text Scaling" msgstr "Escalado de Texto" -#: src/gtk/connected-device.ui:598 +#: src/gtk/connected-device.ui:609 msgid "Scaling text below 1.0 will simulate a higher resolution display" msgstr "" "Escalando el texto por debajo de 1.0 simulará una pantalla de mayor " diff --git a/ui/po/fr.po b/ui/po/fr.po index 104c482..1c22cba 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-06 22:32-0800\n" +"POT-Creation-Date: 2025-03-07 11:00-0800\n" "PO-Revision-Date: 2024-08-02 20:54-0700\n" "Last-Translator: \n" "Language-Team: French \n" @@ -31,36 +31,36 @@ msgstr "" "Cette fonctionnalité n'est actuellement pas prise en charge par votre " "appareil." -#: src/connecteddevice.py:129 +#: src/connecteddevice.py:131 #, fuzzy msgid "Set Focused Display Distance" msgstr "Distance d'affichage" -#: src/connecteddevice.py:130 +#: src/connecteddevice.py:132 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:137 +#: src/connecteddevice.py:139 #, fuzzy msgid "Set All Displays Distance" msgstr "Distance d'affichage" -#: src/connecteddevice.py:138 +#: src/connecteddevice.py:140 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:236 +#: src/connecteddevice.py:238 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:270 +#: src/connecteddevice.py:272 #, fuzzy msgid "Focused display" msgstr "Distance d'affichage" -#: src/connecteddevice.py:276 +#: src/connecteddevice.py:278 #, fuzzy msgid "All displays" msgstr "Affichage incurvé" @@ -412,46 +412,56 @@ msgstr "" "le pour le définir manuellement." #: src/gtk/connected-device.ui:522 +msgid "Center on glasses' display" +msgstr "" + +#: src/gtk/connected-device.ui:523 +msgid "" +"Center the viewport on the glasses' display, even if the display is not in " +"the middle." +msgstr "" + +#: src/gtk/connected-device.ui:533 msgid "Always primary display" msgstr "Affichage principal en permanence" -#: src/gtk/connected-device.ui:523 +#: src/gtk/connected-device.ui:534 msgid "Automatically set the glasses as the primary display when plugged in." msgstr "" "Définissez automatiquement les lunettes comme affichage principal " "lorsqu'elles sont branchées." -#: src/gtk/connected-device.ui:533 +#: src/gtk/connected-device.ui:544 #, fuzzy msgid "Remove virtual displays on disable" msgstr "Affichage incurvé" -#: src/gtk/connected-device.ui:534 +#: src/gtk/connected-device.ui:545 msgid "Automatically remove virtual displays when the XR effect is disabled." msgstr "" -#: src/gtk/connected-device.ui:544 +#: src/gtk/connected-device.ui:555 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:545 +#: src/gtk/connected-device.ui:556 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:566 #, fuzzy msgid "All displays follow mode" msgstr "Affichage incurvé" -#: src/gtk/connected-device.ui:556 +#: src/gtk/connected-device.ui:567 msgid "Follow mode moves all displays, not just the focused one." msgstr "" -#: src/gtk/connected-device.ui:566 +#: src/gtk/connected-device.ui:577 msgid "Movement look-ahead" msgstr "Prédiction de mouvement" -#: src/gtk/connected-device.ui:567 +#: src/gtk/connected-device.ui:578 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " @@ -461,15 +471,15 @@ msgstr "" "le temps de rendu. Restez sur la valeur par défaut à moins que l'affichage " "virtuel ne soit lent, ne saute pas ou ne soit très instable." -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:596 msgid "Default" msgstr "Par défaut" -#: src/gtk/connected-device.ui:597 +#: src/gtk/connected-device.ui:608 msgid "Text Scaling" msgstr "Mise à l'échelle du texte" -#: src/gtk/connected-device.ui:598 +#: src/gtk/connected-device.ui:609 msgid "Scaling text below 1.0 will simulate a higher resolution display" msgstr "" "Une mise à l'échelle du texte en dessous de 1.0 simulera un affichage de " diff --git a/ui/po/it.po b/ui/po/it.po index a4fe9ba..6669921 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-06 22:32-0800\n" +"POT-Creation-Date: 2025-03-07 11:00-0800\n" "PO-Revision-Date: 2024-08-02 21:14-0700\n" "Last-Translator: \n" "Language-Team: Italian \n" @@ -29,36 +29,36 @@ msgstr "" msgid "This feature is not currently supported for your device." msgstr "Questa funzione non è attualmente supportata sul tuo dispositivo." -#: src/connecteddevice.py:129 +#: src/connecteddevice.py:131 #, fuzzy msgid "Set Focused Display Distance" msgstr "Distanza del display" -#: src/connecteddevice.py:130 +#: src/connecteddevice.py:132 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:137 +#: src/connecteddevice.py:139 #, fuzzy msgid "Set All Displays Distance" msgstr "Distanza del display" -#: src/connecteddevice.py:138 +#: src/connecteddevice.py:140 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:236 +#: src/connecteddevice.py:238 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:270 +#: src/connecteddevice.py:272 #, fuzzy msgid "Focused display" msgstr "Distanza del display" -#: src/connecteddevice.py:276 +#: src/connecteddevice.py:278 #, fuzzy msgid "All displays" msgstr "Display curvo" @@ -410,46 +410,56 @@ msgstr "" "disabilitala per impostarla manualmente." #: src/gtk/connected-device.ui:522 +msgid "Center on glasses' display" +msgstr "" + +#: src/gtk/connected-device.ui:523 +msgid "" +"Center the viewport on the glasses' display, even if the display is not in " +"the middle." +msgstr "" + +#: src/gtk/connected-device.ui:533 msgid "Always primary display" msgstr "Imposta sempre come display primario" -#: src/gtk/connected-device.ui:523 +#: src/gtk/connected-device.ui:534 msgid "Automatically set the glasses as the primary display when plugged in." msgstr "" "Imposta automaticamente gli occhiali come display primario quando sono " "collegati." -#: src/gtk/connected-device.ui:533 +#: src/gtk/connected-device.ui:544 #, fuzzy msgid "Remove virtual displays on disable" msgstr "Display curvo" -#: src/gtk/connected-device.ui:534 +#: src/gtk/connected-device.ui:545 msgid "Automatically remove virtual displays when the XR effect is disabled." msgstr "" -#: src/gtk/connected-device.ui:544 +#: src/gtk/connected-device.ui:555 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:545 +#: src/gtk/connected-device.ui:556 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:566 #, fuzzy msgid "All displays follow mode" msgstr "Display curvo" -#: src/gtk/connected-device.ui:556 +#: src/gtk/connected-device.ui:567 msgid "Follow mode moves all displays, not just the focused one." msgstr "" -#: src/gtk/connected-device.ui:566 +#: src/gtk/connected-device.ui:577 msgid "Movement look-ahead" msgstr "Anticipo del movimento" -#: src/gtk/connected-device.ui:567 +#: src/gtk/connected-device.ui:578 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " @@ -460,15 +470,15 @@ msgstr "" "che il display virtuale non rimanga indietro rispetto ai tuoi movimenti, non " "salti in avanti o sia molto tremolante." -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:596 msgid "Default" msgstr "Predefinito" -#: src/gtk/connected-device.ui:597 +#: src/gtk/connected-device.ui:608 msgid "Text Scaling" msgstr "Ridimensionamento del testo" -#: src/gtk/connected-device.ui:598 +#: src/gtk/connected-device.ui:609 msgid "Scaling text below 1.0 will simulate a higher resolution display" msgstr "" "Ridimensionando il testo sotto a 1.0 si simula una maggiore risoluzione del " diff --git a/ui/po/ja.po b/ui/po/ja.po index ab58121..29b54d9 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-06 22:32-0800\n" +"POT-Creation-Date: 2025-03-07 11:00-0800\n" "PO-Revision-Date: 2024-08-02 20:55-0700\n" "Last-Translator: \n" "Language-Team: Japanese \n" @@ -31,36 +31,36 @@ msgstr "メガネを3Dモードに切り替え、表示の幅を2倍にします msgid "This feature is not currently supported for your device." msgstr "現在接続されているデバイスはこの機能に対応していません。" -#: src/connecteddevice.py:129 +#: src/connecteddevice.py:131 #, fuzzy msgid "Set Focused Display Distance" msgstr "ディスプレイ距離" -#: src/connecteddevice.py:130 +#: src/connecteddevice.py:132 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:137 +#: src/connecteddevice.py:139 #, fuzzy msgid "Set All Displays Distance" msgstr "ディスプレイ距離" -#: src/connecteddevice.py:138 +#: src/connecteddevice.py:140 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:236 +#: src/connecteddevice.py:238 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:270 +#: src/connecteddevice.py:272 #, fuzzy msgid "Focused display" msgstr "ディスプレイ距離" -#: src/connecteddevice.py:276 +#: src/connecteddevice.py:278 #, fuzzy msgid "All displays" msgstr "曲面ディスプレイ" @@ -411,44 +411,54 @@ msgstr "" "する場合は無効にしてください。" #: src/gtk/connected-device.ui:522 +msgid "Center on glasses' display" +msgstr "" + +#: src/gtk/connected-device.ui:523 +msgid "" +"Center the viewport on the glasses' display, even if the display is not in " +"the middle." +msgstr "" + +#: src/gtk/connected-device.ui:533 msgid "Always primary display" msgstr "常にプライマリディスプレイにする" -#: src/gtk/connected-device.ui:523 +#: src/gtk/connected-device.ui:534 msgid "Automatically set the glasses as the primary display when plugged in." msgstr "メガネ接続時、自動的にプライマリディスプレイにします。" -#: src/gtk/connected-device.ui:533 +#: src/gtk/connected-device.ui:544 #, fuzzy msgid "Remove virtual displays on disable" msgstr "曲面ディスプレイ" -#: src/gtk/connected-device.ui:534 +#: src/gtk/connected-device.ui:545 msgid "Automatically remove virtual displays when the XR effect is disabled." msgstr "" -#: src/gtk/connected-device.ui:544 +#: src/gtk/connected-device.ui:555 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:545 +#: src/gtk/connected-device.ui:556 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:566 #, fuzzy msgid "All displays follow mode" msgstr "曲面ディスプレイ" -#: src/gtk/connected-device.ui:556 +#: src/gtk/connected-device.ui:567 msgid "Follow mode moves all displays, not just the focused one." msgstr "" -#: src/gtk/connected-device.ui:566 +#: src/gtk/connected-device.ui:577 msgid "Movement look-ahead" msgstr "動きの先読み" -#: src/gtk/connected-device.ui:567 +#: src/gtk/connected-device.ui:578 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " @@ -458,15 +468,15 @@ msgstr "" "ます。仮想ディスプレイが頭の動きに遅れたり、先に進んだり、非常に揺れたりする" "場合を除き、デフォルトのままで問題ありません。" -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:596 msgid "Default" msgstr "デフォルト" -#: src/gtk/connected-device.ui:597 +#: src/gtk/connected-device.ui:608 msgid "Text Scaling" msgstr "テキストスケーリング" -#: src/gtk/connected-device.ui:598 +#: src/gtk/connected-device.ui:609 msgid "Scaling text below 1.0 will simulate a higher resolution display" msgstr "" "テキストを1.0未満にスケーリングすると、高解像度ディスプレイをシミュレートしま" diff --git a/ui/po/pl.po b/ui/po/pl.po index 8008984..ff47da7 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-06 22:32-0800\n" +"POT-Creation-Date: 2025-03-07 11:00-0800\n" "PO-Revision-Date: 2024-08-16 10:26-0700\n" "Last-Translator: \n" "Language-Team: Polish \n" @@ -28,33 +28,33 @@ msgstr "" msgid "This feature is not currently supported for your device." msgstr "" -#: src/connecteddevice.py:129 +#: src/connecteddevice.py:131 msgid "Set Focused Display Distance" msgstr "" -#: src/connecteddevice.py:130 +#: src/connecteddevice.py:132 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:137 +#: src/connecteddevice.py:139 msgid "Set All Displays Distance" msgstr "" -#: src/connecteddevice.py:138 +#: src/connecteddevice.py:140 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:236 +#: src/connecteddevice.py:238 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:270 +#: src/connecteddevice.py:272 msgid "Focused display" msgstr "" -#: src/connecteddevice.py:276 +#: src/connecteddevice.py:278 msgid "All displays" msgstr "" @@ -390,57 +390,67 @@ msgid "Refresh rate may affect performance, disable this to set it manually." msgstr "" #: src/gtk/connected-device.ui:522 -msgid "Always primary display" +msgid "Center on glasses' display" msgstr "" #: src/gtk/connected-device.ui:523 -msgid "Automatically set the glasses as the primary display when plugged in." +msgid "" +"Center the viewport on the glasses' display, even if the display is not in " +"the middle." msgstr "" #: src/gtk/connected-device.ui:533 -msgid "Remove virtual displays on disable" +msgid "Always primary display" msgstr "" #: src/gtk/connected-device.ui:534 -msgid "Automatically remove virtual displays when the XR effect is disabled." +msgid "Automatically set the glasses as the primary display when plugged in." msgstr "" #: src/gtk/connected-device.ui:544 -msgid "Enable multi-tap detection" +msgid "Remove virtual displays on disable" msgstr "" #: src/gtk/connected-device.ui:545 -msgid "Enables double-tap to recenter and triple-tap to recalibrate." +msgid "Automatically remove virtual displays when the XR effect is disabled." msgstr "" #: src/gtk/connected-device.ui:555 -msgid "All displays follow mode" +msgid "Enable multi-tap detection" msgstr "" #: src/gtk/connected-device.ui:556 -msgid "Follow mode moves all displays, not just the focused one." +msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" #: src/gtk/connected-device.ui:566 -msgid "Movement look-ahead" +msgid "All displays follow mode" msgstr "" #: src/gtk/connected-device.ui:567 +msgid "Follow mode moves all displays, not just the focused one." +msgstr "" + +#: src/gtk/connected-device.ui:577 +msgid "Movement look-ahead" +msgstr "" + +#: src/gtk/connected-device.ui:578 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " "movements, jumps ahead, or is very shaky." msgstr "" -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:596 msgid "Default" msgstr "" -#: src/gtk/connected-device.ui:597 +#: src/gtk/connected-device.ui:608 msgid "Text Scaling" msgstr "" -#: src/gtk/connected-device.ui:598 +#: src/gtk/connected-device.ui:609 msgid "Scaling text below 1.0 will simulate a higher resolution display" msgstr "" diff --git a/ui/po/pt_BR.po b/ui/po/pt_BR.po index 75b7c09..4cd6055 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-06 22:32-0800\n" +"POT-Creation-Date: 2025-03-07 11:00-0800\n" "PO-Revision-Date: 2024-08-19 09:39-0700\n" "Last-Translator: \n" "Language-Team: Brazilian Portuguese \n" "Language-Team: Russian \n" @@ -29,36 +29,36 @@ msgstr "" msgid "This feature is not currently supported for your device." msgstr "Эта функция в настоящее время не поддерживается для вашего устройства." -#: src/connecteddevice.py:129 +#: src/connecteddevice.py:131 #, fuzzy msgid "Set Focused Display Distance" msgstr "Расстояние дисплея" -#: src/connecteddevice.py:130 +#: src/connecteddevice.py:132 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:137 +#: src/connecteddevice.py:139 #, fuzzy msgid "Set All Displays Distance" msgstr "Расстояние дисплея" -#: src/connecteddevice.py:138 +#: src/connecteddevice.py:140 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:236 +#: src/connecteddevice.py:238 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:270 +#: src/connecteddevice.py:272 #, fuzzy msgid "Focused display" msgstr "Расстояние дисплея" -#: src/connecteddevice.py:276 +#: src/connecteddevice.py:278 #, fuzzy msgid "All displays" msgstr "Изогнутый дисплей" @@ -408,46 +408,56 @@ msgstr "" "чтобы установить ее вручную." #: src/gtk/connected-device.ui:522 +msgid "Center on glasses' display" +msgstr "" + +#: src/gtk/connected-device.ui:523 +msgid "" +"Center the viewport on the glasses' display, even if the display is not in " +"the middle." +msgstr "" + +#: src/gtk/connected-device.ui:533 msgid "Always primary display" msgstr "Всегда основной дисплей" -#: src/gtk/connected-device.ui:523 +#: src/gtk/connected-device.ui:534 msgid "Automatically set the glasses as the primary display when plugged in." msgstr "" "Автоматически устанавливать очки в качестве основного дисплея при " "подключении." -#: src/gtk/connected-device.ui:533 +#: src/gtk/connected-device.ui:544 #, fuzzy msgid "Remove virtual displays on disable" msgstr "Изогнутый дисплей" -#: src/gtk/connected-device.ui:534 +#: src/gtk/connected-device.ui:545 msgid "Automatically remove virtual displays when the XR effect is disabled." msgstr "" -#: src/gtk/connected-device.ui:544 +#: src/gtk/connected-device.ui:555 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:545 +#: src/gtk/connected-device.ui:556 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:566 #, fuzzy msgid "All displays follow mode" msgstr "Изогнутый дисплей" -#: src/gtk/connected-device.ui:556 +#: src/gtk/connected-device.ui:567 msgid "Follow mode moves all displays, not just the focused one." msgstr "" -#: src/gtk/connected-device.ui:566 +#: src/gtk/connected-device.ui:577 msgid "Movement look-ahead" msgstr "Прогнозирование движения" -#: src/gtk/connected-device.ui:567 +#: src/gtk/connected-device.ui:578 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " @@ -458,15 +468,15 @@ msgstr "" "виртуальный дисплей не отстает от движений вашей головы, не опережает или не " "очень трясётся." -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:596 msgid "Default" msgstr "По умолчанию" -#: src/gtk/connected-device.ui:597 +#: src/gtk/connected-device.ui:608 msgid "Text Scaling" msgstr "" -#: src/gtk/connected-device.ui:598 +#: src/gtk/connected-device.ui:609 msgid "Scaling text below 1.0 will simulate a higher resolution display" msgstr "" diff --git a/ui/po/sv.po b/ui/po/sv.po index 22f62eb..6e523ec 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-06 22:32-0800\n" +"POT-Creation-Date: 2025-03-07 11:00-0800\n" "PO-Revision-Date: 2024-08-16 10:31-0700\n" "Last-Translator: \n" "Language-Team: Swedish \n" @@ -29,36 +29,36 @@ msgstr "" msgid "This feature is not currently supported for your device." msgstr "Din enhet stöder inte den här funktionen för tillfället." -#: src/connecteddevice.py:129 +#: src/connecteddevice.py:131 #, fuzzy msgid "Set Focused Display Distance" msgstr "Avstånd till skärmen" -#: src/connecteddevice.py:130 +#: src/connecteddevice.py:132 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:137 +#: src/connecteddevice.py:139 #, fuzzy msgid "Set All Displays Distance" msgstr "Avstånd till skärmen" -#: src/connecteddevice.py:138 +#: src/connecteddevice.py:140 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:236 +#: src/connecteddevice.py:238 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:270 +#: src/connecteddevice.py:272 #, fuzzy msgid "Focused display" msgstr "Avstånd till skärmen" -#: src/connecteddevice.py:276 +#: src/connecteddevice.py:278 #, fuzzy msgid "All displays" msgstr "Böjd skärm" @@ -409,44 +409,54 @@ msgstr "" "in det manuellt." #: src/gtk/connected-device.ui:522 +msgid "Center on glasses' display" +msgstr "" + +#: src/gtk/connected-device.ui:523 +msgid "" +"Center the viewport on the glasses' display, even if the display is not in " +"the middle." +msgstr "" + +#: src/gtk/connected-device.ui:533 msgid "Always primary display" msgstr "Alltid primär skärm" -#: src/gtk/connected-device.ui:523 +#: src/gtk/connected-device.ui:534 msgid "Automatically set the glasses as the primary display when plugged in." msgstr "Ställer automatisk glasögon som primär skärm när den är ansluten." -#: src/gtk/connected-device.ui:533 +#: src/gtk/connected-device.ui:544 #, fuzzy msgid "Remove virtual displays on disable" msgstr "Böjd skärm" -#: src/gtk/connected-device.ui:534 +#: src/gtk/connected-device.ui:545 msgid "Automatically remove virtual displays when the XR effect is disabled." msgstr "" -#: src/gtk/connected-device.ui:544 +#: src/gtk/connected-device.ui:555 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:545 +#: src/gtk/connected-device.ui:556 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:566 #, fuzzy msgid "All displays follow mode" msgstr "Böjd skärm" -#: src/gtk/connected-device.ui:556 +#: src/gtk/connected-device.ui:567 msgid "Follow mode moves all displays, not just the focused one." msgstr "" -#: src/gtk/connected-device.ui:566 +#: src/gtk/connected-device.ui:577 msgid "Movement look-ahead" msgstr "Rörs förväntning" -#: src/gtk/connected-device.ui:567 +#: src/gtk/connected-device.ui:578 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " @@ -455,15 +465,15 @@ msgstr "" "Motverkar ingångsfördröjning genom förutsägelse av huvudrörelser.Behåll " "standardinställningen om inte skärmen skakar mycket eller rörsig konstigt." -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:596 msgid "Default" msgstr "Standard" -#: src/gtk/connected-device.ui:597 +#: src/gtk/connected-device.ui:608 msgid "Text Scaling" msgstr "Textskalning" -#: src/gtk/connected-device.ui:598 +#: src/gtk/connected-device.ui:609 msgid "Scaling text below 1.0 will simulate a higher resolution display" msgstr "Textskalning under 1.0 kommer att simulera en högre skärmupplösning" diff --git a/ui/po/uk_UA.po b/ui/po/uk_UA.po index 23d11fd..456140c 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-06 22:32-0800\n" +"POT-Creation-Date: 2025-03-07 11:00-0800\n" "PO-Revision-Date: 2024-08-17 10:08-0700\n" "Last-Translator: \n" "Language-Team: Ukrainian \n" @@ -28,36 +28,36 @@ msgstr "Переключає окуляри в режим «бок о бок» msgid "This feature is not currently supported for your device." msgstr "Ця функція наразі не підтримується на вашому пристрої." -#: src/connecteddevice.py:129 +#: src/connecteddevice.py:131 #, fuzzy msgid "Set Focused Display Distance" msgstr "Відстань дисплея" -#: src/connecteddevice.py:130 +#: src/connecteddevice.py:132 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:137 +#: src/connecteddevice.py:139 #, fuzzy msgid "Set All Displays Distance" msgstr "Відстань дисплея" -#: src/connecteddevice.py:138 +#: src/connecteddevice.py:140 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:236 +#: src/connecteddevice.py:238 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:270 +#: src/connecteddevice.py:272 #, fuzzy msgid "Focused display" msgstr "Відстань дисплея" -#: src/connecteddevice.py:276 +#: src/connecteddevice.py:278 #, fuzzy msgid "All displays" msgstr "Викривлений дисплей" @@ -408,44 +408,54 @@ msgstr "" "встановити її вручну." #: src/gtk/connected-device.ui:522 +msgid "Center on glasses' display" +msgstr "" + +#: src/gtk/connected-device.ui:523 +msgid "" +"Center the viewport on the glasses' display, even if the display is not in " +"the middle." +msgstr "" + +#: src/gtk/connected-device.ui:533 msgid "Always primary display" msgstr "Завжди основний дисплей" -#: src/gtk/connected-device.ui:523 +#: src/gtk/connected-device.ui:534 msgid "Automatically set the glasses as the primary display when plugged in." msgstr "Автоматично встановлює окуляри як основний дисплей при підключенні." -#: src/gtk/connected-device.ui:533 +#: src/gtk/connected-device.ui:544 #, fuzzy msgid "Remove virtual displays on disable" msgstr "Викривлений дисплей" -#: src/gtk/connected-device.ui:534 +#: src/gtk/connected-device.ui:545 msgid "Automatically remove virtual displays when the XR effect is disabled." msgstr "" -#: src/gtk/connected-device.ui:544 +#: src/gtk/connected-device.ui:555 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:545 +#: src/gtk/connected-device.ui:556 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:566 #, fuzzy msgid "All displays follow mode" msgstr "Викривлений дисплей" -#: src/gtk/connected-device.ui:556 +#: src/gtk/connected-device.ui:567 msgid "Follow mode moves all displays, not just the focused one." msgstr "" -#: src/gtk/connected-device.ui:566 +#: src/gtk/connected-device.ui:577 msgid "Movement look-ahead" msgstr "Прогнозування руху" -#: src/gtk/connected-device.ui:567 +#: src/gtk/connected-device.ui:578 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " @@ -456,15 +466,15 @@ msgstr "" "віртуальний дисплей відстає від рухів вашої голови, випереджає або дуже " "тремтить." -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:596 msgid "Default" msgstr "За замовчуванням" -#: src/gtk/connected-device.ui:597 +#: src/gtk/connected-device.ui:608 msgid "Text Scaling" msgstr "" -#: src/gtk/connected-device.ui:598 +#: src/gtk/connected-device.ui:609 msgid "Scaling text below 1.0 will simulate a higher resolution display" msgstr "" diff --git a/ui/po/zh_CN.po b/ui/po/zh_CN.po index 2463524..f285ebe 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-06 22:32-0800\n" +"POT-Creation-Date: 2025-03-07 11:00-0800\n" "PO-Revision-Date: 2024-08-02 20:55-0700\n" "Last-Translator: \n" "Language-Team: Chinese (simplified) \n" @@ -26,36 +26,36 @@ msgstr "切换到并排模式,并将显示宽度翻倍。" msgid "This feature is not currently supported for your device." msgstr "您的设备目前不支援此功能。" -#: src/connecteddevice.py:129 +#: src/connecteddevice.py:131 #, fuzzy msgid "Set Focused Display Distance" msgstr "显示距离" -#: src/connecteddevice.py:130 +#: src/connecteddevice.py:132 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:137 +#: src/connecteddevice.py:139 #, fuzzy msgid "Set All Displays Distance" msgstr "显示距离" -#: src/connecteddevice.py:138 +#: src/connecteddevice.py:140 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:236 +#: src/connecteddevice.py:238 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:270 +#: src/connecteddevice.py:272 #, fuzzy msgid "Focused display" msgstr "显示距离" -#: src/connecteddevice.py:276 +#: src/connecteddevice.py:278 #, fuzzy msgid "All displays" msgstr "曲面显示" @@ -400,44 +400,54 @@ msgid "Refresh rate may affect performance, disable this to set it manually." msgstr "刷新率可能会影响性能,禁用此功能即可手动设置。" #: src/gtk/connected-device.ui:522 +msgid "Center on glasses' display" +msgstr "" + +#: src/gtk/connected-device.ui:523 +msgid "" +"Center the viewport on the glasses' display, even if the display is not in " +"the middle." +msgstr "" + +#: src/gtk/connected-device.ui:533 msgid "Always primary display" msgstr "每次设置为主要显示" -#: src/gtk/connected-device.ui:523 +#: src/gtk/connected-device.ui:534 msgid "Automatically set the glasses as the primary display when plugged in." msgstr "连接时,自动将眼镜设置为主要显示。" -#: src/gtk/connected-device.ui:533 +#: src/gtk/connected-device.ui:544 #, fuzzy msgid "Remove virtual displays on disable" msgstr "曲面显示" -#: src/gtk/connected-device.ui:534 +#: src/gtk/connected-device.ui:545 msgid "Automatically remove virtual displays when the XR effect is disabled." msgstr "" -#: src/gtk/connected-device.ui:544 +#: src/gtk/connected-device.ui:555 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:545 +#: src/gtk/connected-device.ui:556 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:566 #, fuzzy msgid "All displays follow mode" msgstr "曲面显示" -#: src/gtk/connected-device.ui:556 +#: src/gtk/connected-device.ui:567 msgid "Follow mode moves all displays, not just the focused one." msgstr "" -#: src/gtk/connected-device.ui:566 +#: src/gtk/connected-device.ui:577 msgid "Movement look-ahead" msgstr "移动预测" -#: src/gtk/connected-device.ui:567 +#: src/gtk/connected-device.ui:578 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " @@ -446,15 +456,15 @@ msgstr "" "透过预测头部追踪位置,提前于渲染时间进行预测来抵消输入延迟。除非虚拟显示滞后" "于头部,提前跳动或非常抖动,请尽量使用默认设置。" -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:596 msgid "Default" msgstr "默认" -#: src/gtk/connected-device.ui:597 +#: src/gtk/connected-device.ui:608 msgid "Text Scaling" msgstr "字体大小比例" -#: src/gtk/connected-device.ui:598 +#: src/gtk/connected-device.ui:609 msgid "Scaling text below 1.0 will simulate a higher resolution display" msgstr "字体缩放小于1.0,将模拟解析度更高的显示效果" diff --git a/ui/src/connecteddevice.py b/ui/src/connecteddevice.py index 5b121da..52cce72 100644 --- a/ui/src/connecteddevice.py +++ b/ui/src/connecteddevice.py @@ -48,6 +48,7 @@ class ConnectedDevice(Gtk.Box): toggle_display_distance_shortcut_label = Gtk.Template.Child() reassign_toggle_follow_shortcut_button = Gtk.Template.Child() toggle_follow_shortcut_label = Gtk.Template.Child() + headset_display_as_viewport_center_switch = Gtk.Template.Child() headset_as_primary_switch = Gtk.Template.Child() remove_virtual_displays_on_disable_switch = Gtk.Template.Child() use_optimal_monitor_config_switch = Gtk.Template.Child() @@ -99,6 +100,7 @@ class ConnectedDevice(Gtk.Box): self.settings.bind('follow-threshold', self.follow_threshold_adjustment, 'value', Gio.SettingsBindFlags.DEFAULT) # self.settings.bind('widescreen-mode', self.widescreen_mode_switch, 'active', Gio.SettingsBindFlags.DEFAULT) # self.settings.bind('curved-display', self.curved_display_switch, 'active', Gio.SettingsBindFlags.DEFAULT) + self.settings.bind('headset-display-as-viewport-center', self.headset_display_as_viewport_center_switch, 'active', Gio.SettingsBindFlags.DEFAULT) self.settings.bind('headset-as-primary', self.headset_as_primary_switch, 'active', Gio.SettingsBindFlags.DEFAULT) self.settings.bind('remove-virtual-displays-on-disable', self.remove_virtual_displays_on_disable_switch, 'active', Gio.SettingsBindFlags.DEFAULT) self.settings.bind('use-optimal-monitor-config', self.use_optimal_monitor_config_switch, 'active', Gio.SettingsBindFlags.DEFAULT) @@ -320,9 +322,6 @@ class ConnectedDevice(Gtk.Box): def _on_virtual_displays_update_gui(self, virtual_display_manager): effect_enabled = self.effect_enable_switch.get_active() virtual_displays_present = len(virtual_display_manager.displays) > 0 - self.launch_display_settings_button.set_visible( - self._settings_displays_app_info is not None and virtual_displays_present - ) self.monitor_wrapping_scheme_menu.set_sensitive(effect_enabled and virtual_displays_present) self.monitor_spacing_scale.set_sensitive(effect_enabled and virtual_displays_present) @@ -339,7 +338,9 @@ class ConnectedDevice(Gtk.Box): new_displays_by_pid[display['pid']] = child self.top_features_group.add(self.launch_display_settings_row) - self.launch_display_settings_row.set_visible(len(virtual_display_manager.displays) > 0) + self.launch_display_settings_row.set_visible( + self._settings_displays_app_info is not None and virtual_displays_present + ) self.virtual_displays_by_pid = new_displays_by_pid diff --git a/ui/src/gtk/connected-device.ui b/ui/src/gtk/connected-device.ui index 50c2756..084c810 100644 --- a/ui/src/gtk/connected-device.ui +++ b/ui/src/gtk/connected-device.ui @@ -517,6 +517,17 @@ + + + Center on glasses' display + Center the viewport on the glasses' display, even if the display is not in the middle. + + + 3 + + + + Always primary display