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