diff --git a/gnome/src/virtualdisplaysactor.js b/gnome/src/virtualdisplaysactor.js index adb26fb..e1fec8c 100644 --- a/gnome/src/virtualdisplaysactor.js +++ b/gnome/src/virtualdisplaysactor.js @@ -181,6 +181,7 @@ function monitorWrap(cachedMonitorRadians, radiusPixels, monitorSpacingPixels, m * and distance to the center of the screen * @param {Object[]} monitorDetailsList - contains x, y, width, height (coordinates from top-left) * @param {string} monitorWrappingScheme - horizontal, vertical, none + * @param {number} monitorSpacing - visual spacing between monitors, as a percentage of the viewport width * @returns {Object[]} - contains NWU vectors pointing to `topLeftNoRotate` and `center` of each monitor * and a `rotation` angle for the given wrapping scheme */ @@ -198,7 +199,7 @@ function monitorsToPlacements(fovDetails, monitorDetailsList, monitorWrappingSch const monitorSpacingPixels = monitorSpacing * fovDetails.widthPixels; cachedMonitorRadians[0] = -fovDetails.defaultDistanceHorizontalRadians / 2; - monitorDetailsList.forEach(monitorDetails => { + horizontalMonitorSort(monitorDetailsList).forEach(({monitorDetails, originalIndex}) => { const monitorWrapDetails = monitorWrap(cachedMonitorRadians, sideEdgeRadius, monitorSpacingPixels, monitorDetails.x, monitorDetails.width); const monitorCenterRadius = Math.sqrt(Math.pow(sideEdgeRadius, 2) - Math.pow(monitorDetails.width / 2, 2)); const upTopPixels = monitorDetails.y + (monitorDetails.y / fovDetails.heightPixels) * monitorSpacingPixels; @@ -210,6 +211,7 @@ function monitorsToPlacements(fovDetails, monitorDetailsList, monitorWrappingSch const upCenterPixels = upTopPixels + upCenterOriginPixels; monitorPlacements.push({ + originalIndex, topLeftNoRotate: [ monitorCenterRadius, @@ -257,7 +259,7 @@ function monitorsToPlacements(fovDetails, monitorDetailsList, monitorWrappingSch const monitorSpacingPixels = monitorSpacing * fovDetails.heightPixels; cachedMonitorRadians[0] = -fovDetails.defaultDistanceVerticalRadians / 2; - monitorDetailsList.forEach(monitorDetails => { + verticalMonitorSort(monitorDetailsList).forEach(({monitorDetails, originalIndex}) => { const monitorWrapDetails = monitorWrap(cachedMonitorRadians, topEdgeRadius, monitorSpacingPixels, monitorDetails.y, monitorDetails.height); const monitorCenterRadius = Math.sqrt(Math.pow(topEdgeRadius, 2) - Math.pow(monitorDetails.height / 2, 2)); const westPixels = monitorDetails.x + (monitorDetails.x / fovDetails.widthPixels) * monitorSpacingPixels; @@ -269,6 +271,7 @@ function monitorsToPlacements(fovDetails, monitorDetailsList, monitorWrappingSch const westCenterPixels = westPixels + westCenterOriginPixels; monitorPlacements.push({ + originalIndex, topLeftNoRotate: [ monitorCenterRadius, @@ -312,7 +315,7 @@ function monitorsToPlacements(fovDetails, monitorDetailsList, monitorWrappingSch const monitorSpacingPixels = monitorSpacing * fovDetails.widthPixels; // monitors make a flat wall in front of us, no wrapping - monitorDetailsList.forEach(monitorDetails => { + monitorDetailsList.forEach((monitorDetails, index) => { const upPixels = monitorDetails.y + (monitorDetails.y / fovDetails.heightPixels) * monitorSpacingPixels; const westPixels = monitorDetails.x + (monitorDetails.x / fovDetails.widthPixels) * monitorSpacingPixels; @@ -324,6 +327,7 @@ function monitorsToPlacements(fovDetails, monitorDetailsList, monitorWrappingSch const upCenterPixels = upPixels + upCenterOriginPixels; monitorPlacements.push({ + originalIndex: index, topLeftNoRotate: [ fovDetails.completeScreenDistancePixels, westPixels, @@ -352,11 +356,44 @@ function monitorsToPlacements(fovDetails, monitorDetailsList, monitorWrappingSch }); } + // put them back in the original monitor order before returning + monitorPlacements.sort((a, b) => a.originalIndex - b.originalIndex); + Globals.logger.log_debug(`\t\t\tMonitor placements: ${JSON.stringify(monitorPlacements)}, cached values: ${JSON.stringify(cachedMonitorRadians)}`); return monitorPlacements; } +// sort monitors based on wrapping scheme before determining their placements to avoid odd gaps +function horizontalMonitorSort(monitors) { + return monitors.map((monitor, index) => ({originalIndex: index, monitorDetails: monitor})).sort((a, b) => { + const aMon = a.monitorDetails; + const bMon = b.monitorDetails; + + // First compare by y-coordinate to form rows (top to bottom) + if (aMon.y !== bMon.y) { + return aMon.y - bMon.y; + } + // Then compare by x-coordinate within the same row (left to right) + return aMon.x - bMon.x; + }); +} + +// sort monitors based on wrapping scheme before determining their placements to avoid odd gaps +function verticalMonitorSort(monitors) { + return monitors.map((monitor, index) => ({originalIndex: index, monitorDetails: monitor})).sort((a, b) => { + const aMon = a.monitorDetails; + const bMon = b.monitorDetails; + + // First compare by x-coordinate to form columns (left to right) + if (aMon.x !== bMon.x) { + return aMon.x - bMon.x; + } + // Then compare by y-coordinate within the same column (top to bottom) + return aMon.y - bMon.y; + }); +} + export const VirtualDisplaysActor = GObject.registerClass({ Properties: { 'target-monitor': GObject.ParamSpec.jsobject( @@ -618,7 +655,7 @@ export const VirtualDisplaysActor = GObject.registerClass({ Globals.logger.log_debug(`\t\t\tActor to display ratios: ${actorToDisplayRatios}, offsets: ${actorToDisplayOffsets}`); - this._sorted_monitors.forEach(((monitor, index) => { + this._all_monitors.forEach(((monitor, index) => { Globals.logger.log_debug(`\t\t\tMonitor ${index}: ${monitor.x}, ${monitor.y}, ${monitor.width}, ${monitor.height}`); const containerActor = new Clutter.Actor({ @@ -728,13 +765,13 @@ export const VirtualDisplaysActor = GObject.registerClass({ this.display_distance / this._display_distance_default(), this.smooth_follow_enabled, this._fov_details(), - this._sorted_monitors + this._all_monitors ); if (this.focused_monitor_index !== focusedMonitorIndex) { Globals.logger.log_debug(`Switching to monitor ${focusedMonitorIndex}`); this.focused_monitor_index = focusedMonitorIndex; - this.focused_monitor_details = this._sorted_monitors[focusedMonitorIndex]; + this.focused_monitor_details = this._all_monitors[focusedMonitorIndex]; } } @@ -783,79 +820,55 @@ export const VirtualDisplaysActor = GObject.registerClass({ }; } - _horizontal_monitor_sort() { - return [...this._all_monitors].sort((a, b) => { - // First compare by y-coordinate to form rows (top to bottom) - if (a.y !== b.y) { - return a.y - b.y; - } - // Then compare by x-coordinate within the same row (left to right) - return a.x - b.x; - }); - } - - _vertical_monitor_sort() { - return [...this._all_monitors].sort((a, b) => { - // First compare by x-coordinate to form columns (left to right) - if (a.x !== b.x) { - return a.x - b.x; - } - // Then compare by y-coordinate within the same column (top to bottom) - return a.y - b.y; - }); - } - _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)); + try { + 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; + // 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; + 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') { - // 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'; - } else { - actualWrapScheme = 'vertical'; + // collect minimum and maximum x and y values of monitors + let actualWrapScheme = this.monitor_wrapping_scheme; + if (actualWrapScheme === 'automatic') { + // 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'; + } else { + actualWrapScheme = 'vertical'; + } } + const fovDetails = this._fov_details(); + this.lens_vector = [0.0, 0.0, -fovDetails.lensDistancePixels]; + this.monitor_placements = monitorsToPlacements( + fovDetails, + + // shift all monitors so they center around the viewport center, then adjusted by the offsets + this._all_monitors.map(monitor => ({ + 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 + })), + actualWrapScheme, + this.monitor_spacing / 1000.0 + ); + + // normalize the center vectors + this._monitorsAsNormalizedVectors = this.monitor_placements.map(monitorVectors => { + const vector = monitorVectors.centerLook; + const length = Math.sqrt(vector[0] * vector[0] + vector[1] * vector[1] + vector[2] * vector[2]); + return [vector[0] / length, vector[1] / length, vector[2] / length]; + }); + } catch (e) { + Globals.logger.log(`ERROR: virtualdisplaysactor.js _update_monitor_placements ${e.message}\n${e.stack}`); } - - // use horizontal in all cases but vertical wrapping - this._sorted_monitors = actualWrapScheme === 'vertical' ? - this._vertical_monitor_sort() : - this._horizontal_monitor_sort(); - - const fovDetails = this._fov_details(); - this.lens_vector = [0.0, 0.0, -fovDetails.lensDistancePixels]; - this.monitor_placements = monitorsToPlacements( - fovDetails, - - // shift all monitors so they center around the viewport center, then adjusted by the offsets - this._sorted_monitors.map(monitor => ({ - 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 - })), - actualWrapScheme, - this.monitor_spacing / 1000.0 - ); - - // normalize the center vectors - this._monitorsAsNormalizedVectors = this.monitor_placements.map(monitorVectors => { - const vector = monitorVectors.centerLook; - const length = Math.sqrt(vector[0] * vector[0] + vector[1] * vector[1] + vector[2] * vector[2]); - return [vector[0] / length, vector[1] / length, vector[2] / length]; - }); } _handle_display_distance_properties_change() { diff --git a/ui/po/breezydesktop.pot b/ui/po/breezydesktop.pot index eff990c..f978b62 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-07 15:10-0800\n" +"POT-Creation-Date: 2025-03-07 20:36-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -308,9 +308,7 @@ msgid "Viewport horizontal offset" msgstr "" #: src/gtk/connected-device.ui:293 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport to the left or right." +msgid "Move the viewport to the left or right of its default position." msgstr "" #: src/gtk/connected-device.ui:322 @@ -318,9 +316,7 @@ msgid "Viewport vertical offset" msgstr "" #: src/gtk/connected-device.ui:323 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport up or down." +msgid "Move the viewport up or down from its default position." msgstr "" #: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 diff --git a/ui/po/de.po b/ui/po/de.po index a05b830..7575eab 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-07 15:10-0800\n" +"POT-Creation-Date: 2025-03-07 20:36-0800\n" "PO-Revision-Date: 2024-08-02 20:54-0700\n" "Last-Translator: \n" "Language-Team: German \n" @@ -320,9 +320,7 @@ msgid "Viewport horizontal offset" msgstr "" #: src/gtk/connected-device.ui:293 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport to the left or right." +msgid "Move the viewport to the left or right of its default position." msgstr "" #: src/gtk/connected-device.ui:322 @@ -330,9 +328,7 @@ msgid "Viewport vertical offset" msgstr "" #: src/gtk/connected-device.ui:323 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport up or down." +msgid "Move the viewport up or down from its default position." msgstr "" #: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 diff --git a/ui/po/es.po b/ui/po/es.po index c468cb7..b987082 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-07 15:10-0800\n" +"POT-Creation-Date: 2025-03-07 20:36-0800\n" "PO-Revision-Date: 2024-08-02 20:55-0700\n" "Last-Translator: \n" "Language-Team: Spanish \n" @@ -319,9 +319,7 @@ msgid "Viewport horizontal offset" msgstr "" #: src/gtk/connected-device.ui:293 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport to the left or right." +msgid "Move the viewport to the left or right of its default position." msgstr "" #: src/gtk/connected-device.ui:322 @@ -329,9 +327,7 @@ msgid "Viewport vertical offset" msgstr "" #: src/gtk/connected-device.ui:323 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport up or down." +msgid "Move the viewport up or down from its default position." msgstr "" #: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 diff --git a/ui/po/fr.po b/ui/po/fr.po index 92d6488..5838c06 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-07 15:10-0800\n" +"POT-Creation-Date: 2025-03-07 20:36-0800\n" "PO-Revision-Date: 2024-08-02 20:54-0700\n" "Last-Translator: \n" "Language-Team: French \n" @@ -322,9 +322,7 @@ msgid "Viewport horizontal offset" msgstr "" #: src/gtk/connected-device.ui:293 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport to the left or right." +msgid "Move the viewport to the left or right of its default position." msgstr "" #: src/gtk/connected-device.ui:322 @@ -332,9 +330,7 @@ msgid "Viewport vertical offset" msgstr "" #: src/gtk/connected-device.ui:323 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport up or down." +msgid "Move the viewport up or down from its default position." msgstr "" #: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 diff --git a/ui/po/it.po b/ui/po/it.po index a95f3be..82567bd 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-07 15:10-0800\n" +"POT-Creation-Date: 2025-03-07 20:36-0800\n" "PO-Revision-Date: 2024-08-02 21:14-0700\n" "Last-Translator: \n" "Language-Team: Italian \n" @@ -320,9 +320,7 @@ msgid "Viewport horizontal offset" msgstr "" #: src/gtk/connected-device.ui:293 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport to the left or right." +msgid "Move the viewport to the left or right of its default position." msgstr "" #: src/gtk/connected-device.ui:322 @@ -330,9 +328,7 @@ msgid "Viewport vertical offset" msgstr "" #: src/gtk/connected-device.ui:323 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport up or down." +msgid "Move the viewport up or down from its default position." msgstr "" #: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 diff --git a/ui/po/ja.po b/ui/po/ja.po index 7e70021..156f3f4 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-07 15:10-0800\n" +"POT-Creation-Date: 2025-03-07 20:36-0800\n" "PO-Revision-Date: 2024-08-02 20:55-0700\n" "Last-Translator: \n" "Language-Team: Japanese \n" @@ -322,9 +322,7 @@ msgid "Viewport horizontal offset" msgstr "" #: src/gtk/connected-device.ui:293 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport to the left or right." +msgid "Move the viewport to the left or right of its default position." msgstr "" #: src/gtk/connected-device.ui:322 @@ -332,9 +330,7 @@ msgid "Viewport vertical offset" msgstr "" #: src/gtk/connected-device.ui:323 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport up or down." +msgid "Move the viewport up or down from its default position." msgstr "" #: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 diff --git a/ui/po/pl.po b/ui/po/pl.po index 6014453..385779a 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-07 15:10-0800\n" +"POT-Creation-Date: 2025-03-07 20:36-0800\n" "PO-Revision-Date: 2024-08-16 10:26-0700\n" "Last-Translator: \n" "Language-Team: Polish \n" @@ -309,9 +309,7 @@ msgid "Viewport horizontal offset" msgstr "" #: src/gtk/connected-device.ui:293 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport to the left or right." +msgid "Move the viewport to the left or right of its default position." msgstr "" #: src/gtk/connected-device.ui:322 @@ -319,9 +317,7 @@ msgid "Viewport vertical offset" msgstr "" #: src/gtk/connected-device.ui:323 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport up or down." +msgid "Move the viewport up or down from its default position." msgstr "" #: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 diff --git a/ui/po/pt_BR.po b/ui/po/pt_BR.po index 2650175..8814839 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-07 15:10-0800\n" +"POT-Creation-Date: 2025-03-07 20:36-0800\n" "PO-Revision-Date: 2024-08-19 09:39-0700\n" "Last-Translator: \n" "Language-Team: Brazilian Portuguese \n" "Language-Team: Russian \n" @@ -321,9 +321,7 @@ msgid "Viewport horizontal offset" msgstr "" #: src/gtk/connected-device.ui:293 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport to the left or right." +msgid "Move the viewport to the left or right of its default position." msgstr "" #: src/gtk/connected-device.ui:322 @@ -331,9 +329,7 @@ msgid "Viewport vertical offset" msgstr "" #: src/gtk/connected-device.ui:323 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport up or down." +msgid "Move the viewport up or down from its default position." msgstr "" #: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 diff --git a/ui/po/sv.po b/ui/po/sv.po index 69a9d3d..fdb9fbd 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-07 15:10-0800\n" +"POT-Creation-Date: 2025-03-07 20:36-0800\n" "PO-Revision-Date: 2024-08-16 10:31-0700\n" "Last-Translator: \n" "Language-Team: Swedish \n" @@ -320,9 +320,7 @@ msgid "Viewport horizontal offset" msgstr "" #: src/gtk/connected-device.ui:293 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport to the left or right." +msgid "Move the viewport to the left or right of its default position." msgstr "" #: src/gtk/connected-device.ui:322 @@ -330,9 +328,7 @@ msgid "Viewport vertical offset" msgstr "" #: src/gtk/connected-device.ui:323 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport up or down." +msgid "Move the viewport up or down from its default position." msgstr "" #: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 diff --git a/ui/po/uk_UA.po b/ui/po/uk_UA.po index 738d61a..00ca912 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-07 15:10-0800\n" +"POT-Creation-Date: 2025-03-07 20:36-0800\n" "PO-Revision-Date: 2024-08-17 10:08-0700\n" "Last-Translator: \n" "Language-Team: Ukrainian \n" @@ -321,9 +321,7 @@ msgid "Viewport horizontal offset" msgstr "" #: src/gtk/connected-device.ui:293 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport to the left or right." +msgid "Move the viewport to the left or right of its default position." msgstr "" #: src/gtk/connected-device.ui:322 @@ -331,9 +329,7 @@ msgid "Viewport vertical offset" msgstr "" #: src/gtk/connected-device.ui:323 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport up or down." +msgid "Move the viewport up or down from its default position." msgstr "" #: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 diff --git a/ui/po/zh_CN.po b/ui/po/zh_CN.po index 6948f3a..d32b7c1 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-07 15:10-0800\n" +"POT-Creation-Date: 2025-03-07 20:36-0800\n" "PO-Revision-Date: 2024-08-02 20:55-0700\n" "Last-Translator: \n" "Language-Team: Chinese (simplified) \n" @@ -317,9 +317,7 @@ msgid "Viewport horizontal offset" msgstr "" #: src/gtk/connected-device.ui:293 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport to the left or right." +msgid "Move the viewport to the left or right of its default position." msgstr "" #: src/gtk/connected-device.ui:322 @@ -327,9 +325,7 @@ msgid "Viewport vertical offset" msgstr "" #: src/gtk/connected-device.ui:323 -msgid "" -"By default, the viewport will center on the primary display. Use this slider " -"to move the viewport up or down." +msgid "Move the viewport up or down from its default position." msgstr "" #: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 diff --git a/ui/src/gtk/connected-device.ui b/ui/src/gtk/connected-device.ui index ae6c347..5511598 100644 --- a/ui/src/gtk/connected-device.ui +++ b/ui/src/gtk/connected-device.ui @@ -290,7 +290,7 @@ Viewport horizontal offset - By default, the viewport will center on the primary display. Use this slider to move the viewport to the left or right. + Move the viewport to the left or right of its default position. 3 @@ -320,7 +320,7 @@ Viewport vertical offset - By default, the viewport will center on the primary display. Use this slider to move the viewport up or down. + Move the viewport up or down from its default position. 3