From b506de2037bf69ad1fd18f0161700804f2ac95d8 Mon Sep 17 00:00:00 2001 From: wheaney <42350981+wheaney@users.noreply.github.com> Date: Wed, 5 Mar 2025 20:19:38 -0800 Subject: [PATCH 1/6] Update README --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f5f81e3..5155f18 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,12 @@ There are two installations at the moment. **Note: Don't manually install either * [Breezy Vulkan](#breezy-vulkan) primarily for gaming but would work with pretty much any application that uses Vulkan rendering. ## Breezy GNOME + Breezy GNOME is a virtual workspace solution for Linux desktops that use the GNOME desktop environment (support GNOME versions 42 through 47); see [non-GNOME setup](#non-gnome-setup) if you want to try it without a GNOME desktop environment. It currently supports multiple virtual monitors and multiple physical monitors. See [upcoming features](#upcoming-features) for more improvements on the horizon. ### GNOME Setup -For the best performance, ensure you have the latest graphics drivers installed for your distro. Also, double-check that your glasses are extending your workspace and not just mirroring your primary monitor by opening up the `Displays` settings dialog and choosing the `Join` option for multiple displays. +For the best performance, ensure you have the latest graphics drivers installed for your distro. Also, double-check that your glasses are extending your workspace and not just mirroring your primary monitor by opening up the `Displays` settings dialog and choosing the `Join` option for multiple displays. If you're running `GNOME on Xorg`, you may not be able to launch virtual displays; switch to `Wayland` or follow the [GNOME Legacy setup](#gnome-widescreen-legacy-setup) instructions. #### Arch Linux @@ -33,6 +34,10 @@ Breezy GNOME is in AUR (but not pacman, yet). To install, run these commands fro 2. Run the setup script: `~/Downloads/breezy_gnome_setup` 3. Log out and back in, then proceed to [usage](#breezy-gnome-usage). +### GNOME Widescreen (Legacy) Setup + +For single-screen ultrawide support, install the legacy version of Breezy Desktop by following the [All other distros](#all-other-distros) instructions, but run the setup script as `~/Downloads/breezy_gnome_setup --tag legacy`. + ### Steam Deck desktop mode Steam Deck's desktop mode runs KDE Plasma, so, for now, Breezy Desktop can only be run by launching a nested GNOME shell, and requires the read-only file system to be disabled to get setup. If you're interested, and *willing to accept any risks that come with disabling the read-only file system*, check out [the wiki entry](https://github.com/wheaney/breezy-desktop/wiki/Installing-on-Steam-Deck). From 1be2e8a9043d1e6287a43ec7b645a5901ea17aa3 Mon Sep 17 00:00:00 2001 From: wheaney <42350981+wheaney@users.noreply.github.com> Date: Wed, 5 Mar 2025 21:39:52 -0800 Subject: [PATCH 2/6] Backport multi-monitor for gnome-44-max --- gnome-44-max.patch | 347 ++++++++++++++++++++++++--------------------- 1 file changed, 186 insertions(+), 161 deletions(-) diff --git a/gnome-44-max.patch b/gnome-44-max.patch index 456fec7..7df90d0 100644 --- a/gnome-44-max.patch +++ b/gnome-44-max.patch @@ -35,10 +35,10 @@ index 36ad7ee..41102a0 100644 }, class MouseSpriteContent extends GObject.Object { _init() { diff --git a/gnome-44-max/src/cursormanager.js b/gnome-44-max/src/cursormanager.js -index 52d1341..86d8a76 100644 +index b8470d1..a4c048a 100644 --- a/gnome-44-max/src/cursormanager.js +++ b/gnome-44-max/src/cursormanager.js -@@ -1,12 +1,15 @@ +@@ -1,11 +1,15 @@ -import Clutter from 'gi://Clutter'; -import Meta from 'gi://Meta'; -import * as PointerWatcher from 'resource:///org/gnome/shell/ui/pointerWatcher.js'; @@ -47,7 +47,7 @@ index 52d1341..86d8a76 100644 +const Clutter = imports.gi.Clutter; +const Meta = imports.gi.Meta; +const PointerWatcher = imports.ui.pointerWatcher; - ++ +const ExtensionUtils = imports.misc.extensionUtils; +const Me = ExtensionUtils.getCurrentExtension(); + @@ -57,27 +57,66 @@ index 52d1341..86d8a76 100644 // Taken from https://github.com/jkitching/soft-brightness-plus -export class CursorManager { +var CursorManager = class CursorManager { - constructor(overlay, refreshRate) { - this._overlay = overlay; + constructor(targetMonitors, refreshRate) { + this._targetMonitors = targetMonitors; this._refreshRate = refreshRate; +diff --git a/gnome-44-max/src/devicedatastream.js b/gnome-44-max/src/devicedatastream.js +index aae3706..d2e96c0 100644 +--- a/gnome-44-max/src/devicedatastream.js ++++ b/gnome-44-max/src/devicedatastream.js +@@ -1,8 +1,12 @@ +-import Gio from 'gi://Gio'; +-import GObject from 'gi://GObject'; ++const Gio = imports.gi.Gio; ++const GObject = imports.gi.GObject; + +-import Globals from './globals.js'; +-import { ++const ExtensionUtils = imports.misc.extensionUtils; ++const Me = ExtensionUtils.getCurrentExtension(); ++ ++const Globals = Me.imports.globals; ++const { isValidKeepAlive, getEpochSec, toSec } = Me.imports.time; ++const { + dataViewEnd, + dataViewUint8, + dataViewBigUint, +@@ -14,8 +18,7 @@ import { + FLOAT_SIZE, + UINT_SIZE, + UINT8_SIZE +-} from "./ipc.js"; +-import { isValidKeepAlive, getEpochSec, toSec } from "./time.js"; ++} = Me.imports.ipc; + + const IPC_FILE_PATH = "/dev/shm/breezy_desktop_imu"; + const KEEPALIVE_REFRESH_INTERVAL_SEC = 1; +@@ -75,7 +78,7 @@ function nextDebugIMUQuaternion(counter) { + return [x, y, z, w]; + } + +-export const DeviceDataStream = GObject.registerClass({ ++var DeviceDataStream = GObject.registerClass({ + Properties: { + 'breezy-desktop-running': GObject.ParamSpec.boolean( + 'breezy-desktop-running', diff --git a/gnome-44-max/src/extension.js b/gnome-44-max/src/extension.js -index d8adda3..a24370f 100644 +index ea30261..814f170 100644 --- a/gnome-44-max/src/extension.js +++ b/gnome-44-max/src/extension.js -@@ -1,19 +1,21 @@ --import Clutter from 'gi://Clutter' +@@ -1,28 +1,32 @@ -import Gio from 'gi://Gio'; -import GLib from 'gi://GLib'; -import Meta from 'gi://Meta'; -import Shell from 'gi://Shell'; +-import St from 'gi://St'; - -import { CursorManager } from './cursormanager.js'; +-import { DeviceDataStream } from './devicedatastream.js'; -import Globals from './globals.js'; -import { Logger } from './logger.js'; --import { MonitorManager } from './monitormanager.js'; --import { Overlay } from './overlay.js'; --import { isValidKeepAlive } from './time.js'; --import { IPC_FILE_PATH, XREffect } from './xrEffect.js'; +-import { MonitorManager, NESTED_MONITOR_PRODUCT, SUPPORTED_MONITOR_PRODUCTS, VIRTUAL_MONITOR_PRODUCT } from './monitormanager.js'; +-import { VirtualDisplaysActor } from './virtualdisplaysactor.js'; - -import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js'; -import * as Main from 'resource:///org/gnome/shell/ui/main.js'; @@ -86,6 +125,7 @@ index d8adda3..a24370f 100644 +const GLib = imports.gi.GLib; +const Meta = imports.gi.Meta; +const Shell = imports.gi.Shell; ++const St = imports.gi.St; + +const Main = imports.ui.main; + @@ -94,15 +134,13 @@ index d8adda3..a24370f 100644 + +const Globals = Me.imports.globals; +const { CursorManager } = Me.imports.cursormanager; ++const { DeviceDataStream } = Me.imports.devicedatastream; +const { Logger } = Me.imports.logger; -+const { MonitorManager } = Me.imports.monitormanager; -+const { Overlay } = Me.imports.overlay; -+const { isValidKeepAlive } = Me.imports.time; -+const { IPC_FILE_PATH, XREffect } = Me.imports.xrEffect; ++const { MonitorManager, NESTED_MONITOR_PRODUCT, SUPPORTED_MONITOR_PRODUCTS, VIRTUAL_MONITOR_PRODUCT } = Me.imports.monitormanager; ++const { VirtualDisplaysActor } = Me.imports.virtualdisplaysactor; ++ - const NESTED_MONITOR_PRODUCT = 'MetaMonitor'; - const SUPPORTED_MONITOR_PRODUCTS = [ -@@ -33,11 +35,11 @@ const BIN_HOME = GLib.getenv('XDG_BIN_HOME') || GLib.build_filenamev([GLib.get_h + const BIN_HOME = GLib.getenv('XDG_BIN_HOME') || GLib.build_filenamev([GLib.get_home_dir(), '.local', 'bin']); const XDG_CLI_PATH = GLib.build_filenamev([BIN_HOME, 'xr_driver_cli']); const ALT_CLI_PATH = '/usr/bin/xr_driver_cli'; @@ -119,7 +157,7 @@ index d8adda3..a24370f 100644 // Set/destroyed by enable/disable this._cursor_manager = null; -@@ -645,6 +647,6 @@ export default class BreezyDesktopExtension extends Extension { +@@ -615,6 +619,6 @@ export default class BreezyDesktopExtension extends Extension { } } @@ -129,13 +167,16 @@ index d8adda3..a24370f 100644 + return new BreezyDesktopExtension(meta.path); } diff --git a/gnome-44-max/src/globals.js b/gnome-44-max/src/globals.js -index 124d2e1..79a3a87 100644 +index f11451c..4b5c65b 100644 --- a/gnome-44-max/src/globals.js +++ b/gnome-44-max/src/globals.js -@@ -2,5 +2,4 @@ const Globals = { +@@ -1,7 +1,6 @@ +-const Globals = { ++var Globals = { logger: null, ipc_file: null, // Gio.File instance, file exists if set - extension_dir: null // string path + extension_dir: null, // string path + data_stream: null, // DeviceDataStream instance -} -export default Globals; \ No newline at end of file @@ -212,7 +253,7 @@ index a729368..d5f7ab0 100644 let offset = dataViewInfo[DATA_VIEW_INFO_OFFSET_INDEX]; for (let i = 0; i < dataViewInfo[DATA_VIEW_INFO_COUNT_INDEX]; i++) { diff --git a/gnome-44-max/src/logger.js b/gnome-44-max/src/logger.js -index 50450c1..8b307fc 100644 +index 5bdf115..138a98a 100644 --- a/gnome-44-max/src/logger.js +++ b/gnome-44-max/src/logger.js @@ -14,15 +14,15 @@ @@ -238,15 +279,21 @@ index 50450c1..8b307fc 100644 Properties: { 'title': GObject.ParamSpec.string( diff --git a/gnome-44-max/src/math.js b/gnome-44-max/src/math.js -index 497274e..6c98cdb 100644 +index f1c9983..9a98c7b 100644 --- a/gnome-44-max/src/math.js +++ b/gnome-44-max/src/math.js -@@ -1,3 +1,3 @@ +@@ -1,9 +1,9 @@ -export function degreeToRadian(degree) { +function degreeToRadian(degree) { return degree * Math.PI / 180; } -\ No newline at end of file + + // FOV in radians is spherical, so doesn't follow Pythagoras' theorem +-export function diagonalToCrossFOVs(diagonalFOVRadians, aspectRatio) { ++function diagonalToCrossFOVs(diagonalFOVRadians, aspectRatio) { + // first convert from a spherical FOV to a diagonal FOV on a flat plane at a generic distance of 1.0 + const flatDiagonalFOV = 2 * Math.tan(diagonalFOVRadians / 2); + diff --git a/gnome-44-max/src/metadata.json b/gnome-44-max/src/metadata.json index 125954e..c888f94 100644 --- a/gnome-44-max/src/metadata.json @@ -262,10 +309,10 @@ index 125954e..c888f94 100644 } \ No newline at end of file diff --git a/gnome-44-max/src/monitormanager.js b/gnome-44-max/src/monitormanager.js -index 6cf5532..580925c 100644 +index 4c57171..080924d 100644 --- a/gnome-44-max/src/monitormanager.js +++ b/gnome-44-max/src/monitormanager.js -@@ -16,12 +16,15 @@ +@@ -16,16 +16,19 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . @@ -280,12 +327,19 @@ index 6cf5532..580925c 100644 -import Globals from './globals.js'; +const ExtensionUtils = imports.misc.extensionUtils; +const Me = ExtensionUtils.getCurrentExtension(); -+ + +-export const NESTED_MONITOR_PRODUCT = 'MetaMonitor'; +-export const VIRTUAL_MONITOR_PRODUCT = 'Virtual remote monitor'; +-export const SUPPORTED_MONITOR_PRODUCTS = [ +const Globals = Me.imports.globals; - - let cachedDisplayConfigProxy = null; - -@@ -43,7 +46,7 @@ function getDisplayConfigProxy(extPath) { ++ ++var NESTED_MONITOR_PRODUCT = 'MetaMonitor'; ++var VIRTUAL_MONITOR_PRODUCT = 'Virtual remote monitor'; ++var SUPPORTED_MONITOR_PRODUCTS = [ + 'VITURE', + 'nreal air', + 'Air', +@@ -58,7 +61,7 @@ function getDisplayConfigProxy(extPath) { return cachedDisplayConfigProxy; } @@ -294,7 +348,7 @@ index 6cf5532..580925c 100644 const DisplayConfigProxy = getDisplayConfigProxy(extPath); new DisplayConfigProxy( Gio.DBus.session, -@@ -243,7 +246,7 @@ function performOptimalModeCheck(displayConfigProxy, connectorName, headsetAsPri +@@ -366,7 +369,7 @@ function performOptimalModeCheck(displayConfigProxy, connectorName, headsetAsPri } // Monitor change handling @@ -303,31 +357,6 @@ index 6cf5532..580925c 100644 Properties: { 'use-optimal-monitor-config': GObject.ParamSpec.boolean( 'use-optimal-monitor-config', -diff --git a/gnome-44-max/src/overlay.js b/gnome-44-max/src/overlay.js -index c42af7c..1c917dc 100644 ---- a/gnome-44-max/src/overlay.js -+++ b/gnome-44-max/src/overlay.js -@@ -1,11 +1,14 @@ --import Clutter from 'gi://Clutter' --import Shell from 'gi://Shell'; --import St from 'gi://St'; -+const Clutter = imports.gi.Clutter; -+const Shell = imports.gi.Shell; -+const St = imports.gi.St; - --import { SystemBackground } from './systembackground.js'; --import * as Main from 'resource:///org/gnome/shell/ui/main.js'; -+const Main = imports.ui.main; - --export class Overlay { -+const ExtensionUtils = imports.misc.extensionUtils; -+const Me = ExtensionUtils.getCurrentExtension(); -+const { SystemBackground } = Me.imports.systembackground; -+ -+var Overlay = class { - constructor(targetMonitor) { - this._overlayContent = new Clutter.Actor({clip_to_allocation: true}); - this._overlay = new St.Bin({ diff --git a/gnome-44-max/src/shader.js b/gnome-44-max/src/shader.js index f70c96d..352be40 100644 --- a/gnome-44-max/src/shader.js @@ -341,33 +370,8 @@ index f70c96d..352be40 100644 const file = Gio.file_new_for_path(path); const data = file.load_contents(null); -diff --git a/gnome-44-max/src/systembackground.js b/gnome-44-max/src/systembackground.js -index cf7a3bb..cbf0a75 100644 ---- a/gnome-44-max/src/systembackground.js -+++ b/gnome-44-max/src/systembackground.js -@@ -1,14 +1,14 @@ --import Clutter from 'gi://Clutter'; --import Cogl from 'gi://Cogl'; --import GLib from 'gi://GLib'; --import GObject from 'gi://GObject'; --import Meta from 'gi://Meta'; -+const Clutter = imports.gi.Clutter; -+const Cogl = imports.gi.Cogl; -+const GLib = imports.gi.GLib; -+const GObject = imports.gi.GObject; -+const Meta = imports.gi.Meta; - - const DEFAULT_BACKGROUND_COLOR = Clutter.Color?.from_pixel(0x2e3436ff) || new Cogl.Color({red: 40, green: 40, blue: 40, alpha: 255}); - - let _systemBackground; - --export const SystemBackground = GObject.registerClass({ -+var SystemBackground = GObject.registerClass({ - Signals: {'loaded': {}}, - }, class SystemBackground extends Meta.BackgroundActor { - _init() { diff --git a/gnome-44-max/src/time.js b/gnome-44-max/src/time.js -index 017994a..3aa97d9 100644 +index 8c17207..fdfdac1 100644 --- a/gnome-44-max/src/time.js +++ b/gnome-44-max/src/time.js @@ -1,11 +1,11 @@ @@ -383,100 +387,121 @@ index 017994a..3aa97d9 100644 -export function isValidKeepAlive(dateSec) { +function isValidKeepAlive(dateSec) { - return Math.abs(toSec(Date.now()) - dateSec) <= 1; + return Math.abs(getEpochSec() - dateSec) <= 1; } \ No newline at end of file -diff --git a/gnome-44-max/src/xrEffect.js b/gnome-44-max/src/xrEffect.js -index 8590e0f..4394f43 100644 ---- a/gnome-44-max/src/xrEffect.js -+++ b/gnome-44-max/src/xrEffect.js -@@ -1,13 +1,15 @@ --import Clutter from 'gi://Clutter'; +diff --git a/gnome-44-max/src/virtualdisplayeffect.js b/gnome-44-max/src/virtualdisplayeffect.js +index 7fb013b..bb12660 100644 +--- a/gnome-44-max/src/virtualdisplayeffect.js ++++ b/gnome-44-max/src/virtualdisplayeffect.js +@@ -1,16 +1,18 @@ +-import Clutter from 'gi://Clutter' +-import Cogl from 'gi://Cogl'; +-import GLib from 'gi://GLib'; +-import GObject from 'gi://GObject'; +-import Shell from 'gi://Shell'; ++const Clutter = imports.gi.Clutter; ++const Cogl = imports.gi.Cogl; ++const GLib = imports.gi.GLib; ++const GObject = imports.gi.GObject; ++const Shell = imports.gi.Shell; + +-import Globals from './globals.js'; +-import { degreeToRadian, diagonalToCrossFOVs } from './math.js'; ++const ExtensionUtils = imports.misc.extensionUtils; ++const Me = ExtensionUtils.getCurrentExtension(); + ++const Globals = Me.imports.globals; ++const { degreeToRadian, diagonalToCrossFOVs } = Me.imports.math; + + // these need to mirror the values in XRLinuxDriver + // https://github.com/wheaney/XRLinuxDriver/blob/main/src/plugins/smooth_follow.c#L31 +-export const SMOOTH_FOLLOW_SLERP_TIMELINE_MS = 1000; ++var SMOOTH_FOLLOW_SLERP_TIMELINE_MS = 1000; + const SMOOTH_FOLLOW_SLERP_FACTOR = Math.pow(1-0.999, 1/SMOOTH_FOLLOW_SLERP_TIMELINE_MS); + + // this mirror's how the driver's slerp function progresses so our effect will match it +@@ -26,7 +28,7 @@ function lookAheadMS(imuDateMs, lookAheadCfg, override) { + return (override === -1 ? lookAheadCfg[0] : override) + dataAge; + } + +-export const VirtualDisplayEffect = GObject.registerClass({ ++var VirtualDisplayEffect = GObject.registerClass({ + Properties: { + 'monitor-index': GObject.ParamSpec.int( + 'monitor-index', +diff --git a/gnome-44-max/src/virtualdisplaysactor.js b/gnome-44-max/src/virtualdisplaysactor.js +index cab3c47..f69eef6 100644 +--- a/gnome-44-max/src/virtualdisplaysactor.js ++++ b/gnome-44-max/src/virtualdisplaysactor.js +@@ -1,18 +1,19 @@ +-import Clutter from 'gi://Clutter' -import Cogl from 'gi://Cogl'; -import GdkPixbuf from 'gi://GdkPixbuf'; -import GLib from 'gi://GLib'; -import GObject from 'gi://GObject'; +-import Mtk from 'gi://Mtk'; -import Shell from 'gi://Shell'; -- --import Globals from './globals.js'; -- --import { +-import St from 'gi://St'; +const Clutter = imports.gi.Clutter; +const Cogl = imports.gi.Cogl; +const GdkPixbuf = imports.gi.GdkPixbuf; +const GLib = imports.gi.GLib; +const GObject = imports.gi.GObject; +const Shell = imports.gi.Shell; -+ ++const St = imports.gi.St; + +-import { VirtualDisplayEffect, SMOOTH_FOLLOW_SLERP_TIMELINE_MS } from './virtualdisplayeffect.js'; +-import { degreeToRadian, diagonalToCrossFOVs } from './math.js'; ++const Main = imports.ui.main; + +-import * as Main from 'resource:///org/gnome/shell/ui/main.js'; +const ExtensionUtils = imports.misc.extensionUtils; +const Me = ExtensionUtils.getCurrentExtension(); -+ + +-import Globals from './globals.js'; ++const { VirtualDisplayEffect, SMOOTH_FOLLOW_SLERP_TIMELINE_MS } = Me.imports.virtualdisplayeffect; +const Globals = Me.imports.globals; -+const { - dataViewEnd, - dataViewUint8, - dataViewBigUint, -@@ -21,12 +23,12 @@ import { - FLOAT_SIZE, - UINT_SIZE, - UINT8_SIZE --} from "./ipc.js"; --import { degreeToRadian } from "./math.js"; --import { getShaderSource } from "./shader.js"; --import { isValidKeepAlive, toSec } from "./time.js"; -+} = Me.imports.ipc; -+const { degreeToRadian } = Me.imports.math; -+const { getShaderSource } = Me.imports.shader; -+const { isValidKeepAlive, toSec } = Me.imports.time; ++const { degreeToRadian, diagonalToCrossFOVs } = Me.imports.math; --export const IPC_FILE_PATH = "/dev/shm/breezy_desktop_imu"; -+var IPC_FILE_PATH = "/dev/shm/breezy_desktop_imu"; - - // the driver should be using the same data layout version - const DATA_LAYOUT_VERSION = 3; -@@ -232,7 +234,7 @@ function checkParityByte(dataView) { - return parityByte === parity; + function applyQuaternionToVector(vector, quaternion) { + const t = [ +@@ -357,7 +358,7 @@ function monitorsToPlacements(fovDetails, monitorDetailsList, monitorWrappingSch + return monitorPlacements; } --export const XREffect = GObject.registerClass({ -+var XREffect = GObject.registerClass({ +-export const VirtualDisplaysActor = GObject.registerClass({ ++var VirtualDisplaysActor = GObject.registerClass({ Properties: { - 'supported-device-detected': GObject.ParamSpec.boolean( - 'supported-device-detected', -@@ -380,8 +382,13 @@ export const XREffect = GObject.registerClass({ - if (!this._initialized) { - this.set_uniform_float(this.get_uniform_location('screenTexture'), 1, [0]); + 'target-monitor': GObject.ParamSpec.jsobject( + 'target-monitor', +@@ -538,26 +539,19 @@ export const VirtualDisplaysActor = GObject.registerClass({ + this._all_monitors = [ + this.target_monitor, + ...this.virtual_monitors +- ] +- +- const bannerTextureClippingRect = new Mtk.Rectangle({ +- x: 0, +- y: 0, +- width: 800, +- height: 200 +- }); ++ ]; -- this.get_pipeline().set_layer_texture(1, calibratingImage.get_texture()); -- this.get_pipeline().set_layer_texture(2, customBannerImage.get_texture()); -+ try { -+ // this can break in GNOME 42 -+ this.get_pipeline().set_layer_texture(1, calibratingImage.get_texture()); -+ this.get_pipeline().set_layer_texture(2, customBannerImage.get_texture()); -+ } catch (e) { -+ Globals.logger.log(`ERROR: xrEffect.js vfunc_paint_target ${e.message}\n${e.stack}`); -+ } - this.get_pipeline().set_uniform_1i(this.get_uniform_location('calibratingTexture'), 1); - this.get_pipeline().set_uniform_1i(this.get_uniform_location('customBannerTexture'), 2); + const calibratingBanner = GdkPixbuf.Pixbuf.new_from_file(`${Globals.extension_dir}/textures/calibrating.png`); + const calibratingImage = new Clutter.Image(); + calibratingImage.set_data(calibratingBanner.get_pixels(), Cogl.PixelFormat.RGB_888, + calibratingBanner.width, calibratingBanner.height, calibratingBanner.rowstride); +- this.bannerContent = Clutter.TextureContent.new_from_texture(calibratingImage.get_texture(), bannerTextureClippingRect); ++ this.bannerContent = Clutter.TextureContent.new_from_texture(calibratingImage.get_texture(), null); -diff --git a/modules/XRLinuxDriver b/modules/XRLinuxDriver -index 53002af..91a5d65 160000 ---- a/modules/XRLinuxDriver -+++ b/modules/XRLinuxDriver -@@ -1 +1 @@ --Subproject commit 53002afde8406eef7fe309206268ad6dc39e2da6 -+Subproject commit 91a5d65c57a63a8003ef4f8a2c36bc519104d54c -diff --git a/modules/sombrero b/modules/sombrero -index 76cb6bb..0ddc237 160000 ---- a/modules/sombrero -+++ b/modules/sombrero -@@ -1 +1 @@ --Subproject commit 76cb6bb65e90dfe2abf5bd2db8e280ae6e03d5c6 -+Subproject commit 0ddc237b5b47208eb9f3f520177920f7ea157dfd -diff --git a/ui/modules/PyXRLinuxDriverIPC b/ui/modules/PyXRLinuxDriverIPC -index c3b0dda..e6ec3e3 160000 ---- a/ui/modules/PyXRLinuxDriverIPC -+++ b/ui/modules/PyXRLinuxDriverIPC -@@ -1 +1 @@ --Subproject commit c3b0ddab302e11e517b57b621ff334faf03173de -+Subproject commit e6ec3e309e63608552becff694e5f3c9d1e5bcc3 + const customBanner = GdkPixbuf.Pixbuf.new_from_file(`${Globals.extension_dir}/textures/custom_banner.png`); + const customBannerImage = new Clutter.Image(); + customBannerImage.set_data(customBanner.get_pixels(), Cogl.PixelFormat.RGB_888, + customBanner.width, customBanner.height, customBanner.rowstride); +- this.customBannerContent = Clutter.TextureContent.new_from_texture(customBannerImage.get_texture(), bannerTextureClippingRect); ++ this.customBannerContent = Clutter.TextureContent.new_from_texture(customBannerImage.get_texture(), null); + + this.bannerActor = new Clutter.Actor({ + width: calibratingBanner.width, From 352b78b923ac0ec05bae633f657359dc772fe38b Mon Sep 17 00:00:00 2001 From: wheaney <42350981+wheaney@users.noreply.github.com> Date: Thu, 6 Mar 2025 11:17:10 -0800 Subject: [PATCH 3/6] Fix issue causing a crash on effect disable --- gnome/src/extension.js | 2 +- gnome/src/virtualdisplaysactor.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gnome/src/extension.js b/gnome/src/extension.js index ea30261..fcf860f 100644 --- a/gnome/src/extension.js +++ b/gnome/src/extension.js @@ -562,7 +562,7 @@ export default class BreezyDesktopExtension extends Extension { } if (this._virtual_displays_overlay) { if (this._virtual_displays_actor) { - this._virtual_displays_overlay.remove_child(this._virtual_displays_actor); + this._virtual_displays_overlay.set_child(null); this._virtual_displays_actor.destroy(); this._virtual_displays_actor = null; } diff --git a/gnome/src/virtualdisplaysactor.js b/gnome/src/virtualdisplaysactor.js index cab3c47..95b2ad8 100644 --- a/gnome/src/virtualdisplaysactor.js +++ b/gnome/src/virtualdisplaysactor.js @@ -894,7 +894,7 @@ export const VirtualDisplaysActor = GObject.registerClass({ this.monitor_actors.forEach(({ viewport, containerActor, monitorClone, effect }) => { viewport.remove_effect(effect); containerActor.remove_child(monitorClone); - viewport.remove_child(containerActor); + viewport.set_child(null); this.remove_child(viewport); }); this.monitor_actors = []; From a3807f247a820bd67683a9654faa92adca9f803e Mon Sep 17 00:00:00 2001 From: wheaney <42350981+wheaney@users.noreply.github.com> Date: Thu, 6 Mar 2025 15:32:46 -0800 Subject: [PATCH 4/6] Update UI to prefer columns on the primary tab, prevent it from getting too long --- ui/po/breezydesktop.pot | 130 +++++++++++++++---------------- ui/po/de.po | 136 ++++++++++++++++----------------- ui/po/es.po | 136 ++++++++++++++++----------------- ui/po/fr.po | 136 ++++++++++++++++----------------- ui/po/it.po | 136 ++++++++++++++++----------------- ui/po/ja.po | 136 ++++++++++++++++----------------- ui/po/pl.po | 130 +++++++++++++++---------------- ui/po/pt_BR.po | 136 ++++++++++++++++----------------- ui/po/ru.po | 136 ++++++++++++++++----------------- ui/po/sv.po | 136 ++++++++++++++++----------------- ui/po/uk_UA.po | 136 ++++++++++++++++----------------- ui/po/zh_CN.po | 136 ++++++++++++++++----------------- ui/src/connecteddevice.py | 9 ++- ui/src/gtk/connected-device.ui | 28 ++++--- 14 files changed, 836 insertions(+), 821 deletions(-) diff --git a/ui/po/breezydesktop.pot b/ui/po/breezydesktop.pot index 9534c35..02f1ab7 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-05 12:28-0800\n" +"POT-Creation-Date: 2025-03-06 15:32-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:124 +#: src/connecteddevice.py:125 msgid "Set Focused Display Distance" msgstr "" -#: src/connecteddevice.py:125 +#: src/connecteddevice.py:126 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:132 +#: src/connecteddevice.py:133 msgid "Set All Displays Distance" msgstr "" -#: src/connecteddevice.py:133 +#: src/connecteddevice.py:134 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:231 +#: src/connecteddevice.py:232 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:265 +#: src/connecteddevice.py:266 msgid "Focused display" msgstr "" -#: src/connecteddevice.py:271 +#: src/connecteddevice.py:272 msgid "All displays" msgstr "" @@ -197,19 +197,19 @@ msgstr "" msgid "Features" msgstr "" -#: src/gtk/connected-device.ui:44 +#: src/gtk/connected-device.ui:45 msgid "XR effect" msgstr "" -#: src/gtk/connected-device.ui:45 +#: src/gtk/connected-device.ui:46 msgid "Enables the Breezy Desktop XR effect." msgstr "" -#: src/gtk/connected-device.ui:55 +#: src/gtk/connected-device.ui:56 msgid "Zoom on focus" msgstr "" -#: src/gtk/connected-device.ui:56 +#: src/gtk/connected-device.ui:57 msgid "" "Automatically move a display closer when you look at it.\n" "Set your preferred focused and unfocused distances in the Adjustments " @@ -217,213 +217,213 @@ msgid "" " " msgstr "" -#: src/gtk/connected-device.ui:69 +#: src/gtk/connected-device.ui:70 msgid "Follow mode" msgstr "" -#: src/gtk/connected-device.ui:70 +#: src/gtk/connected-device.ui:71 msgid "Keep the focused display near the center of your view." msgstr "" -#: src/gtk/connected-device.ui:80 src/gtk/no-device.ui:34 +#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:34 msgid "Disable physical displays" msgstr "" -#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:35 +#: src/gtk/connected-device.ui:82 src/gtk/no-device.ui:35 msgid "" "Automatically disable all physical displays when the XR effect is enabled." msgstr "" -#: src/gtk/connected-device.ui:91 +#: src/gtk/connected-device.ui:92 msgid "Virtual displays" msgstr "" -#: src/gtk/connected-device.ui:103 -msgid "Rearrange displays" -msgstr "" - -#: src/gtk/connected-device.ui:115 +#: src/gtk/connected-device.ui:108 msgid "1080p" msgstr "" -#: src/gtk/connected-device.ui:116 +#: src/gtk/connected-device.ui:109 msgid "1440p" msgstr "" -#: src/gtk/connected-device.ui:140 +#: src/gtk/connected-device.ui:131 +msgid "Rearrange displays" +msgstr "" + +#: src/gtk/connected-device.ui:149 msgid "Adjustments" msgstr "" -#: src/gtk/connected-device.ui:143 +#: src/gtk/connected-device.ui:153 msgid "Display distances" msgstr "" -#: src/gtk/connected-device.ui:144 +#: src/gtk/connected-device.ui:154 msgid "Set how close you want displays to appear." msgstr "" -#: src/gtk/connected-device.ui:199 +#: src/gtk/connected-device.ui:209 msgid "Follow threshold" msgstr "" -#: src/gtk/connected-device.ui:200 +#: src/gtk/connected-device.ui:210 msgid "How far away you can look before the display follows." msgstr "" -#: src/gtk/connected-device.ui:223 +#: src/gtk/connected-device.ui:233 msgid "Display angling" msgstr "" -#: src/gtk/connected-device.ui:224 +#: src/gtk/connected-device.ui:234 msgid "" "When there are multiple displays, choose how they should angle towards you." msgstr "" -#: src/gtk/connected-device.ui:238 +#: src/gtk/connected-device.ui:248 msgid "Automatic" msgstr "" -#: src/gtk/connected-device.ui:239 +#: src/gtk/connected-device.ui:249 msgid "Side-angled" msgstr "" -#: src/gtk/connected-device.ui:240 +#: src/gtk/connected-device.ui:250 msgid "Top-angled" msgstr "" -#: src/gtk/connected-device.ui:241 +#: src/gtk/connected-device.ui:251 msgid "Flat" msgstr "" -#: src/gtk/connected-device.ui:251 +#: src/gtk/connected-device.ui:261 msgid "Display spacing" msgstr "" -#: src/gtk/connected-device.ui:252 +#: src/gtk/connected-device.ui:262 msgid "Put empty space between displays, when there are multiple." msgstr "" -#: src/gtk/connected-device.ui:282 +#: src/gtk/connected-device.ui:292 msgid "Viewport horizontal offset" msgstr "" -#: src/gtk/connected-device.ui:283 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:312 +#: src/gtk/connected-device.ui:322 msgid "Viewport vertical offset" msgstr "" -#: src/gtk/connected-device.ui:313 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:349 src/gtk/connected-device.ui:355 +#: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 msgid "Keyboard Shortcuts" msgstr "" -#: src/gtk/connected-device.ui:358 +#: src/gtk/connected-device.ui:368 msgid "XR Effect on/off shortcut" msgstr "" -#: src/gtk/connected-device.ui:359 +#: src/gtk/connected-device.ui:369 msgid "" "Quickly enable or disable the XR Effect. You may need to enable the effect " "manually once in order to enable the shortcut." msgstr "" -#: src/gtk/connected-device.ui:378 src/gtk/connected-device.ui:407 -#: src/gtk/connected-device.ui:436 src/gtk/connected-device.ui:465 +#: src/gtk/connected-device.ui:388 src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:446 src/gtk/connected-device.ui:475 msgid "Change" msgstr "" -#: src/gtk/connected-device.ui:387 +#: src/gtk/connected-device.ui:397 msgid "Re-center display shortcut" msgstr "" -#: src/gtk/connected-device.ui:388 +#: src/gtk/connected-device.ui:398 msgid "Pin the virtual display to the current position." msgstr "" -#: src/gtk/connected-device.ui:416 +#: src/gtk/connected-device.ui:426 msgid "Toggle zoom on focus shortcut" msgstr "" -#: src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:427 msgid "Quickly toggle zoom on focus mode." msgstr "" -#: src/gtk/connected-device.ui:445 +#: src/gtk/connected-device.ui:455 msgid "Toggle follow mode shortcut" msgstr "" -#: src/gtk/connected-device.ui:446 +#: src/gtk/connected-device.ui:456 msgid "Quickly toggle follow mode." msgstr "" -#: src/gtk/connected-device.ui:481 src/gtk/connected-device.ui:487 +#: src/gtk/connected-device.ui:491 src/gtk/connected-device.ui:497 msgid "Advanced Settings" msgstr "" -#: src/gtk/connected-device.ui:490 +#: src/gtk/connected-device.ui:500 msgid "Find optimal display config" msgstr "" -#: src/gtk/connected-device.ui:491 +#: src/gtk/connected-device.ui:501 msgid "" "Automatically modify the glasses display configuration for maximum " "resolution and best scaling when plugged in." msgstr "" -#: src/gtk/connected-device.ui:501 +#: src/gtk/connected-device.ui:511 msgid "Use highest refresh rate" msgstr "" -#: src/gtk/connected-device.ui:502 +#: src/gtk/connected-device.ui:512 msgid "Refresh rate may affect performance, disable this to set it manually." msgstr "" -#: src/gtk/connected-device.ui:512 +#: src/gtk/connected-device.ui:522 msgid "Always primary display" msgstr "" -#: src/gtk/connected-device.ui:513 +#: src/gtk/connected-device.ui:523 msgid "Automatically set the glasses as the primary display when plugged in." msgstr "" -#: src/gtk/connected-device.ui:523 +#: src/gtk/connected-device.ui:533 msgid "Movement look-ahead" msgstr "" -#: src/gtk/connected-device.ui:524 +#: src/gtk/connected-device.ui:534 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:542 +#: src/gtk/connected-device.ui:552 msgid "Default" msgstr "" -#: src/gtk/connected-device.ui:554 +#: src/gtk/connected-device.ui:564 msgid "Text Scaling" msgstr "" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:565 msgid "Scaling text below 1.0 will simulate a higher resolution display" msgstr "" -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:595 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:586 +#: src/gtk/connected-device.ui:596 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" diff --git a/ui/po/de.po b/ui/po/de.po index 14d88e9..19cd61d 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-05 12:28-0800\n" +"POT-Creation-Date: 2025-03-06 15:32-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:124 +#: src/connecteddevice.py:125 #, fuzzy msgid "Set Focused Display Distance" msgstr "Display-Entfernung" -#: src/connecteddevice.py:125 +#: src/connecteddevice.py:126 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:132 +#: src/connecteddevice.py:133 #, fuzzy msgid "Set All Displays Distance" msgstr "Display-Entfernung" -#: src/connecteddevice.py:133 +#: src/connecteddevice.py:134 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:231 +#: src/connecteddevice.py:232 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:265 +#: src/connecteddevice.py:266 #, fuzzy msgid "Focused display" msgstr "Display-Entfernung" -#: src/connecteddevice.py:271 +#: src/connecteddevice.py:272 #, fuzzy msgid "All displays" msgstr "Gebogenes Display" @@ -203,19 +203,19 @@ msgstr "Allgemeine Einstellungen" msgid "Features" msgstr "Funktionen" -#: src/gtk/connected-device.ui:44 +#: src/gtk/connected-device.ui:45 msgid "XR effect" msgstr "XR-Effekt" -#: src/gtk/connected-device.ui:45 +#: src/gtk/connected-device.ui:46 msgid "Enables the Breezy Desktop XR effect." msgstr "Aktiviert den Breezy Desktop XR-Effekt." -#: src/gtk/connected-device.ui:55 +#: src/gtk/connected-device.ui:56 msgid "Zoom on focus" msgstr "" -#: src/gtk/connected-device.ui:56 +#: src/gtk/connected-device.ui:57 msgid "" "Automatically move a display closer when you look at it.\n" "Set your preferred focused and unfocused distances in the Adjustments " @@ -223,127 +223,127 @@ msgid "" " " msgstr "" -#: src/gtk/connected-device.ui:69 +#: src/gtk/connected-device.ui:70 msgid "Follow mode" msgstr "Folgemodus" -#: src/gtk/connected-device.ui:70 +#: src/gtk/connected-device.ui:71 #, fuzzy msgid "Keep the focused display near the center of your view." msgstr "Halten Sie das virtuelle Display Nahe der Mitte Ihres Blickfelds." -#: src/gtk/connected-device.ui:80 src/gtk/no-device.ui:34 +#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:34 msgid "Disable physical displays" msgstr "" -#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:35 +#: src/gtk/connected-device.ui:82 src/gtk/no-device.ui:35 msgid "" "Automatically disable all physical displays when the XR effect is enabled." msgstr "" -#: src/gtk/connected-device.ui:91 +#: src/gtk/connected-device.ui:92 #, fuzzy msgid "Virtual displays" msgstr "Gebogenes Display" -#: src/gtk/connected-device.ui:103 +#: src/gtk/connected-device.ui:108 +msgid "1080p" +msgstr "" + +#: src/gtk/connected-device.ui:109 +msgid "1440p" +msgstr "" + +#: src/gtk/connected-device.ui:131 #, fuzzy msgid "Rearrange displays" msgstr "Gebogenes Display" -#: src/gtk/connected-device.ui:115 -msgid "1080p" -msgstr "" - -#: src/gtk/connected-device.ui:116 -msgid "1440p" -msgstr "" - -#: src/gtk/connected-device.ui:140 +#: src/gtk/connected-device.ui:149 msgid "Adjustments" msgstr "Einstellungen" -#: src/gtk/connected-device.ui:143 +#: src/gtk/connected-device.ui:153 #, fuzzy msgid "Display distances" msgstr "Display-Entfernung" -#: src/gtk/connected-device.ui:144 +#: src/gtk/connected-device.ui:154 msgid "Set how close you want displays to appear." msgstr "" -#: src/gtk/connected-device.ui:199 +#: src/gtk/connected-device.ui:209 msgid "Follow threshold" msgstr "Folgemodus-Schwelle" -#: src/gtk/connected-device.ui:200 +#: src/gtk/connected-device.ui:210 msgid "How far away you can look before the display follows." msgstr "Wie weit Sie wegschauen können, bevor das Display folgt." -#: src/gtk/connected-device.ui:223 +#: src/gtk/connected-device.ui:233 #, fuzzy msgid "Display angling" msgstr "Display-Größe" -#: src/gtk/connected-device.ui:224 +#: src/gtk/connected-device.ui:234 msgid "" "When there are multiple displays, choose how they should angle towards you." msgstr "" -#: src/gtk/connected-device.ui:238 +#: src/gtk/connected-device.ui:248 msgid "Automatic" msgstr "" -#: src/gtk/connected-device.ui:239 +#: src/gtk/connected-device.ui:249 msgid "Side-angled" msgstr "" -#: src/gtk/connected-device.ui:240 +#: src/gtk/connected-device.ui:250 msgid "Top-angled" msgstr "" -#: src/gtk/connected-device.ui:241 +#: src/gtk/connected-device.ui:251 msgid "Flat" msgstr "" -#: src/gtk/connected-device.ui:251 +#: src/gtk/connected-device.ui:261 #, fuzzy msgid "Display spacing" msgstr "Display-Größe" -#: src/gtk/connected-device.ui:252 +#: src/gtk/connected-device.ui:262 msgid "Put empty space between displays, when there are multiple." msgstr "" -#: src/gtk/connected-device.ui:282 +#: src/gtk/connected-device.ui:292 msgid "Viewport horizontal offset" msgstr "" -#: src/gtk/connected-device.ui:283 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:312 +#: src/gtk/connected-device.ui:322 msgid "Viewport vertical offset" msgstr "" -#: src/gtk/connected-device.ui:313 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:349 src/gtk/connected-device.ui:355 +#: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 msgid "Keyboard Shortcuts" msgstr "Tastenkombinationen" -#: src/gtk/connected-device.ui:358 +#: src/gtk/connected-device.ui:368 msgid "XR Effect on/off shortcut" msgstr "XR-Effekt an/aus Tastenkombination" -#: src/gtk/connected-device.ui:359 +#: src/gtk/connected-device.ui:369 msgid "" "Quickly enable or disable the XR Effect. You may need to enable the effect " "manually once in order to enable the shortcut." @@ -352,46 +352,46 @@ msgstr "" "Effekt einmalig manuell aktiviert werden, um die Tastenkombination zu " "aktivieren." -#: src/gtk/connected-device.ui:378 src/gtk/connected-device.ui:407 -#: src/gtk/connected-device.ui:436 src/gtk/connected-device.ui:465 +#: src/gtk/connected-device.ui:388 src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:446 src/gtk/connected-device.ui:475 msgid "Change" msgstr "Ändern" -#: src/gtk/connected-device.ui:387 +#: src/gtk/connected-device.ui:397 msgid "Re-center display shortcut" msgstr "Display-Zentrierung-Tastenkombination" -#: src/gtk/connected-device.ui:388 +#: src/gtk/connected-device.ui:398 msgid "Pin the virtual display to the current position." msgstr "Heften Sie das virtuelle Display an die aktuelle Position an." -#: src/gtk/connected-device.ui:416 +#: src/gtk/connected-device.ui:426 #, fuzzy msgid "Toggle zoom on focus shortcut" msgstr "Folgemodus-Tastenkombination umschalten" -#: src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:427 #, fuzzy msgid "Quickly toggle zoom on focus mode." msgstr "Schnell den Folgemodus wechseln." -#: src/gtk/connected-device.ui:445 +#: src/gtk/connected-device.ui:455 msgid "Toggle follow mode shortcut" msgstr "Folgemodus-Tastenkombination umschalten" -#: src/gtk/connected-device.ui:446 +#: src/gtk/connected-device.ui:456 msgid "Quickly toggle follow mode." msgstr "Schnell den Folgemodus wechseln." -#: src/gtk/connected-device.ui:481 src/gtk/connected-device.ui:487 +#: src/gtk/connected-device.ui:491 src/gtk/connected-device.ui:497 msgid "Advanced Settings" msgstr "Erweiterte Einstellungen" -#: src/gtk/connected-device.ui:490 +#: src/gtk/connected-device.ui:500 msgid "Find optimal display config" msgstr "Optimale Display-Konfiguration finden" -#: src/gtk/connected-device.ui:491 +#: src/gtk/connected-device.ui:501 msgid "" "Automatically modify the glasses display configuration for maximum " "resolution and best scaling when plugged in." @@ -399,31 +399,31 @@ msgstr "" "Ändern Sie die Display-Konfiguration der Brille automatisch zur maximalen " "Auflösung und besten Skalierung, wenn sie angeschlossen ist." -#: src/gtk/connected-device.ui:501 +#: src/gtk/connected-device.ui:511 msgid "Use highest refresh rate" msgstr "Höchste Bildwiederholrate verwenden" -#: src/gtk/connected-device.ui:502 +#: src/gtk/connected-device.ui:512 msgid "Refresh rate may affect performance, disable this to set it manually." msgstr "" "Die Bildwiederholrate kann die Leistung beeinflussen, deaktivieren Sie dies, " "um sie manuell festzulegen." -#: src/gtk/connected-device.ui:512 +#: src/gtk/connected-device.ui:522 msgid "Always primary display" msgstr "Immer primäres Display" -#: src/gtk/connected-device.ui:513 +#: src/gtk/connected-device.ui:523 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:523 +#: src/gtk/connected-device.ui:533 msgid "Movement look-ahead" msgstr "Bewegungsvorausschau" -#: src/gtk/connected-device.ui:524 +#: src/gtk/connected-device.ui:534 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " @@ -434,23 +434,23 @@ msgstr "" "es sei denn, das virtuelle Display hängt hinter Ihren Kopfbewegungen " "hinterher, springt vor oder ist sehr wackelig." -#: src/gtk/connected-device.ui:542 +#: src/gtk/connected-device.ui:552 msgid "Default" msgstr "Standard" -#: src/gtk/connected-device.ui:554 +#: src/gtk/connected-device.ui:564 msgid "Text Scaling" msgstr "Textskalierung" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:565 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" -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:595 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:586 +#: src/gtk/connected-device.ui:596 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" diff --git a/ui/po/es.po b/ui/po/es.po index b3f84bb..0056aa5 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-05 12:28-0800\n" +"POT-Creation-Date: 2025-03-06 15:32-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:124 +#: src/connecteddevice.py:125 #, fuzzy msgid "Set Focused Display Distance" msgstr "Distancia de la pantalla" -#: src/connecteddevice.py:125 +#: src/connecteddevice.py:126 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:132 +#: src/connecteddevice.py:133 #, fuzzy msgid "Set All Displays Distance" msgstr "Distancia de la pantalla" -#: src/connecteddevice.py:133 +#: src/connecteddevice.py:134 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:231 +#: src/connecteddevice.py:232 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:265 +#: src/connecteddevice.py:266 #, fuzzy msgid "Focused display" msgstr "Distancia de la pantalla" -#: src/connecteddevice.py:271 +#: src/connecteddevice.py:272 #, fuzzy msgid "All displays" msgstr "Pantalla curvada" @@ -202,19 +202,19 @@ msgstr "Configuración General" msgid "Features" msgstr "Características" -#: src/gtk/connected-device.ui:44 +#: src/gtk/connected-device.ui:45 msgid "XR effect" msgstr "Efecto XR" -#: src/gtk/connected-device.ui:45 +#: src/gtk/connected-device.ui:46 msgid "Enables the Breezy Desktop XR effect." msgstr "Habilita el efecto XR de Breezy Desktop." -#: src/gtk/connected-device.ui:55 +#: src/gtk/connected-device.ui:56 msgid "Zoom on focus" msgstr "" -#: src/gtk/connected-device.ui:56 +#: src/gtk/connected-device.ui:57 msgid "" "Automatically move a display closer when you look at it.\n" "Set your preferred focused and unfocused distances in the Adjustments " @@ -222,127 +222,127 @@ msgid "" " " msgstr "" -#: src/gtk/connected-device.ui:69 +#: src/gtk/connected-device.ui:70 msgid "Follow mode" msgstr "Modo de seguimiento" -#: src/gtk/connected-device.ui:70 +#: src/gtk/connected-device.ui:71 #, fuzzy msgid "Keep the focused display near the center of your view." msgstr "Mantenga la pantalla virtual cerca del centro de su vista." -#: src/gtk/connected-device.ui:80 src/gtk/no-device.ui:34 +#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:34 msgid "Disable physical displays" msgstr "" -#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:35 +#: src/gtk/connected-device.ui:82 src/gtk/no-device.ui:35 msgid "" "Automatically disable all physical displays when the XR effect is enabled." msgstr "" -#: src/gtk/connected-device.ui:91 +#: src/gtk/connected-device.ui:92 #, fuzzy msgid "Virtual displays" msgstr "Pantalla curvada" -#: src/gtk/connected-device.ui:103 +#: src/gtk/connected-device.ui:108 +msgid "1080p" +msgstr "" + +#: src/gtk/connected-device.ui:109 +msgid "1440p" +msgstr "" + +#: src/gtk/connected-device.ui:131 #, fuzzy msgid "Rearrange displays" msgstr "Pantalla curvada" -#: src/gtk/connected-device.ui:115 -msgid "1080p" -msgstr "" - -#: src/gtk/connected-device.ui:116 -msgid "1440p" -msgstr "" - -#: src/gtk/connected-device.ui:140 +#: src/gtk/connected-device.ui:149 msgid "Adjustments" msgstr "Ajustes" -#: src/gtk/connected-device.ui:143 +#: src/gtk/connected-device.ui:153 #, fuzzy msgid "Display distances" msgstr "Distancia de la pantalla" -#: src/gtk/connected-device.ui:144 +#: src/gtk/connected-device.ui:154 msgid "Set how close you want displays to appear." msgstr "" -#: src/gtk/connected-device.ui:199 +#: src/gtk/connected-device.ui:209 msgid "Follow threshold" msgstr "Umbral de seguimiento" -#: src/gtk/connected-device.ui:200 +#: src/gtk/connected-device.ui:210 msgid "How far away you can look before the display follows." msgstr "Hasta qué punto puedes mirar antes de que la pantalla siga." -#: src/gtk/connected-device.ui:223 +#: src/gtk/connected-device.ui:233 #, fuzzy msgid "Display angling" msgstr "Tamaño de la pantalla" -#: src/gtk/connected-device.ui:224 +#: src/gtk/connected-device.ui:234 msgid "" "When there are multiple displays, choose how they should angle towards you." msgstr "" -#: src/gtk/connected-device.ui:238 +#: src/gtk/connected-device.ui:248 msgid "Automatic" msgstr "" -#: src/gtk/connected-device.ui:239 +#: src/gtk/connected-device.ui:249 msgid "Side-angled" msgstr "" -#: src/gtk/connected-device.ui:240 +#: src/gtk/connected-device.ui:250 msgid "Top-angled" msgstr "" -#: src/gtk/connected-device.ui:241 +#: src/gtk/connected-device.ui:251 msgid "Flat" msgstr "" -#: src/gtk/connected-device.ui:251 +#: src/gtk/connected-device.ui:261 #, fuzzy msgid "Display spacing" msgstr "Tamaño de la pantalla" -#: src/gtk/connected-device.ui:252 +#: src/gtk/connected-device.ui:262 msgid "Put empty space between displays, when there are multiple." msgstr "" -#: src/gtk/connected-device.ui:282 +#: src/gtk/connected-device.ui:292 msgid "Viewport horizontal offset" msgstr "" -#: src/gtk/connected-device.ui:283 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:312 +#: src/gtk/connected-device.ui:322 msgid "Viewport vertical offset" msgstr "" -#: src/gtk/connected-device.ui:313 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:349 src/gtk/connected-device.ui:355 +#: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 msgid "Keyboard Shortcuts" msgstr "Atajos de teclado" -#: src/gtk/connected-device.ui:358 +#: src/gtk/connected-device.ui:368 msgid "XR Effect on/off shortcut" msgstr "Atajo encendido/apagado Efecto XR" -#: src/gtk/connected-device.ui:359 +#: src/gtk/connected-device.ui:369 msgid "" "Quickly enable or disable the XR Effect. You may need to enable the effect " "manually once in order to enable the shortcut." @@ -350,46 +350,46 @@ msgstr "" "Activa o desactiva rápidamente el Efecto XR. Es posible que necesites " "activar el efecto manualmente una vez para habilitar el atajo." -#: src/gtk/connected-device.ui:378 src/gtk/connected-device.ui:407 -#: src/gtk/connected-device.ui:436 src/gtk/connected-device.ui:465 +#: src/gtk/connected-device.ui:388 src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:446 src/gtk/connected-device.ui:475 msgid "Change" msgstr "Cambiar" -#: src/gtk/connected-device.ui:387 +#: src/gtk/connected-device.ui:397 msgid "Re-center display shortcut" msgstr "Atajo para recentrar la pantalla" -#: src/gtk/connected-device.ui:388 +#: src/gtk/connected-device.ui:398 msgid "Pin the virtual display to the current position." msgstr "Fije la pantalla virtual en la posición actual." -#: src/gtk/connected-device.ui:416 +#: src/gtk/connected-device.ui:426 #, fuzzy msgid "Toggle zoom on focus shortcut" msgstr "Atajo para alternar el modo de seguimiento" -#: src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:427 #, fuzzy msgid "Quickly toggle zoom on focus mode." msgstr "Activar el modo de seguimiento." -#: src/gtk/connected-device.ui:445 +#: src/gtk/connected-device.ui:455 msgid "Toggle follow mode shortcut" msgstr "Atajo para alternar el modo de seguimiento" -#: src/gtk/connected-device.ui:446 +#: src/gtk/connected-device.ui:456 msgid "Quickly toggle follow mode." msgstr "Activar el modo de seguimiento." -#: src/gtk/connected-device.ui:481 src/gtk/connected-device.ui:487 +#: src/gtk/connected-device.ui:491 src/gtk/connected-device.ui:497 msgid "Advanced Settings" msgstr "Configuración Avanzada" -#: src/gtk/connected-device.ui:490 +#: src/gtk/connected-device.ui:500 msgid "Find optimal display config" msgstr "Encuentre la configuración de pantalla óptima" -#: src/gtk/connected-device.ui:491 +#: src/gtk/connected-device.ui:501 msgid "" "Automatically modify the glasses display configuration for maximum " "resolution and best scaling when plugged in." @@ -398,30 +398,30 @@ msgstr "" "obtener la máxima resolución y la mejor escalabilidad cuando estén " "enchufadas." -#: src/gtk/connected-device.ui:501 +#: src/gtk/connected-device.ui:511 msgid "Use highest refresh rate" msgstr "Utilizar la frecuencia de actualización más alta" -#: src/gtk/connected-device.ui:502 +#: src/gtk/connected-device.ui:512 msgid "Refresh rate may affect performance, disable this to set it manually." msgstr "" "La frecuencia de actualización puede afectar el rendimiento, deshabilite " "esto para configurarlo manualmente." -#: src/gtk/connected-device.ui:512 +#: src/gtk/connected-device.ui:522 msgid "Always primary display" msgstr "Siempre como pantalla principal" -#: src/gtk/connected-device.ui:513 +#: src/gtk/connected-device.ui:523 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:523 +#: src/gtk/connected-device.ui:533 msgid "Movement look-ahead" msgstr "Anticipación de movimiento" -#: src/gtk/connected-device.ui:524 +#: src/gtk/connected-device.ui:534 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " @@ -432,25 +432,25 @@ 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:542 +#: src/gtk/connected-device.ui:552 msgid "Default" msgstr "Predeterminado" -#: src/gtk/connected-device.ui:554 +#: src/gtk/connected-device.ui:564 msgid "Text Scaling" msgstr "Escalado de Texto" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:565 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 " "resolución" -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:595 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:586 +#: src/gtk/connected-device.ui:596 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" diff --git a/ui/po/fr.po b/ui/po/fr.po index 102df1c..65d00cc 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-05 12:28-0800\n" +"POT-Creation-Date: 2025-03-06 15:32-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:124 +#: src/connecteddevice.py:125 #, fuzzy msgid "Set Focused Display Distance" msgstr "Distance d'affichage" -#: src/connecteddevice.py:125 +#: src/connecteddevice.py:126 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:132 +#: src/connecteddevice.py:133 #, fuzzy msgid "Set All Displays Distance" msgstr "Distance d'affichage" -#: src/connecteddevice.py:133 +#: src/connecteddevice.py:134 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:231 +#: src/connecteddevice.py:232 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:265 +#: src/connecteddevice.py:266 #, fuzzy msgid "Focused display" msgstr "Distance d'affichage" -#: src/connecteddevice.py:271 +#: src/connecteddevice.py:272 #, fuzzy msgid "All displays" msgstr "Affichage incurvé" @@ -205,19 +205,19 @@ msgstr "Paramètres généraux" msgid "Features" msgstr "Fonctionnalités" -#: src/gtk/connected-device.ui:44 +#: src/gtk/connected-device.ui:45 msgid "XR effect" msgstr "Effet XR" -#: src/gtk/connected-device.ui:45 +#: src/gtk/connected-device.ui:46 msgid "Enables the Breezy Desktop XR effect." msgstr "Active l'effet Breezy Desktop XR." -#: src/gtk/connected-device.ui:55 +#: src/gtk/connected-device.ui:56 msgid "Zoom on focus" msgstr "" -#: src/gtk/connected-device.ui:56 +#: src/gtk/connected-device.ui:57 msgid "" "Automatically move a display closer when you look at it.\n" "Set your preferred focused and unfocused distances in the Adjustments " @@ -225,127 +225,127 @@ msgid "" " " msgstr "" -#: src/gtk/connected-device.ui:69 +#: src/gtk/connected-device.ui:70 msgid "Follow mode" msgstr "Mode de suivi" -#: src/gtk/connected-device.ui:70 +#: src/gtk/connected-device.ui:71 #, fuzzy msgid "Keep the focused display near the center of your view." msgstr "Gardez l'affichage virtuel près du centre de votre champ de vision." -#: src/gtk/connected-device.ui:80 src/gtk/no-device.ui:34 +#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:34 msgid "Disable physical displays" msgstr "" -#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:35 +#: src/gtk/connected-device.ui:82 src/gtk/no-device.ui:35 msgid "" "Automatically disable all physical displays when the XR effect is enabled." msgstr "" -#: src/gtk/connected-device.ui:91 +#: src/gtk/connected-device.ui:92 #, fuzzy msgid "Virtual displays" msgstr "Affichage incurvé" -#: src/gtk/connected-device.ui:103 +#: src/gtk/connected-device.ui:108 +msgid "1080p" +msgstr "" + +#: src/gtk/connected-device.ui:109 +msgid "1440p" +msgstr "" + +#: src/gtk/connected-device.ui:131 #, fuzzy msgid "Rearrange displays" msgstr "Affichage incurvé" -#: src/gtk/connected-device.ui:115 -msgid "1080p" -msgstr "" - -#: src/gtk/connected-device.ui:116 -msgid "1440p" -msgstr "" - -#: src/gtk/connected-device.ui:140 +#: src/gtk/connected-device.ui:149 msgid "Adjustments" msgstr "Réglages" -#: src/gtk/connected-device.ui:143 +#: src/gtk/connected-device.ui:153 #, fuzzy msgid "Display distances" msgstr "Distance d'affichage" -#: src/gtk/connected-device.ui:144 +#: src/gtk/connected-device.ui:154 msgid "Set how close you want displays to appear." msgstr "" -#: src/gtk/connected-device.ui:199 +#: src/gtk/connected-device.ui:209 msgid "Follow threshold" msgstr "Seuil de suivi" -#: src/gtk/connected-device.ui:200 +#: src/gtk/connected-device.ui:210 msgid "How far away you can look before the display follows." msgstr "Distance jusqu'où vous pouvez regarder avant que l'affichage ne suive." -#: src/gtk/connected-device.ui:223 +#: src/gtk/connected-device.ui:233 #, fuzzy msgid "Display angling" msgstr "Taille de l'affichage" -#: src/gtk/connected-device.ui:224 +#: src/gtk/connected-device.ui:234 msgid "" "When there are multiple displays, choose how they should angle towards you." msgstr "" -#: src/gtk/connected-device.ui:238 +#: src/gtk/connected-device.ui:248 msgid "Automatic" msgstr "" -#: src/gtk/connected-device.ui:239 +#: src/gtk/connected-device.ui:249 msgid "Side-angled" msgstr "" -#: src/gtk/connected-device.ui:240 +#: src/gtk/connected-device.ui:250 msgid "Top-angled" msgstr "" -#: src/gtk/connected-device.ui:241 +#: src/gtk/connected-device.ui:251 msgid "Flat" msgstr "" -#: src/gtk/connected-device.ui:251 +#: src/gtk/connected-device.ui:261 #, fuzzy msgid "Display spacing" msgstr "Taille de l'affichage" -#: src/gtk/connected-device.ui:252 +#: src/gtk/connected-device.ui:262 msgid "Put empty space between displays, when there are multiple." msgstr "" -#: src/gtk/connected-device.ui:282 +#: src/gtk/connected-device.ui:292 msgid "Viewport horizontal offset" msgstr "" -#: src/gtk/connected-device.ui:283 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:312 +#: src/gtk/connected-device.ui:322 msgid "Viewport vertical offset" msgstr "" -#: src/gtk/connected-device.ui:313 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:349 src/gtk/connected-device.ui:355 +#: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 msgid "Keyboard Shortcuts" msgstr "Raccourcis clavier" -#: src/gtk/connected-device.ui:358 +#: src/gtk/connected-device.ui:368 msgid "XR Effect on/off shortcut" msgstr "Raccourci on/off de l'effet XR" -#: src/gtk/connected-device.ui:359 +#: src/gtk/connected-device.ui:369 msgid "" "Quickly enable or disable the XR Effect. You may need to enable the effect " "manually once in order to enable the shortcut." @@ -353,46 +353,46 @@ msgstr "" "Activez ou désactivez rapidement l'effet XR. Il se peut que vous deviez " "activer l'effet manuellement une fois pour activer le raccourci." -#: src/gtk/connected-device.ui:378 src/gtk/connected-device.ui:407 -#: src/gtk/connected-device.ui:436 src/gtk/connected-device.ui:465 +#: src/gtk/connected-device.ui:388 src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:446 src/gtk/connected-device.ui:475 msgid "Change" msgstr "Changer" -#: src/gtk/connected-device.ui:387 +#: src/gtk/connected-device.ui:397 msgid "Re-center display shortcut" msgstr "Raccourci de recentrage de l'affichage" -#: src/gtk/connected-device.ui:388 +#: src/gtk/connected-device.ui:398 msgid "Pin the virtual display to the current position." msgstr "Fixez l'affichage virtuel à la position actuelle." -#: src/gtk/connected-device.ui:416 +#: src/gtk/connected-device.ui:426 #, fuzzy msgid "Toggle zoom on focus shortcut" msgstr "Raccourci de basculement du mode de suivi" -#: src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:427 #, fuzzy msgid "Quickly toggle zoom on focus mode." msgstr "Basculer rapidement le mode de suivi." -#: src/gtk/connected-device.ui:445 +#: src/gtk/connected-device.ui:455 msgid "Toggle follow mode shortcut" msgstr "Raccourci de basculement du mode de suivi" -#: src/gtk/connected-device.ui:446 +#: src/gtk/connected-device.ui:456 msgid "Quickly toggle follow mode." msgstr "Basculer rapidement le mode de suivi." -#: src/gtk/connected-device.ui:481 src/gtk/connected-device.ui:487 +#: src/gtk/connected-device.ui:491 src/gtk/connected-device.ui:497 msgid "Advanced Settings" msgstr "Paramètres avancés" -#: src/gtk/connected-device.ui:490 +#: src/gtk/connected-device.ui:500 msgid "Find optimal display config" msgstr "Trouver la configuration d'affichage optimale" -#: src/gtk/connected-device.ui:491 +#: src/gtk/connected-device.ui:501 msgid "" "Automatically modify the glasses display configuration for maximum " "resolution and best scaling when plugged in." @@ -401,31 +401,31 @@ msgstr "" "résolution maximale et une meilleure mise à l'échelle lorsque elles sont " "branchées." -#: src/gtk/connected-device.ui:501 +#: src/gtk/connected-device.ui:511 msgid "Use highest refresh rate" msgstr "Utiliser le taux de rafraîchissement le plus élevé" -#: src/gtk/connected-device.ui:502 +#: src/gtk/connected-device.ui:512 msgid "Refresh rate may affect performance, disable this to set it manually." msgstr "" "Un taux de rafraîchissement élevé peut affecter les performances, désactivez-" "le pour le définir manuellement." -#: src/gtk/connected-device.ui:512 +#: src/gtk/connected-device.ui:522 msgid "Always primary display" msgstr "Affichage principal en permanence" -#: src/gtk/connected-device.ui:513 +#: src/gtk/connected-device.ui:523 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:523 +#: src/gtk/connected-device.ui:533 msgid "Movement look-ahead" msgstr "Prédiction de mouvement" -#: src/gtk/connected-device.ui:524 +#: src/gtk/connected-device.ui:534 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " @@ -435,25 +435,25 @@ 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:542 +#: src/gtk/connected-device.ui:552 msgid "Default" msgstr "Par défaut" -#: src/gtk/connected-device.ui:554 +#: src/gtk/connected-device.ui:564 msgid "Text Scaling" msgstr "Mise à l'échelle du texte" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:565 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 " "plus haute résolution" -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:595 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:586 +#: src/gtk/connected-device.ui:596 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" diff --git a/ui/po/it.po b/ui/po/it.po index 39c70d1..0a9d4a1 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-05 12:28-0800\n" +"POT-Creation-Date: 2025-03-06 15:32-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:124 +#: src/connecteddevice.py:125 #, fuzzy msgid "Set Focused Display Distance" msgstr "Distanza del display" -#: src/connecteddevice.py:125 +#: src/connecteddevice.py:126 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:132 +#: src/connecteddevice.py:133 #, fuzzy msgid "Set All Displays Distance" msgstr "Distanza del display" -#: src/connecteddevice.py:133 +#: src/connecteddevice.py:134 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:231 +#: src/connecteddevice.py:232 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:265 +#: src/connecteddevice.py:266 #, fuzzy msgid "Focused display" msgstr "Distanza del display" -#: src/connecteddevice.py:271 +#: src/connecteddevice.py:272 #, fuzzy msgid "All displays" msgstr "Display curvo" @@ -203,19 +203,19 @@ msgstr "Impostazioni generali" msgid "Features" msgstr "Funzionalità" -#: src/gtk/connected-device.ui:44 +#: src/gtk/connected-device.ui:45 msgid "XR effect" msgstr "Effetto XR" -#: src/gtk/connected-device.ui:45 +#: src/gtk/connected-device.ui:46 msgid "Enables the Breezy Desktop XR effect." msgstr "Abilita l'effetto XR di Breezy Desktop." -#: src/gtk/connected-device.ui:55 +#: src/gtk/connected-device.ui:56 msgid "Zoom on focus" msgstr "" -#: src/gtk/connected-device.ui:56 +#: src/gtk/connected-device.ui:57 msgid "" "Automatically move a display closer when you look at it.\n" "Set your preferred focused and unfocused distances in the Adjustments " @@ -223,127 +223,127 @@ msgid "" " " msgstr "" -#: src/gtk/connected-device.ui:69 +#: src/gtk/connected-device.ui:70 msgid "Follow mode" msgstr "Modalità di inseguimento" -#: src/gtk/connected-device.ui:70 +#: src/gtk/connected-device.ui:71 #, fuzzy msgid "Keep the focused display near the center of your view." msgstr "Mantieni il display virtuale vicino al centro del tuo campo visivo." -#: src/gtk/connected-device.ui:80 src/gtk/no-device.ui:34 +#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:34 msgid "Disable physical displays" msgstr "" -#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:35 +#: src/gtk/connected-device.ui:82 src/gtk/no-device.ui:35 msgid "" "Automatically disable all physical displays when the XR effect is enabled." msgstr "" -#: src/gtk/connected-device.ui:91 +#: src/gtk/connected-device.ui:92 #, fuzzy msgid "Virtual displays" msgstr "Display curvo" -#: src/gtk/connected-device.ui:103 +#: src/gtk/connected-device.ui:108 +msgid "1080p" +msgstr "" + +#: src/gtk/connected-device.ui:109 +msgid "1440p" +msgstr "" + +#: src/gtk/connected-device.ui:131 #, fuzzy msgid "Rearrange displays" msgstr "Display curvo" -#: src/gtk/connected-device.ui:115 -msgid "1080p" -msgstr "" - -#: src/gtk/connected-device.ui:116 -msgid "1440p" -msgstr "" - -#: src/gtk/connected-device.ui:140 +#: src/gtk/connected-device.ui:149 msgid "Adjustments" msgstr "Regolazioni" -#: src/gtk/connected-device.ui:143 +#: src/gtk/connected-device.ui:153 #, fuzzy msgid "Display distances" msgstr "Distanza del display" -#: src/gtk/connected-device.ui:144 +#: src/gtk/connected-device.ui:154 msgid "Set how close you want displays to appear." msgstr "" -#: src/gtk/connected-device.ui:199 +#: src/gtk/connected-device.ui:209 msgid "Follow threshold" msgstr "Soglia di inseguimento" -#: src/gtk/connected-device.ui:200 +#: src/gtk/connected-device.ui:210 msgid "How far away you can look before the display follows." msgstr "Quanto lontano puoi guardare prima che il display ti segua." -#: src/gtk/connected-device.ui:223 +#: src/gtk/connected-device.ui:233 #, fuzzy msgid "Display angling" msgstr "Dimensione del display" -#: src/gtk/connected-device.ui:224 +#: src/gtk/connected-device.ui:234 msgid "" "When there are multiple displays, choose how they should angle towards you." msgstr "" -#: src/gtk/connected-device.ui:238 +#: src/gtk/connected-device.ui:248 msgid "Automatic" msgstr "" -#: src/gtk/connected-device.ui:239 +#: src/gtk/connected-device.ui:249 msgid "Side-angled" msgstr "" -#: src/gtk/connected-device.ui:240 +#: src/gtk/connected-device.ui:250 msgid "Top-angled" msgstr "" -#: src/gtk/connected-device.ui:241 +#: src/gtk/connected-device.ui:251 msgid "Flat" msgstr "" -#: src/gtk/connected-device.ui:251 +#: src/gtk/connected-device.ui:261 #, fuzzy msgid "Display spacing" msgstr "Dimensione del display" -#: src/gtk/connected-device.ui:252 +#: src/gtk/connected-device.ui:262 msgid "Put empty space between displays, when there are multiple." msgstr "" -#: src/gtk/connected-device.ui:282 +#: src/gtk/connected-device.ui:292 msgid "Viewport horizontal offset" msgstr "" -#: src/gtk/connected-device.ui:283 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:312 +#: src/gtk/connected-device.ui:322 msgid "Viewport vertical offset" msgstr "" -#: src/gtk/connected-device.ui:313 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:349 src/gtk/connected-device.ui:355 +#: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 msgid "Keyboard Shortcuts" msgstr "Scorciatoie da tastiera" -#: src/gtk/connected-device.ui:358 +#: src/gtk/connected-device.ui:368 msgid "XR Effect on/off shortcut" msgstr "Scorciatoia per on/off dell'effetto XR" -#: src/gtk/connected-device.ui:359 +#: src/gtk/connected-device.ui:369 msgid "" "Quickly enable or disable the XR Effect. You may need to enable the effect " "manually once in order to enable the shortcut." @@ -352,46 +352,46 @@ msgstr "" "abilitare l'effetto manualmente almeno una volta per abilitare la " "scorciatoia da tastiera." -#: src/gtk/connected-device.ui:378 src/gtk/connected-device.ui:407 -#: src/gtk/connected-device.ui:436 src/gtk/connected-device.ui:465 +#: src/gtk/connected-device.ui:388 src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:446 src/gtk/connected-device.ui:475 msgid "Change" msgstr "Cambia" -#: src/gtk/connected-device.ui:387 +#: src/gtk/connected-device.ui:397 msgid "Re-center display shortcut" msgstr "Scorciatoia per ricentrare il display" -#: src/gtk/connected-device.ui:388 +#: src/gtk/connected-device.ui:398 msgid "Pin the virtual display to the current position." msgstr "Fissa il display virtuale alla posizione attuale." -#: src/gtk/connected-device.ui:416 +#: src/gtk/connected-device.ui:426 #, fuzzy msgid "Toggle zoom on focus shortcut" msgstr "Scorciatoia per attivare/disattivare la modalità di inseguimento" -#: src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:427 #, fuzzy msgid "Quickly toggle zoom on focus mode." msgstr "Attivazione/disattivazione rapida della modalità di inseguimento." -#: src/gtk/connected-device.ui:445 +#: src/gtk/connected-device.ui:455 msgid "Toggle follow mode shortcut" msgstr "Scorciatoia per attivare/disattivare la modalità di inseguimento" -#: src/gtk/connected-device.ui:446 +#: src/gtk/connected-device.ui:456 msgid "Quickly toggle follow mode." msgstr "Attivazione/disattivazione rapida della modalità di inseguimento." -#: src/gtk/connected-device.ui:481 src/gtk/connected-device.ui:487 +#: src/gtk/connected-device.ui:491 src/gtk/connected-device.ui:497 msgid "Advanced Settings" msgstr "Impostazioni avanzate" -#: src/gtk/connected-device.ui:490 +#: src/gtk/connected-device.ui:500 msgid "Find optimal display config" msgstr "Trova la configurazione ottimale del display" -#: src/gtk/connected-device.ui:491 +#: src/gtk/connected-device.ui:501 msgid "" "Automatically modify the glasses display configuration for maximum " "resolution and best scaling when plugged in." @@ -399,31 +399,31 @@ msgstr "" "Modifica automaticamente la configurazione del display degli occhiali per " "ottenere la massima risoluzione e la migliore scalabilità quando collegati." -#: src/gtk/connected-device.ui:501 +#: src/gtk/connected-device.ui:511 msgid "Use highest refresh rate" msgstr "Usa la frequenza di aggiornamento più elevata" -#: src/gtk/connected-device.ui:502 +#: src/gtk/connected-device.ui:512 msgid "Refresh rate may affect performance, disable this to set it manually." msgstr "" "La frequenza di aggiornamento potrebbe influire sulle prestazioni, " "disabilitala per impostarla manualmente." -#: src/gtk/connected-device.ui:512 +#: src/gtk/connected-device.ui:522 msgid "Always primary display" msgstr "Imposta sempre come display primario" -#: src/gtk/connected-device.ui:513 +#: src/gtk/connected-device.ui:523 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:523 +#: src/gtk/connected-device.ui:533 msgid "Movement look-ahead" msgstr "Anticipo del movimento" -#: src/gtk/connected-device.ui:524 +#: src/gtk/connected-device.ui:534 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " @@ -434,25 +434,25 @@ 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:542 +#: src/gtk/connected-device.ui:552 msgid "Default" msgstr "Predefinito" -#: src/gtk/connected-device.ui:554 +#: src/gtk/connected-device.ui:564 msgid "Text Scaling" msgstr "Ridimensionamento del testo" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:565 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 " "display" -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:595 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:586 +#: src/gtk/connected-device.ui:596 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" diff --git a/ui/po/ja.po b/ui/po/ja.po index 05b152d..227342c 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-05 12:28-0800\n" +"POT-Creation-Date: 2025-03-06 15:32-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:124 +#: src/connecteddevice.py:125 #, fuzzy msgid "Set Focused Display Distance" msgstr "ディスプレイ距離" -#: src/connecteddevice.py:125 +#: src/connecteddevice.py:126 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:132 +#: src/connecteddevice.py:133 #, fuzzy msgid "Set All Displays Distance" msgstr "ディスプレイ距離" -#: src/connecteddevice.py:133 +#: src/connecteddevice.py:134 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:231 +#: src/connecteddevice.py:232 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:265 +#: src/connecteddevice.py:266 #, fuzzy msgid "Focused display" msgstr "ディスプレイ距離" -#: src/connecteddevice.py:271 +#: src/connecteddevice.py:272 #, fuzzy msgid "All displays" msgstr "曲面ディスプレイ" @@ -205,19 +205,19 @@ msgstr "一般設定" msgid "Features" msgstr "機能" -#: src/gtk/connected-device.ui:44 +#: src/gtk/connected-device.ui:45 msgid "XR effect" msgstr "XRエフェクト" -#: src/gtk/connected-device.ui:45 +#: src/gtk/connected-device.ui:46 msgid "Enables the Breezy Desktop XR effect." msgstr "Breezy DesktopのXRエフェクトを有効にします。" -#: src/gtk/connected-device.ui:55 +#: src/gtk/connected-device.ui:56 msgid "Zoom on focus" msgstr "" -#: src/gtk/connected-device.ui:56 +#: src/gtk/connected-device.ui:57 msgid "" "Automatically move a display closer when you look at it.\n" "Set your preferred focused and unfocused distances in the Adjustments " @@ -225,127 +225,127 @@ msgid "" " " msgstr "" -#: src/gtk/connected-device.ui:69 +#: src/gtk/connected-device.ui:70 msgid "Follow mode" msgstr "フォローモード" -#: src/gtk/connected-device.ui:70 +#: src/gtk/connected-device.ui:71 #, fuzzy msgid "Keep the focused display near the center of your view." msgstr "仮想ディスプレイを視界の中心近くに保ちます。" -#: src/gtk/connected-device.ui:80 src/gtk/no-device.ui:34 +#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:34 msgid "Disable physical displays" msgstr "" -#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:35 +#: src/gtk/connected-device.ui:82 src/gtk/no-device.ui:35 msgid "" "Automatically disable all physical displays when the XR effect is enabled." msgstr "" -#: src/gtk/connected-device.ui:91 +#: src/gtk/connected-device.ui:92 #, fuzzy msgid "Virtual displays" msgstr "曲面ディスプレイ" -#: src/gtk/connected-device.ui:103 +#: src/gtk/connected-device.ui:108 +msgid "1080p" +msgstr "" + +#: src/gtk/connected-device.ui:109 +msgid "1440p" +msgstr "" + +#: src/gtk/connected-device.ui:131 #, fuzzy msgid "Rearrange displays" msgstr "曲面ディスプレイ" -#: src/gtk/connected-device.ui:115 -msgid "1080p" -msgstr "" - -#: src/gtk/connected-device.ui:116 -msgid "1440p" -msgstr "" - -#: src/gtk/connected-device.ui:140 +#: src/gtk/connected-device.ui:149 msgid "Adjustments" msgstr "調整" -#: src/gtk/connected-device.ui:143 +#: src/gtk/connected-device.ui:153 #, fuzzy msgid "Display distances" msgstr "ディスプレイ距離" -#: src/gtk/connected-device.ui:144 +#: src/gtk/connected-device.ui:154 msgid "Set how close you want displays to appear." msgstr "" -#: src/gtk/connected-device.ui:199 +#: src/gtk/connected-device.ui:209 msgid "Follow threshold" msgstr "フォローしきい値" -#: src/gtk/connected-device.ui:200 +#: src/gtk/connected-device.ui:210 msgid "How far away you can look before the display follows." msgstr "ディスプレイがフォロー(追従)を開始するまでの距離" -#: src/gtk/connected-device.ui:223 +#: src/gtk/connected-device.ui:233 #, fuzzy msgid "Display angling" msgstr "ディスプレイサイズ" -#: src/gtk/connected-device.ui:224 +#: src/gtk/connected-device.ui:234 msgid "" "When there are multiple displays, choose how they should angle towards you." msgstr "" -#: src/gtk/connected-device.ui:238 +#: src/gtk/connected-device.ui:248 msgid "Automatic" msgstr "" -#: src/gtk/connected-device.ui:239 +#: src/gtk/connected-device.ui:249 msgid "Side-angled" msgstr "" -#: src/gtk/connected-device.ui:240 +#: src/gtk/connected-device.ui:250 msgid "Top-angled" msgstr "" -#: src/gtk/connected-device.ui:241 +#: src/gtk/connected-device.ui:251 msgid "Flat" msgstr "" -#: src/gtk/connected-device.ui:251 +#: src/gtk/connected-device.ui:261 #, fuzzy msgid "Display spacing" msgstr "ディスプレイサイズ" -#: src/gtk/connected-device.ui:252 +#: src/gtk/connected-device.ui:262 msgid "Put empty space between displays, when there are multiple." msgstr "" -#: src/gtk/connected-device.ui:282 +#: src/gtk/connected-device.ui:292 msgid "Viewport horizontal offset" msgstr "" -#: src/gtk/connected-device.ui:283 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:312 +#: src/gtk/connected-device.ui:322 msgid "Viewport vertical offset" msgstr "" -#: src/gtk/connected-device.ui:313 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:349 src/gtk/connected-device.ui:355 +#: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 msgid "Keyboard Shortcuts" msgstr "キーボードショートカット" -#: src/gtk/connected-device.ui:358 +#: src/gtk/connected-device.ui:368 msgid "XR Effect on/off shortcut" msgstr "XRエフェクトの切り替え" -#: src/gtk/connected-device.ui:359 +#: src/gtk/connected-device.ui:369 msgid "" "Quickly enable or disable the XR Effect. You may need to enable the effect " "manually once in order to enable the shortcut." @@ -353,46 +353,46 @@ msgstr "" "XRエフェクトの有効・無効を切り替えます。このショートカットを有効にするために" "手動で1回XRエフェクトを有効にする必要があります。" -#: src/gtk/connected-device.ui:378 src/gtk/connected-device.ui:407 -#: src/gtk/connected-device.ui:436 src/gtk/connected-device.ui:465 +#: src/gtk/connected-device.ui:388 src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:446 src/gtk/connected-device.ui:475 msgid "Change" msgstr "変更" -#: src/gtk/connected-device.ui:387 +#: src/gtk/connected-device.ui:397 msgid "Re-center display shortcut" msgstr "ディスプレイを中央へ移動" -#: src/gtk/connected-device.ui:388 +#: src/gtk/connected-device.ui:398 msgid "Pin the virtual display to the current position." msgstr "仮想ディスプレイを現在の視点に固定します。" -#: src/gtk/connected-device.ui:416 +#: src/gtk/connected-device.ui:426 #, fuzzy msgid "Toggle zoom on focus shortcut" msgstr "フォローモードの切り替え" -#: src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:427 #, fuzzy msgid "Quickly toggle zoom on focus mode." msgstr "フォローモードのオン/オフをすばやく切り替えます。" -#: src/gtk/connected-device.ui:445 +#: src/gtk/connected-device.ui:455 msgid "Toggle follow mode shortcut" msgstr "フォローモードの切り替え" -#: src/gtk/connected-device.ui:446 +#: src/gtk/connected-device.ui:456 msgid "Quickly toggle follow mode." msgstr "フォローモードのオン/オフをすばやく切り替えます。" -#: src/gtk/connected-device.ui:481 src/gtk/connected-device.ui:487 +#: src/gtk/connected-device.ui:491 src/gtk/connected-device.ui:497 msgid "Advanced Settings" msgstr "詳細設定" -#: src/gtk/connected-device.ui:490 +#: src/gtk/connected-device.ui:500 msgid "Find optimal display config" msgstr "ディスプレイ設定を最適化する" -#: src/gtk/connected-device.ui:491 +#: src/gtk/connected-device.ui:501 msgid "" "Automatically modify the glasses display configuration for maximum " "resolution and best scaling when plugged in." @@ -400,29 +400,29 @@ msgstr "" "メガネ接続時、最大解像度と最適なスケーリングのためにディスプレイ設定を自動的" "に変更します。" -#: src/gtk/connected-device.ui:501 +#: src/gtk/connected-device.ui:511 msgid "Use highest refresh rate" msgstr "最大のリフレッシュレートを使用する" -#: src/gtk/connected-device.ui:502 +#: src/gtk/connected-device.ui:512 msgid "Refresh rate may affect performance, disable this to set it manually." msgstr "" "リフレッシュレートはパフォーマンスに影響を与える可能性があります。手動で設定" "する場合は無効にしてください。" -#: src/gtk/connected-device.ui:512 +#: src/gtk/connected-device.ui:522 msgid "Always primary display" msgstr "常にプライマリディスプレイにする" -#: src/gtk/connected-device.ui:513 +#: src/gtk/connected-device.ui:523 msgid "Automatically set the glasses as the primary display when plugged in." msgstr "メガネ接続時、自動的にプライマリディスプレイにします。" -#: src/gtk/connected-device.ui:523 +#: src/gtk/connected-device.ui:533 msgid "Movement look-ahead" msgstr "動きの先読み" -#: src/gtk/connected-device.ui:524 +#: src/gtk/connected-device.ui:534 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " @@ -432,25 +432,25 @@ msgstr "" "ます。仮想ディスプレイが頭の動きに遅れたり、先に進んだり、非常に揺れたりする" "場合を除き、デフォルトのままで問題ありません。" -#: src/gtk/connected-device.ui:542 +#: src/gtk/connected-device.ui:552 msgid "Default" msgstr "デフォルト" -#: src/gtk/connected-device.ui:554 +#: src/gtk/connected-device.ui:564 msgid "Text Scaling" msgstr "テキストスケーリング" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:565 msgid "Scaling text below 1.0 will simulate a higher resolution display" msgstr "" "テキストを1.0未満にスケーリングすると、高解像度ディスプレイをシミュレートしま" "す。" -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:595 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:586 +#: src/gtk/connected-device.ui:596 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" diff --git a/ui/po/pl.po b/ui/po/pl.po index 2bb7084..9bcfefd 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-05 12:28-0800\n" +"POT-Creation-Date: 2025-03-06 15:32-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:124 +#: src/connecteddevice.py:125 msgid "Set Focused Display Distance" msgstr "" -#: src/connecteddevice.py:125 +#: src/connecteddevice.py:126 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:132 +#: src/connecteddevice.py:133 msgid "Set All Displays Distance" msgstr "" -#: src/connecteddevice.py:133 +#: src/connecteddevice.py:134 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:231 +#: src/connecteddevice.py:232 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:265 +#: src/connecteddevice.py:266 msgid "Focused display" msgstr "" -#: src/connecteddevice.py:271 +#: src/connecteddevice.py:272 msgid "All displays" msgstr "" @@ -198,19 +198,19 @@ msgstr "" msgid "Features" msgstr "" -#: src/gtk/connected-device.ui:44 +#: src/gtk/connected-device.ui:45 msgid "XR effect" msgstr "" -#: src/gtk/connected-device.ui:45 +#: src/gtk/connected-device.ui:46 msgid "Enables the Breezy Desktop XR effect." msgstr "" -#: src/gtk/connected-device.ui:55 +#: src/gtk/connected-device.ui:56 msgid "Zoom on focus" msgstr "" -#: src/gtk/connected-device.ui:56 +#: src/gtk/connected-device.ui:57 msgid "" "Automatically move a display closer when you look at it.\n" "Set your preferred focused and unfocused distances in the Adjustments " @@ -218,213 +218,213 @@ msgid "" " " msgstr "" -#: src/gtk/connected-device.ui:69 +#: src/gtk/connected-device.ui:70 msgid "Follow mode" msgstr "" -#: src/gtk/connected-device.ui:70 +#: src/gtk/connected-device.ui:71 msgid "Keep the focused display near the center of your view." msgstr "" -#: src/gtk/connected-device.ui:80 src/gtk/no-device.ui:34 +#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:34 msgid "Disable physical displays" msgstr "" -#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:35 +#: src/gtk/connected-device.ui:82 src/gtk/no-device.ui:35 msgid "" "Automatically disable all physical displays when the XR effect is enabled." msgstr "" -#: src/gtk/connected-device.ui:91 +#: src/gtk/connected-device.ui:92 msgid "Virtual displays" msgstr "" -#: src/gtk/connected-device.ui:103 -msgid "Rearrange displays" -msgstr "" - -#: src/gtk/connected-device.ui:115 +#: src/gtk/connected-device.ui:108 msgid "1080p" msgstr "" -#: src/gtk/connected-device.ui:116 +#: src/gtk/connected-device.ui:109 msgid "1440p" msgstr "" -#: src/gtk/connected-device.ui:140 +#: src/gtk/connected-device.ui:131 +msgid "Rearrange displays" +msgstr "" + +#: src/gtk/connected-device.ui:149 msgid "Adjustments" msgstr "" -#: src/gtk/connected-device.ui:143 +#: src/gtk/connected-device.ui:153 msgid "Display distances" msgstr "" -#: src/gtk/connected-device.ui:144 +#: src/gtk/connected-device.ui:154 msgid "Set how close you want displays to appear." msgstr "" -#: src/gtk/connected-device.ui:199 +#: src/gtk/connected-device.ui:209 msgid "Follow threshold" msgstr "" -#: src/gtk/connected-device.ui:200 +#: src/gtk/connected-device.ui:210 msgid "How far away you can look before the display follows." msgstr "" -#: src/gtk/connected-device.ui:223 +#: src/gtk/connected-device.ui:233 msgid "Display angling" msgstr "" -#: src/gtk/connected-device.ui:224 +#: src/gtk/connected-device.ui:234 msgid "" "When there are multiple displays, choose how they should angle towards you." msgstr "" -#: src/gtk/connected-device.ui:238 +#: src/gtk/connected-device.ui:248 msgid "Automatic" msgstr "" -#: src/gtk/connected-device.ui:239 +#: src/gtk/connected-device.ui:249 msgid "Side-angled" msgstr "" -#: src/gtk/connected-device.ui:240 +#: src/gtk/connected-device.ui:250 msgid "Top-angled" msgstr "" -#: src/gtk/connected-device.ui:241 +#: src/gtk/connected-device.ui:251 msgid "Flat" msgstr "" -#: src/gtk/connected-device.ui:251 +#: src/gtk/connected-device.ui:261 msgid "Display spacing" msgstr "" -#: src/gtk/connected-device.ui:252 +#: src/gtk/connected-device.ui:262 msgid "Put empty space between displays, when there are multiple." msgstr "" -#: src/gtk/connected-device.ui:282 +#: src/gtk/connected-device.ui:292 msgid "Viewport horizontal offset" msgstr "" -#: src/gtk/connected-device.ui:283 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:312 +#: src/gtk/connected-device.ui:322 msgid "Viewport vertical offset" msgstr "" -#: src/gtk/connected-device.ui:313 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:349 src/gtk/connected-device.ui:355 +#: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 msgid "Keyboard Shortcuts" msgstr "" -#: src/gtk/connected-device.ui:358 +#: src/gtk/connected-device.ui:368 msgid "XR Effect on/off shortcut" msgstr "" -#: src/gtk/connected-device.ui:359 +#: src/gtk/connected-device.ui:369 msgid "" "Quickly enable or disable the XR Effect. You may need to enable the effect " "manually once in order to enable the shortcut." msgstr "" -#: src/gtk/connected-device.ui:378 src/gtk/connected-device.ui:407 -#: src/gtk/connected-device.ui:436 src/gtk/connected-device.ui:465 +#: src/gtk/connected-device.ui:388 src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:446 src/gtk/connected-device.ui:475 msgid "Change" msgstr "" -#: src/gtk/connected-device.ui:387 +#: src/gtk/connected-device.ui:397 msgid "Re-center display shortcut" msgstr "" -#: src/gtk/connected-device.ui:388 +#: src/gtk/connected-device.ui:398 msgid "Pin the virtual display to the current position." msgstr "" -#: src/gtk/connected-device.ui:416 +#: src/gtk/connected-device.ui:426 msgid "Toggle zoom on focus shortcut" msgstr "" -#: src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:427 msgid "Quickly toggle zoom on focus mode." msgstr "" -#: src/gtk/connected-device.ui:445 +#: src/gtk/connected-device.ui:455 msgid "Toggle follow mode shortcut" msgstr "" -#: src/gtk/connected-device.ui:446 +#: src/gtk/connected-device.ui:456 msgid "Quickly toggle follow mode." msgstr "" -#: src/gtk/connected-device.ui:481 src/gtk/connected-device.ui:487 +#: src/gtk/connected-device.ui:491 src/gtk/connected-device.ui:497 msgid "Advanced Settings" msgstr "" -#: src/gtk/connected-device.ui:490 +#: src/gtk/connected-device.ui:500 msgid "Find optimal display config" msgstr "" -#: src/gtk/connected-device.ui:491 +#: src/gtk/connected-device.ui:501 msgid "" "Automatically modify the glasses display configuration for maximum " "resolution and best scaling when plugged in." msgstr "" -#: src/gtk/connected-device.ui:501 +#: src/gtk/connected-device.ui:511 msgid "Use highest refresh rate" msgstr "" -#: src/gtk/connected-device.ui:502 +#: src/gtk/connected-device.ui:512 msgid "Refresh rate may affect performance, disable this to set it manually." msgstr "" -#: src/gtk/connected-device.ui:512 +#: src/gtk/connected-device.ui:522 msgid "Always primary display" msgstr "" -#: src/gtk/connected-device.ui:513 +#: src/gtk/connected-device.ui:523 msgid "Automatically set the glasses as the primary display when plugged in." msgstr "" -#: src/gtk/connected-device.ui:523 +#: src/gtk/connected-device.ui:533 msgid "Movement look-ahead" msgstr "" -#: src/gtk/connected-device.ui:524 +#: src/gtk/connected-device.ui:534 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:542 +#: src/gtk/connected-device.ui:552 msgid "Default" msgstr "" -#: src/gtk/connected-device.ui:554 +#: src/gtk/connected-device.ui:564 msgid "Text Scaling" msgstr "" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:565 msgid "Scaling text below 1.0 will simulate a higher resolution display" msgstr "" -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:595 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:586 +#: src/gtk/connected-device.ui:596 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" diff --git a/ui/po/pt_BR.po b/ui/po/pt_BR.po index c13a71b..0ee992e 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-05 12:28-0800\n" +"POT-Creation-Date: 2025-03-06 15:32-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:124 +#: src/connecteddevice.py:125 #, fuzzy msgid "Set Focused Display Distance" msgstr "Расстояние дисплея" -#: src/connecteddevice.py:125 +#: src/connecteddevice.py:126 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:132 +#: src/connecteddevice.py:133 #, fuzzy msgid "Set All Displays Distance" msgstr "Расстояние дисплея" -#: src/connecteddevice.py:133 +#: src/connecteddevice.py:134 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:231 +#: src/connecteddevice.py:232 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:265 +#: src/connecteddevice.py:266 #, fuzzy msgid "Focused display" msgstr "Расстояние дисплея" -#: src/connecteddevice.py:271 +#: src/connecteddevice.py:272 #, fuzzy msgid "All displays" msgstr "Изогнутый дисплей" @@ -203,19 +203,19 @@ msgstr "Общие настройки" msgid "Features" msgstr "Функции" -#: src/gtk/connected-device.ui:44 +#: src/gtk/connected-device.ui:45 msgid "XR effect" msgstr "Эффект XR" -#: src/gtk/connected-device.ui:45 +#: src/gtk/connected-device.ui:46 msgid "Enables the Breezy Desktop XR effect." msgstr "Включает эффект Breezy Desktop XR." -#: src/gtk/connected-device.ui:55 +#: src/gtk/connected-device.ui:56 msgid "Zoom on focus" msgstr "" -#: src/gtk/connected-device.ui:56 +#: src/gtk/connected-device.ui:57 msgid "" "Automatically move a display closer when you look at it.\n" "Set your preferred focused and unfocused distances in the Adjustments " @@ -223,173 +223,173 @@ msgid "" " " msgstr "" -#: src/gtk/connected-device.ui:69 +#: src/gtk/connected-device.ui:70 msgid "Follow mode" msgstr "Режим следования" -#: src/gtk/connected-device.ui:70 +#: src/gtk/connected-device.ui:71 #, fuzzy msgid "Keep the focused display near the center of your view." msgstr "Поддерживает виртуальный дисплей вблизи центра вашего зрения." -#: src/gtk/connected-device.ui:80 src/gtk/no-device.ui:34 +#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:34 msgid "Disable physical displays" msgstr "" -#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:35 +#: src/gtk/connected-device.ui:82 src/gtk/no-device.ui:35 msgid "" "Automatically disable all physical displays when the XR effect is enabled." msgstr "" -#: src/gtk/connected-device.ui:91 +#: src/gtk/connected-device.ui:92 #, fuzzy msgid "Virtual displays" msgstr "Изогнутый дисплей" -#: src/gtk/connected-device.ui:103 +#: src/gtk/connected-device.ui:108 +msgid "1080p" +msgstr "" + +#: src/gtk/connected-device.ui:109 +msgid "1440p" +msgstr "" + +#: src/gtk/connected-device.ui:131 #, fuzzy msgid "Rearrange displays" msgstr "Изогнутый дисплей" -#: src/gtk/connected-device.ui:115 -msgid "1080p" -msgstr "" - -#: src/gtk/connected-device.ui:116 -msgid "1440p" -msgstr "" - -#: src/gtk/connected-device.ui:140 +#: src/gtk/connected-device.ui:149 msgid "Adjustments" msgstr "Настройки" -#: src/gtk/connected-device.ui:143 +#: src/gtk/connected-device.ui:153 #, fuzzy msgid "Display distances" msgstr "Расстояние дисплея" -#: src/gtk/connected-device.ui:144 +#: src/gtk/connected-device.ui:154 msgid "Set how close you want displays to appear." msgstr "" -#: src/gtk/connected-device.ui:199 +#: src/gtk/connected-device.ui:209 msgid "Follow threshold" msgstr "Порог следования" -#: src/gtk/connected-device.ui:200 +#: src/gtk/connected-device.ui:210 msgid "How far away you can look before the display follows." msgstr "" "Как далеко вы можете отвернуть взгляд, прежде чем дисплей последует за вами." -#: src/gtk/connected-device.ui:223 +#: src/gtk/connected-device.ui:233 #, fuzzy msgid "Display angling" msgstr "Размер дисплея" -#: src/gtk/connected-device.ui:224 +#: src/gtk/connected-device.ui:234 msgid "" "When there are multiple displays, choose how they should angle towards you." msgstr "" -#: src/gtk/connected-device.ui:238 +#: src/gtk/connected-device.ui:248 msgid "Automatic" msgstr "" -#: src/gtk/connected-device.ui:239 +#: src/gtk/connected-device.ui:249 msgid "Side-angled" msgstr "" -#: src/gtk/connected-device.ui:240 +#: src/gtk/connected-device.ui:250 msgid "Top-angled" msgstr "" -#: src/gtk/connected-device.ui:241 +#: src/gtk/connected-device.ui:251 msgid "Flat" msgstr "" -#: src/gtk/connected-device.ui:251 +#: src/gtk/connected-device.ui:261 #, fuzzy msgid "Display spacing" msgstr "Размер дисплея" -#: src/gtk/connected-device.ui:252 +#: src/gtk/connected-device.ui:262 msgid "Put empty space between displays, when there are multiple." msgstr "" -#: src/gtk/connected-device.ui:282 +#: src/gtk/connected-device.ui:292 msgid "Viewport horizontal offset" msgstr "" -#: src/gtk/connected-device.ui:283 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:312 +#: src/gtk/connected-device.ui:322 msgid "Viewport vertical offset" msgstr "" -#: src/gtk/connected-device.ui:313 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:349 src/gtk/connected-device.ui:355 +#: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 msgid "Keyboard Shortcuts" msgstr "Сочетания клавиш" -#: src/gtk/connected-device.ui:358 +#: src/gtk/connected-device.ui:368 msgid "XR Effect on/off shortcut" msgstr "" -#: src/gtk/connected-device.ui:359 +#: src/gtk/connected-device.ui:369 msgid "" "Quickly enable or disable the XR Effect. You may need to enable the effect " "manually once in order to enable the shortcut." msgstr "" -#: src/gtk/connected-device.ui:378 src/gtk/connected-device.ui:407 -#: src/gtk/connected-device.ui:436 src/gtk/connected-device.ui:465 +#: src/gtk/connected-device.ui:388 src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:446 src/gtk/connected-device.ui:475 msgid "Change" msgstr "Изменить" -#: src/gtk/connected-device.ui:387 +#: src/gtk/connected-device.ui:397 msgid "Re-center display shortcut" msgstr "Сочетание клавиш для перецентровки дисплея" -#: src/gtk/connected-device.ui:388 +#: src/gtk/connected-device.ui:398 msgid "Pin the virtual display to the current position." msgstr "Фиксировать виртуальный дисплей в текущем положении." -#: src/gtk/connected-device.ui:416 +#: src/gtk/connected-device.ui:426 #, fuzzy msgid "Toggle zoom on focus shortcut" msgstr "Сочетание клавиш для переключения режима следования" -#: src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:427 #, fuzzy msgid "Quickly toggle zoom on focus mode." msgstr "Быстро переключать режим следования." -#: src/gtk/connected-device.ui:445 +#: src/gtk/connected-device.ui:455 msgid "Toggle follow mode shortcut" msgstr "Сочетание клавиш для переключения режима следования" -#: src/gtk/connected-device.ui:446 +#: src/gtk/connected-device.ui:456 msgid "Quickly toggle follow mode." msgstr "Быстро переключать режим следования." -#: src/gtk/connected-device.ui:481 src/gtk/connected-device.ui:487 +#: src/gtk/connected-device.ui:491 src/gtk/connected-device.ui:497 msgid "Advanced Settings" msgstr "Дополнительные настройки" -#: src/gtk/connected-device.ui:490 +#: src/gtk/connected-device.ui:500 msgid "Find optimal display config" msgstr "Найти оптимальную конфигурацию дисплея" -#: src/gtk/connected-device.ui:491 +#: src/gtk/connected-device.ui:501 msgid "" "Automatically modify the glasses display configuration for maximum " "resolution and best scaling when plugged in." @@ -397,31 +397,31 @@ msgstr "" "Автоматически изменять конфигурацию дисплея очков для максимального " "разрешения и лучшей масштабирования при подключении." -#: src/gtk/connected-device.ui:501 +#: src/gtk/connected-device.ui:511 msgid "Use highest refresh rate" msgstr "Использовать высшую частоту обновления" -#: src/gtk/connected-device.ui:502 +#: src/gtk/connected-device.ui:512 msgid "Refresh rate may affect performance, disable this to set it manually." msgstr "" "Частота обновления может повлиять на производительность, отключите это, " "чтобы установить ее вручную." -#: src/gtk/connected-device.ui:512 +#: src/gtk/connected-device.ui:522 msgid "Always primary display" msgstr "Всегда основной дисплей" -#: src/gtk/connected-device.ui:513 +#: src/gtk/connected-device.ui:523 msgid "Automatically set the glasses as the primary display when plugged in." msgstr "" "Автоматически устанавливать очки в качестве основного дисплея при " "подключении." -#: src/gtk/connected-device.ui:523 +#: src/gtk/connected-device.ui:533 msgid "Movement look-ahead" msgstr "Прогнозирование движения" -#: src/gtk/connected-device.ui:524 +#: src/gtk/connected-device.ui:534 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " @@ -432,23 +432,23 @@ msgstr "" "виртуальный дисплей не отстает от движений вашей головы, не опережает или не " "очень трясётся." -#: src/gtk/connected-device.ui:542 +#: src/gtk/connected-device.ui:552 msgid "Default" msgstr "По умолчанию" -#: src/gtk/connected-device.ui:554 +#: src/gtk/connected-device.ui:564 msgid "Text Scaling" msgstr "" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:565 msgid "Scaling text below 1.0 will simulate a higher resolution display" msgstr "" -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:595 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:586 +#: src/gtk/connected-device.ui:596 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" diff --git a/ui/po/sv.po b/ui/po/sv.po index 07fc116..d6a90ba 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-05 12:28-0800\n" +"POT-Creation-Date: 2025-03-06 15:32-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:124 +#: src/connecteddevice.py:125 #, fuzzy msgid "Set Focused Display Distance" msgstr "Avstånd till skärmen" -#: src/connecteddevice.py:125 +#: src/connecteddevice.py:126 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:132 +#: src/connecteddevice.py:133 #, fuzzy msgid "Set All Displays Distance" msgstr "Avstånd till skärmen" -#: src/connecteddevice.py:133 +#: src/connecteddevice.py:134 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:231 +#: src/connecteddevice.py:232 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:265 +#: src/connecteddevice.py:266 #, fuzzy msgid "Focused display" msgstr "Avstånd till skärmen" -#: src/connecteddevice.py:271 +#: src/connecteddevice.py:272 #, fuzzy msgid "All displays" msgstr "Böjd skärm" @@ -203,19 +203,19 @@ msgstr "Allmänna inställningar" msgid "Features" msgstr "Funktioner" -#: src/gtk/connected-device.ui:44 +#: src/gtk/connected-device.ui:45 msgid "XR effect" msgstr "XR-effekt" -#: src/gtk/connected-device.ui:45 +#: src/gtk/connected-device.ui:46 msgid "Enables the Breezy Desktop XR effect." msgstr "Aktiverar Breezy Desktop XR-effekten." -#: src/gtk/connected-device.ui:55 +#: src/gtk/connected-device.ui:56 msgid "Zoom on focus" msgstr "" -#: src/gtk/connected-device.ui:56 +#: src/gtk/connected-device.ui:57 msgid "" "Automatically move a display closer when you look at it.\n" "Set your preferred focused and unfocused distances in the Adjustments " @@ -223,127 +223,127 @@ msgid "" " " msgstr "" -#: src/gtk/connected-device.ui:69 +#: src/gtk/connected-device.ui:70 msgid "Follow mode" msgstr "Följningsläge" -#: src/gtk/connected-device.ui:70 +#: src/gtk/connected-device.ui:71 #, fuzzy msgid "Keep the focused display near the center of your view." msgstr "Håll den virtuella skärmen nära mitten av din syn." -#: src/gtk/connected-device.ui:80 src/gtk/no-device.ui:34 +#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:34 msgid "Disable physical displays" msgstr "" -#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:35 +#: src/gtk/connected-device.ui:82 src/gtk/no-device.ui:35 msgid "" "Automatically disable all physical displays when the XR effect is enabled." msgstr "" -#: src/gtk/connected-device.ui:91 +#: src/gtk/connected-device.ui:92 #, fuzzy msgid "Virtual displays" msgstr "Böjd skärm" -#: src/gtk/connected-device.ui:103 +#: src/gtk/connected-device.ui:108 +msgid "1080p" +msgstr "" + +#: src/gtk/connected-device.ui:109 +msgid "1440p" +msgstr "" + +#: src/gtk/connected-device.ui:131 #, fuzzy msgid "Rearrange displays" msgstr "Böjd skärm" -#: src/gtk/connected-device.ui:115 -msgid "1080p" -msgstr "" - -#: src/gtk/connected-device.ui:116 -msgid "1440p" -msgstr "" - -#: src/gtk/connected-device.ui:140 +#: src/gtk/connected-device.ui:149 msgid "Adjustments" msgstr "Justeringar" -#: src/gtk/connected-device.ui:143 +#: src/gtk/connected-device.ui:153 #, fuzzy msgid "Display distances" msgstr "Avstånd till skärmen" -#: src/gtk/connected-device.ui:144 +#: src/gtk/connected-device.ui:154 msgid "Set how close you want displays to appear." msgstr "" -#: src/gtk/connected-device.ui:199 +#: src/gtk/connected-device.ui:209 msgid "Follow threshold" msgstr "Automatisk följtröskel" -#: src/gtk/connected-device.ui:200 +#: src/gtk/connected-device.ui:210 msgid "How far away you can look before the display follows." msgstr "Huvudrörelsetröskel för automatisk efterföljning." -#: src/gtk/connected-device.ui:223 +#: src/gtk/connected-device.ui:233 #, fuzzy msgid "Display angling" msgstr "Skärmens storlek" -#: src/gtk/connected-device.ui:224 +#: src/gtk/connected-device.ui:234 msgid "" "When there are multiple displays, choose how they should angle towards you." msgstr "" -#: src/gtk/connected-device.ui:238 +#: src/gtk/connected-device.ui:248 msgid "Automatic" msgstr "" -#: src/gtk/connected-device.ui:239 +#: src/gtk/connected-device.ui:249 msgid "Side-angled" msgstr "" -#: src/gtk/connected-device.ui:240 +#: src/gtk/connected-device.ui:250 msgid "Top-angled" msgstr "" -#: src/gtk/connected-device.ui:241 +#: src/gtk/connected-device.ui:251 msgid "Flat" msgstr "" -#: src/gtk/connected-device.ui:251 +#: src/gtk/connected-device.ui:261 #, fuzzy msgid "Display spacing" msgstr "Skärmens storlek" -#: src/gtk/connected-device.ui:252 +#: src/gtk/connected-device.ui:262 msgid "Put empty space between displays, when there are multiple." msgstr "" -#: src/gtk/connected-device.ui:282 +#: src/gtk/connected-device.ui:292 msgid "Viewport horizontal offset" msgstr "" -#: src/gtk/connected-device.ui:283 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:312 +#: src/gtk/connected-device.ui:322 msgid "Viewport vertical offset" msgstr "" -#: src/gtk/connected-device.ui:313 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:349 src/gtk/connected-device.ui:355 +#: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 msgid "Keyboard Shortcuts" msgstr "Tangentbordsgenvägar" -#: src/gtk/connected-device.ui:358 +#: src/gtk/connected-device.ui:368 msgid "XR Effect on/off shortcut" msgstr "XR-Effekt genväg på/av" -#: src/gtk/connected-device.ui:359 +#: src/gtk/connected-device.ui:369 msgid "" "Quickly enable or disable the XR Effect. You may need to enable the effect " "manually once in order to enable the shortcut." @@ -351,46 +351,46 @@ msgstr "" "Skifta snabbt mellan att slå av eller på XR-Effekt. Du kan behöva slå på den " "manuellt en gång för att genvägen ska fungera." -#: src/gtk/connected-device.ui:378 src/gtk/connected-device.ui:407 -#: src/gtk/connected-device.ui:436 src/gtk/connected-device.ui:465 +#: src/gtk/connected-device.ui:388 src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:446 src/gtk/connected-device.ui:475 msgid "Change" msgstr "Ändra" -#: src/gtk/connected-device.ui:387 +#: src/gtk/connected-device.ui:397 msgid "Re-center display shortcut" msgstr "Om-centrering tangentbordsgenväg" -#: src/gtk/connected-device.ui:388 +#: src/gtk/connected-device.ui:398 msgid "Pin the virtual display to the current position." msgstr "Fäst den virtuella skärmen i den nuvarande positionen." -#: src/gtk/connected-device.ui:416 +#: src/gtk/connected-device.ui:426 #, fuzzy msgid "Toggle zoom on focus shortcut" msgstr "Växla följ läge kort" -#: src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:427 #, fuzzy msgid "Quickly toggle zoom on focus mode." msgstr "Växla snabbt följ läge." -#: src/gtk/connected-device.ui:445 +#: src/gtk/connected-device.ui:455 msgid "Toggle follow mode shortcut" msgstr "Växla följ läge kort" -#: src/gtk/connected-device.ui:446 +#: src/gtk/connected-device.ui:456 msgid "Quickly toggle follow mode." msgstr "Växla snabbt följ läge." -#: src/gtk/connected-device.ui:481 src/gtk/connected-device.ui:487 +#: src/gtk/connected-device.ui:491 src/gtk/connected-device.ui:497 msgid "Advanced Settings" msgstr "Avancerade inställningar" -#: src/gtk/connected-device.ui:490 +#: src/gtk/connected-device.ui:500 msgid "Find optimal display config" msgstr "Hitta optimal konfiguration till skärmen" -#: src/gtk/connected-device.ui:491 +#: src/gtk/connected-device.ui:501 msgid "" "Automatically modify the glasses display configuration for maximum " "resolution and best scaling when plugged in." @@ -398,29 +398,29 @@ msgstr "" "Ändrar automatisk glasögonens skärmkonfiguration för maximal upplösning och " "bästa skälning när den är ansluten." -#: src/gtk/connected-device.ui:501 +#: src/gtk/connected-device.ui:511 msgid "Use highest refresh rate" msgstr "Använd högsta uppdateringsfrekvens" -#: src/gtk/connected-device.ui:502 +#: src/gtk/connected-device.ui:512 msgid "Refresh rate may affect performance, disable this to set it manually." msgstr "" "Uppdateringsfrekvens kan påverka prestanda, inaktivera detta för att ställa " "in det manuellt." -#: src/gtk/connected-device.ui:512 +#: src/gtk/connected-device.ui:522 msgid "Always primary display" msgstr "Alltid primär skärm" -#: src/gtk/connected-device.ui:513 +#: src/gtk/connected-device.ui:523 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:523 +#: src/gtk/connected-device.ui:533 msgid "Movement look-ahead" msgstr "Rörs förväntning" -#: src/gtk/connected-device.ui:524 +#: src/gtk/connected-device.ui:534 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " @@ -429,23 +429,23 @@ 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:542 +#: src/gtk/connected-device.ui:552 msgid "Default" msgstr "Standard" -#: src/gtk/connected-device.ui:554 +#: src/gtk/connected-device.ui:564 msgid "Text Scaling" msgstr "Textskalning" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:565 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" -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:595 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:586 +#: src/gtk/connected-device.ui:596 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" diff --git a/ui/po/uk_UA.po b/ui/po/uk_UA.po index 40acb60..9e57ba6 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-05 12:28-0800\n" +"POT-Creation-Date: 2025-03-06 15:32-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:124 +#: src/connecteddevice.py:125 #, fuzzy msgid "Set Focused Display Distance" msgstr "Відстань дисплея" -#: src/connecteddevice.py:125 +#: src/connecteddevice.py:126 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:132 +#: src/connecteddevice.py:133 #, fuzzy msgid "Set All Displays Distance" msgstr "Відстань дисплея" -#: src/connecteddevice.py:133 +#: src/connecteddevice.py:134 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:231 +#: src/connecteddevice.py:232 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:265 +#: src/connecteddevice.py:266 #, fuzzy msgid "Focused display" msgstr "Відстань дисплея" -#: src/connecteddevice.py:271 +#: src/connecteddevice.py:272 #, fuzzy msgid "All displays" msgstr "Викривлений дисплей" @@ -202,19 +202,19 @@ msgstr "Загальні налаштування" msgid "Features" msgstr "Функції" -#: src/gtk/connected-device.ui:44 +#: src/gtk/connected-device.ui:45 msgid "XR effect" msgstr "Ефект XR" -#: src/gtk/connected-device.ui:45 +#: src/gtk/connected-device.ui:46 msgid "Enables the Breezy Desktop XR effect." msgstr "Включає ефект Breezy Desktop XR." -#: src/gtk/connected-device.ui:55 +#: src/gtk/connected-device.ui:56 msgid "Zoom on focus" msgstr "" -#: src/gtk/connected-device.ui:56 +#: src/gtk/connected-device.ui:57 msgid "" "Automatically move a display closer when you look at it.\n" "Set your preferred focused and unfocused distances in the Adjustments " @@ -222,174 +222,174 @@ msgid "" " " msgstr "" -#: src/gtk/connected-device.ui:69 +#: src/gtk/connected-device.ui:70 msgid "Follow mode" msgstr "Режим слідування" -#: src/gtk/connected-device.ui:70 +#: src/gtk/connected-device.ui:71 #, fuzzy msgid "Keep the focused display near the center of your view." msgstr "Зберігае віртуальний дисплей поблизу центру вашого зору." -#: src/gtk/connected-device.ui:80 src/gtk/no-device.ui:34 +#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:34 msgid "Disable physical displays" msgstr "" -#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:35 +#: src/gtk/connected-device.ui:82 src/gtk/no-device.ui:35 msgid "" "Automatically disable all physical displays when the XR effect is enabled." msgstr "" -#: src/gtk/connected-device.ui:91 +#: src/gtk/connected-device.ui:92 #, fuzzy msgid "Virtual displays" msgstr "Викривлений дисплей" -#: src/gtk/connected-device.ui:103 +#: src/gtk/connected-device.ui:108 +msgid "1080p" +msgstr "" + +#: src/gtk/connected-device.ui:109 +msgid "1440p" +msgstr "" + +#: src/gtk/connected-device.ui:131 #, fuzzy msgid "Rearrange displays" msgstr "Викривлений дисплей" -#: src/gtk/connected-device.ui:115 -msgid "1080p" -msgstr "" - -#: src/gtk/connected-device.ui:116 -msgid "1440p" -msgstr "" - -#: src/gtk/connected-device.ui:140 +#: src/gtk/connected-device.ui:149 msgid "Adjustments" msgstr "Налаштування" -#: src/gtk/connected-device.ui:143 +#: src/gtk/connected-device.ui:153 #, fuzzy msgid "Display distances" msgstr "Відстань дисплея" -#: src/gtk/connected-device.ui:144 +#: src/gtk/connected-device.ui:154 msgid "Set how close you want displays to appear." msgstr "" -#: src/gtk/connected-device.ui:199 +#: src/gtk/connected-device.ui:209 msgid "Follow threshold" msgstr "Поріг слідування" -#: src/gtk/connected-device.ui:200 +#: src/gtk/connected-device.ui:210 msgid "How far away you can look before the display follows." msgstr "" "Як далеко ви можете відвернути ваш взор, перш ніж дисплей почне слідувати за " "вами." -#: src/gtk/connected-device.ui:223 +#: src/gtk/connected-device.ui:233 #, fuzzy msgid "Display angling" msgstr "Розмір дисплея" -#: src/gtk/connected-device.ui:224 +#: src/gtk/connected-device.ui:234 msgid "" "When there are multiple displays, choose how they should angle towards you." msgstr "" -#: src/gtk/connected-device.ui:238 +#: src/gtk/connected-device.ui:248 msgid "Automatic" msgstr "" -#: src/gtk/connected-device.ui:239 +#: src/gtk/connected-device.ui:249 msgid "Side-angled" msgstr "" -#: src/gtk/connected-device.ui:240 +#: src/gtk/connected-device.ui:250 msgid "Top-angled" msgstr "" -#: src/gtk/connected-device.ui:241 +#: src/gtk/connected-device.ui:251 msgid "Flat" msgstr "" -#: src/gtk/connected-device.ui:251 +#: src/gtk/connected-device.ui:261 #, fuzzy msgid "Display spacing" msgstr "Розмір дисплея" -#: src/gtk/connected-device.ui:252 +#: src/gtk/connected-device.ui:262 msgid "Put empty space between displays, when there are multiple." msgstr "" -#: src/gtk/connected-device.ui:282 +#: src/gtk/connected-device.ui:292 msgid "Viewport horizontal offset" msgstr "" -#: src/gtk/connected-device.ui:283 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:312 +#: src/gtk/connected-device.ui:322 msgid "Viewport vertical offset" msgstr "" -#: src/gtk/connected-device.ui:313 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:349 src/gtk/connected-device.ui:355 +#: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 msgid "Keyboard Shortcuts" msgstr "Сполучення клавіш" -#: src/gtk/connected-device.ui:358 +#: src/gtk/connected-device.ui:368 msgid "XR Effect on/off shortcut" msgstr "" -#: src/gtk/connected-device.ui:359 +#: src/gtk/connected-device.ui:369 msgid "" "Quickly enable or disable the XR Effect. You may need to enable the effect " "manually once in order to enable the shortcut." msgstr "" -#: src/gtk/connected-device.ui:378 src/gtk/connected-device.ui:407 -#: src/gtk/connected-device.ui:436 src/gtk/connected-device.ui:465 +#: src/gtk/connected-device.ui:388 src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:446 src/gtk/connected-device.ui:475 msgid "Change" msgstr "Змінити" -#: src/gtk/connected-device.ui:387 +#: src/gtk/connected-device.ui:397 msgid "Re-center display shortcut" msgstr "Сполучення клавіш для центрування дисплея" -#: src/gtk/connected-device.ui:388 +#: src/gtk/connected-device.ui:398 msgid "Pin the virtual display to the current position." msgstr "Фіксувати віртуальний дисплей у поточній позиції." -#: src/gtk/connected-device.ui:416 +#: src/gtk/connected-device.ui:426 #, fuzzy msgid "Toggle zoom on focus shortcut" msgstr "Сполучення клавіш для перемикання режиму слідування" -#: src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:427 #, fuzzy msgid "Quickly toggle zoom on focus mode." msgstr "Швидко перемикати режим слідування." -#: src/gtk/connected-device.ui:445 +#: src/gtk/connected-device.ui:455 msgid "Toggle follow mode shortcut" msgstr "Сполучення клавіш для перемикання режиму слідування" -#: src/gtk/connected-device.ui:446 +#: src/gtk/connected-device.ui:456 msgid "Quickly toggle follow mode." msgstr "Швидко перемикати режим слідування." -#: src/gtk/connected-device.ui:481 src/gtk/connected-device.ui:487 +#: src/gtk/connected-device.ui:491 src/gtk/connected-device.ui:497 msgid "Advanced Settings" msgstr "Додаткові налаштування" -#: src/gtk/connected-device.ui:490 +#: src/gtk/connected-device.ui:500 msgid "Find optimal display config" msgstr "Знайти оптимальну конфігурацію дисплея" -#: src/gtk/connected-device.ui:491 +#: src/gtk/connected-device.ui:501 msgid "" "Automatically modify the glasses display configuration for maximum " "resolution and best scaling when plugged in." @@ -397,29 +397,29 @@ msgstr "" "Автоматично змінює конфігурацію дисплея окулярів для максимальної роздільної " "здатності і найкращого масштабування при підключенні." -#: src/gtk/connected-device.ui:501 +#: src/gtk/connected-device.ui:511 msgid "Use highest refresh rate" msgstr "Використовувати найвищу частоту оновлення" -#: src/gtk/connected-device.ui:502 +#: src/gtk/connected-device.ui:512 msgid "Refresh rate may affect performance, disable this to set it manually." msgstr "" "Частота оновлення може вплинути на продуктивність, вимкніть це, щоб " "встановити її вручну." -#: src/gtk/connected-device.ui:512 +#: src/gtk/connected-device.ui:522 msgid "Always primary display" msgstr "Завжди основний дисплей" -#: src/gtk/connected-device.ui:513 +#: src/gtk/connected-device.ui:523 msgid "Automatically set the glasses as the primary display when plugged in." msgstr "Автоматично встановлює окуляри як основний дисплей при підключенні." -#: src/gtk/connected-device.ui:523 +#: src/gtk/connected-device.ui:533 msgid "Movement look-ahead" msgstr "Прогнозування руху" -#: src/gtk/connected-device.ui:524 +#: src/gtk/connected-device.ui:534 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " @@ -430,23 +430,23 @@ msgstr "" "віртуальний дисплей відстає від рухів вашої голови, випереджає або дуже " "тремтить." -#: src/gtk/connected-device.ui:542 +#: src/gtk/connected-device.ui:552 msgid "Default" msgstr "За замовчуванням" -#: src/gtk/connected-device.ui:554 +#: src/gtk/connected-device.ui:564 msgid "Text Scaling" msgstr "" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:565 msgid "Scaling text below 1.0 will simulate a higher resolution display" msgstr "" -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:595 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:586 +#: src/gtk/connected-device.ui:596 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" diff --git a/ui/po/zh_CN.po b/ui/po/zh_CN.po index 3faee5c..9dea24e 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-05 12:28-0800\n" +"POT-Creation-Date: 2025-03-06 15:32-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:124 +#: src/connecteddevice.py:125 #, fuzzy msgid "Set Focused Display Distance" msgstr "显示距离" -#: src/connecteddevice.py:125 +#: src/connecteddevice.py:126 msgid "Use a closer value so the display zooms in when you look at it." msgstr "" -#: src/connecteddevice.py:132 +#: src/connecteddevice.py:133 #, fuzzy msgid "Set All Displays Distance" msgstr "显示距离" -#: src/connecteddevice.py:133 +#: src/connecteddevice.py:134 msgid "Use a farther value so the displays are zoomed out when you look away." msgstr "" -#: src/connecteddevice.py:231 +#: src/connecteddevice.py:232 msgid "" "Unable to add virtual displays on this machine. xdg-desktop-portal is " "required." msgstr "" -#: src/connecteddevice.py:265 +#: src/connecteddevice.py:266 #, fuzzy msgid "Focused display" msgstr "显示距离" -#: src/connecteddevice.py:271 +#: src/connecteddevice.py:272 #, fuzzy msgid "All displays" msgstr "曲面显示" @@ -200,19 +200,19 @@ msgstr "通用设定" msgid "Features" msgstr "功能" -#: src/gtk/connected-device.ui:44 +#: src/gtk/connected-device.ui:45 msgid "XR effect" msgstr "XR 效果" -#: src/gtk/connected-device.ui:45 +#: src/gtk/connected-device.ui:46 msgid "Enables the Breezy Desktop XR effect." msgstr "启用 Breezy Desktop XR 效果。" -#: src/gtk/connected-device.ui:55 +#: src/gtk/connected-device.ui:56 msgid "Zoom on focus" msgstr "" -#: src/gtk/connected-device.ui:56 +#: src/gtk/connected-device.ui:57 msgid "" "Automatically move a display closer when you look at it.\n" "Set your preferred focused and unfocused distances in the Adjustments " @@ -220,198 +220,198 @@ msgid "" " " msgstr "" -#: src/gtk/connected-device.ui:69 +#: src/gtk/connected-device.ui:70 msgid "Follow mode" msgstr "跟随模式" -#: src/gtk/connected-device.ui:70 +#: src/gtk/connected-device.ui:71 #, fuzzy msgid "Keep the focused display near the center of your view." msgstr "虚拟显示保持在视野中心附近。" -#: src/gtk/connected-device.ui:80 src/gtk/no-device.ui:34 +#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:34 msgid "Disable physical displays" msgstr "" -#: src/gtk/connected-device.ui:81 src/gtk/no-device.ui:35 +#: src/gtk/connected-device.ui:82 src/gtk/no-device.ui:35 msgid "" "Automatically disable all physical displays when the XR effect is enabled." msgstr "" -#: src/gtk/connected-device.ui:91 +#: src/gtk/connected-device.ui:92 #, fuzzy msgid "Virtual displays" msgstr "曲面显示" -#: src/gtk/connected-device.ui:103 +#: src/gtk/connected-device.ui:108 +msgid "1080p" +msgstr "" + +#: src/gtk/connected-device.ui:109 +msgid "1440p" +msgstr "" + +#: src/gtk/connected-device.ui:131 #, fuzzy msgid "Rearrange displays" msgstr "曲面显示" -#: src/gtk/connected-device.ui:115 -msgid "1080p" -msgstr "" - -#: src/gtk/connected-device.ui:116 -msgid "1440p" -msgstr "" - -#: src/gtk/connected-device.ui:140 +#: src/gtk/connected-device.ui:149 msgid "Adjustments" msgstr "调整" -#: src/gtk/connected-device.ui:143 +#: src/gtk/connected-device.ui:153 #, fuzzy msgid "Display distances" msgstr "显示距离" -#: src/gtk/connected-device.ui:144 +#: src/gtk/connected-device.ui:154 msgid "Set how close you want displays to appear." msgstr "" -#: src/gtk/connected-device.ui:199 +#: src/gtk/connected-device.ui:209 msgid "Follow threshold" msgstr "跟随触发值" -#: src/gtk/connected-device.ui:200 +#: src/gtk/connected-device.ui:210 msgid "How far away you can look before the display follows." msgstr "在显示内容跟随前您可以看多远。" -#: src/gtk/connected-device.ui:223 +#: src/gtk/connected-device.ui:233 #, fuzzy msgid "Display angling" msgstr "显示大小" -#: src/gtk/connected-device.ui:224 +#: src/gtk/connected-device.ui:234 msgid "" "When there are multiple displays, choose how they should angle towards you." msgstr "" -#: src/gtk/connected-device.ui:238 +#: src/gtk/connected-device.ui:248 msgid "Automatic" msgstr "" -#: src/gtk/connected-device.ui:239 +#: src/gtk/connected-device.ui:249 msgid "Side-angled" msgstr "" -#: src/gtk/connected-device.ui:240 +#: src/gtk/connected-device.ui:250 msgid "Top-angled" msgstr "" -#: src/gtk/connected-device.ui:241 +#: src/gtk/connected-device.ui:251 msgid "Flat" msgstr "" -#: src/gtk/connected-device.ui:251 +#: src/gtk/connected-device.ui:261 #, fuzzy msgid "Display spacing" msgstr "显示大小" -#: src/gtk/connected-device.ui:252 +#: src/gtk/connected-device.ui:262 msgid "Put empty space between displays, when there are multiple." msgstr "" -#: src/gtk/connected-device.ui:282 +#: src/gtk/connected-device.ui:292 msgid "Viewport horizontal offset" msgstr "" -#: src/gtk/connected-device.ui:283 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:312 +#: src/gtk/connected-device.ui:322 msgid "Viewport vertical offset" msgstr "" -#: src/gtk/connected-device.ui:313 +#: 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." msgstr "" -#: src/gtk/connected-device.ui:349 src/gtk/connected-device.ui:355 +#: src/gtk/connected-device.ui:359 src/gtk/connected-device.ui:365 msgid "Keyboard Shortcuts" msgstr "键盘快捷键" -#: src/gtk/connected-device.ui:358 +#: src/gtk/connected-device.ui:368 msgid "XR Effect on/off shortcut" msgstr "XR效果 开/关 快捷键" -#: src/gtk/connected-device.ui:359 +#: src/gtk/connected-device.ui:369 msgid "" "Quickly enable or disable the XR Effect. You may need to enable the effect " "manually once in order to enable the shortcut." msgstr "快速启用或禁用 XR 效果。您可能需要先手动启用一次该效果,才能设此快捷键" -#: src/gtk/connected-device.ui:378 src/gtk/connected-device.ui:407 -#: src/gtk/connected-device.ui:436 src/gtk/connected-device.ui:465 +#: src/gtk/connected-device.ui:388 src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:446 src/gtk/connected-device.ui:475 msgid "Change" msgstr "更改" -#: src/gtk/connected-device.ui:387 +#: src/gtk/connected-device.ui:397 msgid "Re-center display shortcut" msgstr "重新居中显示快捷键" -#: src/gtk/connected-device.ui:388 +#: src/gtk/connected-device.ui:398 msgid "Pin the virtual display to the current position." msgstr "将虚拟显示固定在当前位置。" -#: src/gtk/connected-device.ui:416 +#: src/gtk/connected-device.ui:426 #, fuzzy msgid "Toggle zoom on focus shortcut" msgstr "切换跟随模式快捷键" -#: src/gtk/connected-device.ui:417 +#: src/gtk/connected-device.ui:427 #, fuzzy msgid "Quickly toggle zoom on focus mode." msgstr "快速切换跟随模式。" -#: src/gtk/connected-device.ui:445 +#: src/gtk/connected-device.ui:455 msgid "Toggle follow mode shortcut" msgstr "切换跟随模式快捷键" -#: src/gtk/connected-device.ui:446 +#: src/gtk/connected-device.ui:456 msgid "Quickly toggle follow mode." msgstr "快速切换跟随模式。" -#: src/gtk/connected-device.ui:481 src/gtk/connected-device.ui:487 +#: src/gtk/connected-device.ui:491 src/gtk/connected-device.ui:497 msgid "Advanced Settings" msgstr "高级设定" -#: src/gtk/connected-device.ui:490 +#: src/gtk/connected-device.ui:500 msgid "Find optimal display config" msgstr "寻找最佳显示设定" -#: src/gtk/connected-device.ui:491 +#: src/gtk/connected-device.ui:501 msgid "" "Automatically modify the glasses display configuration for maximum " "resolution and best scaling when plugged in." msgstr "连接时,可以自动修改眼镜显示设定以表现出最大解析度和最佳的对比。" -#: src/gtk/connected-device.ui:501 +#: src/gtk/connected-device.ui:511 msgid "Use highest refresh rate" msgstr "使用最高刷新率" -#: src/gtk/connected-device.ui:502 +#: src/gtk/connected-device.ui:512 msgid "Refresh rate may affect performance, disable this to set it manually." msgstr "刷新率可能会影响性能,禁用此功能即可手动设置。" -#: src/gtk/connected-device.ui:512 +#: src/gtk/connected-device.ui:522 msgid "Always primary display" msgstr "每次设置为主要显示" -#: src/gtk/connected-device.ui:513 +#: src/gtk/connected-device.ui:523 msgid "Automatically set the glasses as the primary display when plugged in." msgstr "连接时,自动将眼镜设置为主要显示。" -#: src/gtk/connected-device.ui:523 +#: src/gtk/connected-device.ui:533 msgid "Movement look-ahead" msgstr "移动预测" -#: src/gtk/connected-device.ui:524 +#: src/gtk/connected-device.ui:534 msgid "" "Counteracts input lag by predicting head-tracking position ahead of render " "time. Stick with default unless virtual display drags behind your head " @@ -420,23 +420,23 @@ msgstr "" "透过预测头部追踪位置,提前于渲染时间进行预测来抵消输入延迟。除非虚拟显示滞后" "于头部,提前跳动或非常抖动,请尽量使用默认设置。" -#: src/gtk/connected-device.ui:542 +#: src/gtk/connected-device.ui:552 msgid "Default" msgstr "默认" -#: src/gtk/connected-device.ui:554 +#: src/gtk/connected-device.ui:564 msgid "Text Scaling" msgstr "字体大小比例" -#: src/gtk/connected-device.ui:555 +#: src/gtk/connected-device.ui:565 msgid "Scaling text below 1.0 will simulate a higher resolution display" msgstr "字体缩放小于1.0,将模拟解析度更高的显示效果" -#: src/gtk/connected-device.ui:585 +#: src/gtk/connected-device.ui:595 msgid "Enable multi-tap detection" msgstr "" -#: src/gtk/connected-device.ui:586 +#: src/gtk/connected-device.ui:596 msgid "Enables double-tap to recenter and triple-tap to recalibrate." msgstr "" diff --git a/ui/src/connecteddevice.py b/ui/src/connecteddevice.py index acb867d..465a790 100644 --- a/ui/src/connecteddevice.py +++ b/ui/src/connecteddevice.py @@ -34,6 +34,7 @@ class ConnectedDevice(Gtk.Box): virtual_displays_row = Gtk.Template.Child() add_virtual_display_menu = Gtk.Template.Child() add_virtual_display_button = Gtk.Template.Child() + launch_display_settings_row = Gtk.Template.Child() launch_display_settings_button = Gtk.Template.Child() all_displays_distance_label = Gtk.Template.Child() change_all_displays_distance_button = Gtk.Template.Child() @@ -262,13 +263,13 @@ class ConnectedDevice(Gtk.Box): self.display_zoom_on_focus_switch.set_active(should_zoom_on_focus_be_enabled) def _set_focused_display_distance(self, distance): - self.focused_display_distance_label.set_markup(f"{_("Focused display")}: {distance}") + self.focused_display_distance_label.set_markup(f"{_('Focused display')}: {distance}") self.settings.set_double('toggle-display-distance-start', distance) self.display_zoom_on_focus_switch.set_sensitive(distance != self.settings.get_double('toggle-display-distance-end')) def _set_all_displays_distance(self, distance): - self.all_displays_distance_label.set_markup(f"{_("All displays")}: {distance}") + self.all_displays_distance_label.set_markup(f"{_('All displays')}: {distance}") self.settings.set_double('toggle-display-distance-end', distance) self.display_zoom_on_focus_switch.set_active(False) self.display_zoom_on_focus_switch.set_sensitive(distance != self.settings.get_double('toggle-display-distance-start')) @@ -321,6 +322,7 @@ class ConnectedDevice(Gtk.Box): 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) + self.top_features_group.remove(self.launch_display_settings_row) for pid, child in self.virtual_displays_by_pid.items(): self.top_features_group.remove(child) @@ -331,6 +333,9 @@ class ConnectedDevice(Gtk.Box): VirtualDisplayRow(display['pid'], display['width'], display['height'], 60)) self.top_features_group.add(child) 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.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 2849ef6..d5caea1 100644 --- a/ui/src/gtk/connected-device.ui +++ b/ui/src/gtk/connected-device.ui @@ -32,13 +32,14 @@ applications-system-symbolic - 1 + 2 20 20 20 Features + 450 XR effect @@ -95,14 +96,6 @@ 30 150 30 - - - 0 - launch-display-settings - 3 - Rearrange displays - - 3 @@ -133,11 +126,28 @@ + + + Rearrange displays + 0 + + + rearrange-virtual-displays + send-to-symbolic + 3 + + + + + Adjustments + 700 Display distances From ff3c03f142cd5c16b464b08ee892fd0aad3a44d9 Mon Sep 17 00:00:00 2001 From: wheaney <42350981+wheaney@users.noreply.github.com> Date: Thu, 6 Mar 2025 18:58:03 -0800 Subject: [PATCH 5/6] Protect against banner texture issues in GNOME 42 --- gnome/src/virtualdisplaysactor.js | 79 ++++++++++++++++--------------- 1 file changed, 40 insertions(+), 39 deletions(-) diff --git a/gnome/src/virtualdisplaysactor.js b/gnome/src/virtualdisplaysactor.js index 95b2ad8..a4b6a83 100644 --- a/gnome/src/virtualdisplaysactor.js +++ b/gnome/src/virtualdisplaysactor.js @@ -538,38 +538,35 @@ export const VirtualDisplaysActor = GObject.registerClass({ this._all_monitors = [ this.target_monitor, ...this.virtual_monitors - ] + ]; - const bannerTextureClippingRect = new Mtk.Rectangle({ - x: 0, - y: 0, - width: 800, - height: 200 - }); + try { + const calibratingBanner = GdkPixbuf.Pixbuf.new_from_file(`${Globals.extension_dir}/textures/calibrating.png`); + const calibratingImage = new Clutter.Image(); + calibratingImage.set_data(calibratingBanner.get_pixels(), Cogl.PixelFormat.RGB_888, + calibratingBanner.width, calibratingBanner.height, calibratingBanner.rowstride); + this.bannerContent = Clutter.TextureContent.new_from_texture(calibratingImage.get_texture(), null); - const calibratingBanner = GdkPixbuf.Pixbuf.new_from_file(`${Globals.extension_dir}/textures/calibrating.png`); - const calibratingImage = new Clutter.Image(); - calibratingImage.set_data(calibratingBanner.get_pixels(), Cogl.PixelFormat.RGB_888, - calibratingBanner.width, calibratingBanner.height, calibratingBanner.rowstride); - this.bannerContent = Clutter.TextureContent.new_from_texture(calibratingImage.get_texture(), bannerTextureClippingRect); + const customBanner = GdkPixbuf.Pixbuf.new_from_file(`${Globals.extension_dir}/textures/custom_banner.png`); + const customBannerImage = new Clutter.Image(); + customBannerImage.set_data(customBanner.get_pixels(), Cogl.PixelFormat.RGB_888, + customBanner.width, customBanner.height, customBanner.rowstride); + this.customBannerContent = Clutter.TextureContent.new_from_texture(customBannerImage.get_texture(), null); - const customBanner = GdkPixbuf.Pixbuf.new_from_file(`${Globals.extension_dir}/textures/custom_banner.png`); - const customBannerImage = new Clutter.Image(); - customBannerImage.set_data(customBanner.get_pixels(), Cogl.PixelFormat.RGB_888, - customBanner.width, customBanner.height, customBanner.rowstride); - this.customBannerContent = Clutter.TextureContent.new_from_texture(customBannerImage.get_texture(), bannerTextureClippingRect); - - this.bannerActor = new Clutter.Actor({ - width: calibratingBanner.width, - height: calibratingBanner.height, - reactive: false - }); - this.bannerActor.set_position( - (this.target_monitor.width - this.bannerActor.width) / 2, - this.target_monitor.height * 0.75 - this.bannerActor.height / 2 - ); - this.bannerActor.set_content(this.custom_banner_enabled ? this.customBannerContent : this.bannerContent); - this.bannerActor.hide(); + this.bannerActor = new Clutter.Actor({ + width: calibratingBanner.width, + height: calibratingBanner.height, + reactive: false + }); + this.bannerActor.set_position( + (this.target_monitor.width - this.bannerActor.width) / 2, + this.target_monitor.height * 0.75 - this.bannerActor.height / 2 + ); + this.bannerActor.set_content(this.custom_banner_enabled ? this.customBannerContent : this.bannerContent); + this.bannerActor.hide(); + } catch (e) { + Globals.logger.log(`ERROR: virtualdisplaysactor.js ${e.message}\n${e.stack}`); + } this.monitor_actors = []; } @@ -690,15 +687,17 @@ export const VirtualDisplaysActor = GObject.registerClass({ effect.connect('notify::is-closest', ((actor, _pspec) => { if (!this._is_disposed && actor.is_closest) { this.set_child_above_sibling(viewport, null); - if (this.show_banner) this.set_child_above_sibling(this.bannerActor, null); + if (this.show_banner && this.bannerActor) this.set_child_above_sibling(this.bannerActor, null); } }).bind(this)); }).bind(this)); - this.add_child(this.bannerActor); - if (this.show_banner) { - this.set_child_above_sibling(this.bannerActor, null); - this.bannerActor.show(); + if (this.bannerActor) { + this.add_child(this.bannerActor); + if (this.show_banner) { + this.set_child_above_sibling(this.bannerActor, null); + this.bannerActor.show(); + } } GLib.timeout_add(GLib.PRIORITY_DEFAULT, 250, (() => { @@ -852,11 +851,13 @@ export const VirtualDisplaysActor = GObject.registerClass({ } _handle_banner_update() { - if (this.show_banner) { - this.bannerActor.set_content(this.custom_banner_enabled ? this.customBannerContent : this.bannerContent); - this.bannerActor.show(); - } else { - this.bannerActor.hide(); + if (this.bannerActor) { + if (this.show_banner) { + this.bannerActor.set_content(this.custom_banner_enabled ? this.customBannerContent : this.bannerContent); + this.bannerActor.show(); + } else { + this.bannerActor.hide(); + } } } From 0b9ed6d4eece13e9e69bd1bee6229cb854bd692d Mon Sep 17 00:00:00 2001 From: wheaney <42350981+wheaney@users.noreply.github.com> Date: Thu, 6 Mar 2025 18:59:39 -0800 Subject: [PATCH 6/6] Bump to v2.0.1 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 359a5b9..10bf840 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.0.0 \ No newline at end of file +2.0.1 \ No newline at end of file