Merge branch 'remove-flatpak' into gnome-44-max

This commit is contained in:
wheaney 2024-10-02 13:59:55 -07:00
commit 3d5f91bbc7
52 changed files with 635 additions and 448 deletions

1
.gitignore vendored
View File

@ -2,7 +2,6 @@ build/
__pycache__ __pycache__
*.zip *.zip
gschemas.compiled gschemas.compiled
.flatpak-builder/
out/ out/
*.po~ *.po~
gnome-44-max/ gnome-44-max/

View File

@ -18,6 +18,7 @@ check_command() {
fi fi
} }
check_command "curl"
check_command "gnome-shell" check_command "gnome-shell"
ARCH=$(uname -m) ARCH=$(uname -m)

View File

@ -92,11 +92,13 @@ pushd $GNOME_DIR/src
GNOME_MANIFEST_LINE=$(find -L . -type f ! -name "*.compiled" -exec sha256sum {} \; | sort | sha256sum | sed 's/ .*//') GNOME_MANIFEST_LINE=$(find -L . -type f ! -name "*.compiled" -exec sha256sum {} \; | sort | sha256sum | sed 's/ .*//')
popd popd
FLATPAK_BUILD_ARTIFACT=ui/out/com.xronlinux.BreezyDesktop-$ARCH.flatpak UI_BUILD_ARTIFACT=ui/out/breezyUI-$ARCH.tar.gz
if [ ! -e "$FLATPAK_BUILD_ARTIFACT" ] || [ "$1" == "--rebuild-flatpak" ] || [ "$1" == "--rebuild-all" ]; then if [ ! -e "$UI_BUILD_ARTIFACT" ] || [ "$1" == "--rebuild-ui" ] || [ "$1" == "--rebuild-all" ]; then
ui/bin/package $ARCH pushd ui
bin/package $ARCH
popd
fi fi
cp $FLATPAK_BUILD_ARTIFACT $PACKAGE_DIR/com.xronlinux.BreezyDesktop.flatpak tar -xf $UI_BUILD_ARTIFACT -C $PACKAGE_DIR
# create manifest file for verifying installed file checksums against the originally packaged versions # create manifest file for verifying installed file checksums against the originally packaged versions
# include any file that doesn't get modified during setup (e.g. vkBasalt.json files) # include any file that doesn't get modified during setup (e.g. vkBasalt.json files)

View File

@ -271,7 +271,7 @@ index b9b5ebf..c888f94 100644
"settings-schema": "com.xronlinux.BreezyDesktop", "settings-schema": "com.xronlinux.BreezyDesktop",
"session-modes": ["user", "unlock-dialog"], "session-modes": ["user", "unlock-dialog"],
"shell-version": [ "shell-version": [
- "45", "46" - "45", "46", "47"
+ "42", "43", "44" + "42", "43", "44"
], ],
"url": "https://github.com/wheaney/breezy-desktop" "url": "https://github.com/wheaney/breezy-desktop"
@ -353,7 +353,7 @@ index 7883b9b..5478d2a 100644
} }
\ No newline at end of file \ No newline at end of file
diff --git a/gnome-44-max/src/xrEffect.js b/gnome-44-max/src/xrEffect.js diff --git a/gnome-44-max/src/xrEffect.js b/gnome-44-max/src/xrEffect.js
index 2680cae..bfb036f 100644 index aab805c..922ec0f 100644
--- a/gnome-44-max/src/xrEffect.js --- a/gnome-44-max/src/xrEffect.js
+++ b/gnome-44-max/src/xrEffect.js +++ b/gnome-44-max/src/xrEffect.js
@@ -1,13 +1,15 @@ @@ -1,13 +1,15 @@
@ -400,7 +400,7 @@ index 2680cae..bfb036f 100644
// the driver should be using the same data layout version // the driver should be using the same data layout version
const DATA_LAYOUT_VERSION = 3; const DATA_LAYOUT_VERSION = 3;
@@ -220,7 +222,7 @@ function checkParityByte(dataView) { @@ -221,7 +223,7 @@ function checkParityByte(dataView) {
return parityByte === parity; return parityByte === parity;
} }
@ -409,9 +409,9 @@ index 2680cae..bfb036f 100644
Properties: { Properties: {
'supported-device-detected': GObject.ParamSpec.boolean( 'supported-device-detected': GObject.ParamSpec.boolean(
'supported-device-detected', 'supported-device-detected',
@@ -360,8 +362,13 @@ export const XREffect = GObject.registerClass({ @@ -361,8 +363,13 @@ export const XREffect = GObject.registerClass({
if (!this._initialized) { if (!this._initialized) {
this.set_uniform_float(this.get_uniform_location('uDesktopTexture'), 1, [0]); this.set_uniform_float(this.get_uniform_location('screenTexture'), 1, [0]);
- this.get_pipeline().set_layer_texture(1, calibratingImage.get_texture()); - this.get_pipeline().set_layer_texture(1, calibratingImage.get_texture());
- this.get_pipeline().set_layer_texture(2, customBannerImage.get_texture()); - this.get_pipeline().set_layer_texture(2, customBannerImage.get_texture());
@ -422,6 +422,6 @@ index 2680cae..bfb036f 100644
+ } catch (e) { + } catch (e) {
+ Globals.logger.log(`ERROR: xrEffect.js vfunc_paint_target ${e.message}\n${e.stack}`); + Globals.logger.log(`ERROR: xrEffect.js vfunc_paint_target ${e.message}\n${e.stack}`);
+ } + }
this.get_pipeline().set_uniform_1i(this.get_uniform_location('uCalibratingTexture'), 1); this.get_pipeline().set_uniform_1i(this.get_uniform_location('calibratingTexture'), 1);
this.get_pipeline().set_uniform_1i(this.get_uniform_location('uCustomBannerTexture'), 2); this.get_pipeline().set_uniform_1i(this.get_uniform_location('customBannerTexture'), 2);

View File

@ -36,8 +36,12 @@ rm -rf $DATA_DIR
[ "$for_install" -eq 0 ] && echo "Uninstalling the breezydesktop@xronlinux.com GNOME extension" [ "$for_install" -eq 0 ] && echo "Uninstalling the breezydesktop@xronlinux.com GNOME extension"
gnome-extensions uninstall breezydesktop@xronlinux.com gnome-extensions uninstall breezydesktop@xronlinux.com
[ "$for_install" -eq 0 ] && echo "Uninstalling the Breezy Desktop UI Flatpak" [ "$for_install" -eq 0 ] && echo "Uninstalling the Breezy Desktop UI application"
flatpak uninstall --user --noninteractive --force-remove com.xronlinux.BreezyDesktop rm -rf $XDG_DATA_HOME/breezydesktop
rm -f $XDG_DATA_HOME/applications/com.xronlinux.BreezyDesktop.desktop
rm -f $XDG_DATA_HOME/icons/hicolor/*/apps/com.xronlinux.BreezyDesktop.png
rm -f $XDG_DATA_HOME/locale/*/LC_MESSAGES/breezydesktop.mo
rm -f $XDG_BIN_HOME/breezydesktop
[ "$for_install" -eq 0 ] && echo "Uninstalling XRLinuxDriver" [ "$for_install" -eq 0 ] && echo "Uninstalling XRLinuxDriver"
# if for-install # if for-install

View File

@ -9,9 +9,10 @@ check_command() {
fi fi
} }
check_command "flatpak"
check_command "gnome-extensions" check_command "gnome-extensions"
check_command "glib-compile-schemas" check_command "glib-compile-schemas"
check_command "update-desktop-database"
check_command "gtk-update-icon-cache"
# This script gets packaged with the release and should do the bulk of the setup work. This allows this setup to be tied # This script gets packaged with the release and should do the bulk of the setup work. This allows this setup to be tied
# to a specific release of the code, and guarantees it will never run along-side newer or older binaries. # to a specific release of the code, and guarantees it will never run along-side newer or older binaries.
@ -23,12 +24,11 @@ if [ -z "$XDG_DATA_HOME" ]; then
fi fi
XR_DRIVER_DATA_DIR="$XDG_DATA_HOME/xr_driver" XR_DRIVER_DATA_DIR="$XDG_DATA_HOME/xr_driver"
GNOME_SHELL_DATA_DIR="$XDG_DATA_HOME/gnome-shell" GNOME_SHELL_DATA_DIR="$XDG_DATA_HOME/gnome-shell"
DATA_DIR="$XDG_DATA_HOME/breezy_gnome" BREEZY_GNOME_DATA_DIR="$XDG_DATA_HOME/breezy_gnome"
if [ -z "$XDG_BIN_HOME" ]; then if [ -z "$XDG_BIN_HOME" ]; then
XDG_BIN_HOME="$USER_HOME/.local/bin" XDG_BIN_HOME="$USER_HOME/.local/bin"
fi fi
BIN_DIR="$XDG_BIN_HOME"
if [ -d "$XDG_BIN_HOME" ]; then if [ -d "$XDG_BIN_HOME" ]; then
# check ownership and permissions before doing chown and chmod # check ownership and permissions before doing chown and chmod
@ -60,33 +60,42 @@ UA_EVENT_VERSION="$1"
#INJECT_UA_CALL #INJECT_UA_CALL
# escaping sed replace: https://stackoverflow.com/questions/407523/escape-a-string-for-a-sed-replace-pattern # escaping sed replace: https://stackoverflow.com/questions/407523/escape-a-string-for-a-sed-replace-pattern
ESCAPED_BIN_DIR=$(printf '%s\n' "$BIN_DIR" | sed -e 's/[\/&]/\\&/g') ESCAPED_XDG_BIN_HOME=$(printf '%s\n' "$XDG_BIN_HOME" | sed -e 's/[\/&]/\\&/g')
ESCAPED_DATA_DIR=$(printf '%s\n' "$DATA_DIR" | sed -e 's/[\/&]/\\&/g') ESCAPED_BREEZY_GNOME_DATA_DIR=$(printf '%s\n' "$BREEZY_GNOME_DATA_DIR" | sed -e 's/[\/&]/\\&/g')
ESCAPED_XR_DRIVER_DATA_DIR=$(printf '%s\n' "$XR_DRIVER_DATA_DIR" | sed -e 's/[\/&]/\\&/g') ESCAPED_XR_DRIVER_DATA_DIR=$(printf '%s\n' "$XR_DRIVER_DATA_DIR" | sed -e 's/[\/&]/\\&/g')
ESCAPED_GNOME_SHELL_DATA_DIR=$(printf '%s\n' "$GNOME_SHELL_DATA_DIR" | sed -e 's/[\/&]/\\&/g') ESCAPED_GNOME_SHELL_DATA_DIR=$(printf '%s\n' "$GNOME_SHELL_DATA_DIR" | sed -e 's/[\/&]/\\&/g')
echo "Copying the breezy_gnome scripts to ${XDG_BIN_HOME}" echo "Copying the breezy_gnome scripts to ${XDG_BIN_HOME}"
mkdir -p $XDG_BIN_HOME mkdir -p $XDG_BIN_HOME
cp bin/breezy_gnome_uninstall $XDG_BIN_HOME cp bin/breezy_gnome_uninstall $XDG_BIN_HOME
sed -i -e "s/{bin_dir}/$ESCAPED_BIN_DIR/g" \ sed -i -e "s/{bin_dir}/$ESCAPED_XDG_BIN_HOME/g" \
-e "s/{data_dir}/$ESCAPED_DATA_DIR/g" \ -e "s/{data_dir}/$ESCAPED_BREEZY_GNOME_DATA_DIR/g" \
-e "s/{xr_driver_data_dir}/$ESCAPED_XR_DRIVER_DATA_DIR/g" \ -e "s/{xr_driver_data_dir}/$ESCAPED_XR_DRIVER_DATA_DIR/g" \
-e "s/{gnome_shell_data_dir}/$ESCAPED_GNOME_SHELL_DATA_DIR/g" \ -e "s/{gnome_shell_data_dir}/$ESCAPED_GNOME_SHELL_DATA_DIR/g" \
bin/breezy_gnome_verify bin/breezy_gnome_verify
cp bin/breezy_gnome_verify $XDG_BIN_HOME cp bin/breezy_gnome_verify $XDG_BIN_HOME
echo "Copying the manifest file to ${DATA_DIR}" echo "Copying the manifest file to ${BREEZY_GNOME_DATA_DIR}"
mkdir -p $DATA_DIR mkdir -p $BREEZY_GNOME_DATA_DIR
cp manifest $DATA_DIR cp manifest $BREEZY_GNOME_DATA_DIR
EXTENSION_UUID="breezydesktop@xronlinux.com" EXTENSION_UUID="breezydesktop@xronlinux.com"
echo "Installing the $EXTENSION_UUID GNOME extension" echo "Installing the $EXTENSION_UUID GNOME extension"
gnome-extensions install --force "$EXTENSION_UUID.shell-extension.zip" gnome-extensions install --force "$EXTENSION_UUID.shell-extension.zip"
glib-compile-schemas "$GNOME_SHELL_DATA_DIR/extensions/$EXTENSION_UUID/schemas" glib-compile-schemas "$GNOME_SHELL_DATA_DIR/extensions/$EXTENSION_UUID/schemas"
echo "Installing the Breezy Desktop UI Flatpak (this may take a couple minutes the first time)" echo "Installing the Breezy Desktop UI application"
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo cp -r breezy_ui/data/* $XDG_DATA_HOME
flatpak install --user --noninteractive --reinstall com.xronlinux.BreezyDesktop.flatpak cp -r breezy_ui/bin/* $XDG_BIN_HOME
# update copied files to use the local XDG paths
ESCAPED_XDG_DATA_HOME=$(printf '%s\n' "$XDG_DATA_HOME" | sed -e 's/[\/&]/\\&/g')
sed -i -e "s/\/usr\/local\/share/$ESCAPED_XDG_DATA_HOME/g" $XDG_BIN_HOME/breezydesktop
sed -i "/Exec/c\Exec=$XDG_BIN_HOME/breezydesktop" $XDG_DATA_HOME/applications/com.xronlinux.BreezyDesktop.desktop
glib-compile-schemas $XDG_DATA_HOME/glib-2.0/schemas
update-desktop-database $XDG_DATA_HOME/applications
gtk-update-icon-cache
# set up the XR driver using the local binary # set up the XR driver using the local binary
echo "Installing xrDriver" echo "Installing xrDriver"

View File

@ -57,6 +57,8 @@ class BreezyDesktopExtension {
this._disable_anti_aliasing_binding = null; this._disable_anti_aliasing_binding = null;
this._optimal_monitor_config_binding = null; this._optimal_monitor_config_binding = null;
this._headset_as_primary_binding = null; this._headset_as_primary_binding = null;
this._actor_added_connection = null;
this._actor_removed_connection = null;
if (!Globals.logger) { if (!Globals.logger) {
Globals.logger = new Logger({ Globals.logger = new Logger({
@ -264,8 +266,19 @@ class BreezyDesktopExtension {
this._overlay.set_child(overlayContent); this._overlay.set_child(overlayContent);
global.stage.insert_child_above(this._overlay, null);
Shell.util_set_hidden_from_pick(this._overlay, true); Shell.util_set_hidden_from_pick(this._overlay, true);
global.stage.add_child(this._overlay);
// In GS 45, use of "actor" was renamed to "child".
const clutterContainer = Clutter.Container !== undefined;
this._actor_added_connection = global.stage.connect(
clutterContainer ? 'actor-added' : 'child-added',
this._handle_sibling_update.bind(this),
);
this._actor_removed_connection = global.stage.connect(
clutterContainer ? 'actor-removed' : 'child-removed',
this._handle_sibling_update.bind(this),
);
this._xr_effect = new XREffect({ this._xr_effect = new XREffect({
target_monitor: targetMonitor, target_monitor: targetMonitor,
@ -311,6 +324,11 @@ class BreezyDesktopExtension {
} }
} }
_handle_sibling_update() {
Globals.logger.log_debug('BreezyDesktopExtension _handle_sibling_update()');
global.stage.set_child_above_sibling(this._overlay, null);
}
_add_settings_keybinding(settings_key, bind_to_function) { _add_settings_keybinding(settings_key, bind_to_function) {
try { try {
Main.wm.addKeybinding( Main.wm.addKeybinding(
@ -495,6 +513,14 @@ class BreezyDesktopExtension {
Main.wm.removeKeybinding('toggle-follow-shortcut'); Main.wm.removeKeybinding('toggle-follow-shortcut');
Meta.enable_unredirect_for_display(global.display); Meta.enable_unredirect_for_display(global.display);
if (this._actor_added_connection) {
global.stage.disconnect(this._actor_added_connection);
this._actor_added_connection = null;
}
if (this._actor_removed_connection) {
global.stage.disconnect(this._actor_removed_connection);
this._actor_removed_connection = null;
}
if (this._overlay) { if (this._overlay) {
if (this._xr_effect) this._xr_effect.cleanup(); if (this._xr_effect) this._xr_effect.cleanup();
this._overlay.remove_effect_by_name('xr-desktop'); this._overlay.remove_effect_by_name('xr-desktop');

View File

@ -49,7 +49,7 @@ const DATA_VIEW_LENGTH = dataViewEnd(IMU_PARITY_BYTE);
// cached after first retrieval // cached after first retrieval
const shaderUniformLocations = { const shaderUniformLocations = {
'enabled': null, 'virtual_display_enabled': null,
'show_banner': null, 'show_banner': null,
'imu_quat_data': null, 'imu_quat_data': null,
'look_ahead_cfg': null, 'look_ahead_cfg': null,
@ -69,7 +69,13 @@ const shaderUniformLocations = {
'fov_widths': null, 'fov_widths': null,
'display_resolution': null, 'display_resolution': null,
'source_to_display_ratio': null, 'source_to_display_ratio': null,
'curved_display': null 'curved_display': null,
// only used by the reshade integration, but needs to be set to a default value by this effect
'frametime': null,
'sideview_enabled': null,
'sideview_position': null,
'sideview_display_size': null
}; };
function setUniformFloat(effect, locationName, dataViewInfo, value) { function setUniformFloat(effect, locationName, dataViewInfo, value) {
@ -198,6 +204,11 @@ function setIntermittentUniformVariables() {
setSingleFloat(this, 'show_banner', imuResetState ? 1.0 : 0.0); setSingleFloat(this, 'show_banner', imuResetState ? 1.0 : 0.0);
setSingleFloat(this, 'sbs_enabled', sbsEnabled ? 1.0 : 0.0); setSingleFloat(this, 'sbs_enabled', sbsEnabled ? 1.0 : 0.0);
setSingleFloat(this, 'custom_banner_enabled', dataViewUint8(dataView, CUSTOM_BANNER_ENABLED) !== 0 ? 1.0 : 0.0); setSingleFloat(this, 'custom_banner_enabled', dataViewUint8(dataView, CUSTOM_BANNER_ENABLED) !== 0 ? 1.0 : 0.0);
setSingleFloat(this, 'frametime', 0.0);
setSingleFloat(this, 'sideview_enabled', 0.0);
setSingleFloat(this, 'sideview_position', 0.0);
setSingleFloat(this, 'sideview_display_size', 1.0);
this.set_uniform_float(shaderUniformLocations['display_resolution'], 2, displayRes); this.set_uniform_float(shaderUniformLocations['display_resolution'], 2, displayRes);
this.set_uniform_float(shaderUniformLocations['source_to_display_ratio'], 2, [this.target_monitor.width/displayRes[0], this.target_monitor.height/displayRes[1]]); this.set_uniform_float(shaderUniformLocations['source_to_display_ratio'], 2, [this.target_monitor.width/displayRes[0], this.target_monitor.height/displayRes[1]]);
@ -349,7 +360,7 @@ var XREffect = GObject.registerClass({
vfunc_build_pipeline() { vfunc_build_pipeline() {
const code = getShaderSource(`${Globals.extension_dir}/Sombrero.frag`); const code = getShaderSource(`${Globals.extension_dir}/Sombrero.frag`);
const main = 'PS_Sombrero(true, false, source_to_display_ratio, show_banner, cogl_tex_coord_in[0].xy, cogl_color_out);'; const main = 'PS_Sombrero(virtual_display_enabled, false, source_to_display_ratio, show_banner, cogl_tex_coord_in[0].xy, cogl_color_out);';
this.add_glsl_snippet(Shell.SnippetHook.FRAGMENT, code, main, false); this.add_glsl_snippet(Shell.SnippetHook.FRAGMENT, code, main, false);
} }

@ -1 +1 @@
Subproject commit d7415dc00a29afb5db844fd5867de4f0cc09d85d Subproject commit 70b9af0a0f706430f70d5421ebb1179930c548c7

@ -1 +1 @@
Subproject commit 46b99881e066fdc8a90b36dd9f83cc9894ecffa0 Subproject commit 5a7ddc2c18df268476dd123b9af84091e3bf49bb

View File

@ -6,30 +6,60 @@ set -e
ARCH=${ARCH:-$(uname -m)} ARCH=${ARCH:-$(uname -m)}
echo "Building Breezy UI for $ARCH" echo "Building Breezy UI for $ARCH"
check_command() { BUILD_PATH=build
if ! command -v "$1" &>/dev/null; then UI_BUILD_PATH=$BUILD_PATH/ui
echo "Please install \"$1\" and make sure it's available in your \$PATH" PACKAGE_DIR=$BUILD_PATH/breezy_ui
exit 1 mkdir -p $UI_BUILD_PATH
fi mkdir -p $PACKAGE_DIR
}
check_command "flatpak" meson setup $UI_BUILD_PATH
check_command "flatpak-builder" pushd $UI_BUILD_PATH
meson compile
popd
# https://stackoverflow.com/a/246128 # mimick the XDG directory structure in our archive file so setup can just copy the directories and not individual files
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) PACKAGE_DATA_DIR=$PACKAGE_DIR/data
PACKAGE_BIN_DIR=$PACKAGE_DIR/bin
TMP_DIR=$(mktemp -d --tmpdir=$SCRIPT_DIR/.. -t .breezy-ui-flatpak-XXXXXXXXXX) # these are all subdirectories of XDG_DATA_HOME
OUT_DIR=$SCRIPT_DIR/../out PACKAGE_BREEZY_DIR=$PACKAGE_DATA_DIR/breezydesktop
mkdir -p $OUT_DIR PACKAGE_BREEZY_SRC_DIR=$PACKAGE_BREEZY_DIR/breezydesktop
PACKAGE_ICONS_DIR=$PACKAGE_DATA_DIR/icons/hicolor
PACKAGE_LOCALE_DIR=$PACKAGE_DATA_DIR/locale
PACKAGE_APPS_DIR=$PACKAGE_DATA_DIR/applications
PACKAGE_SCHEMAS_DIR=$PACKAGE_DATA_DIR/glib-2.0/schemas
BUILD_ARTIFACT=$OUT_DIR/com.xronlinux.BreezyDesktop-$ARCH.flatpak mkdir -p $PACKAGE_BIN_DIR
if [ -e "$BUILD_ARTIFACT" ]; then mkdir -p $PACKAGE_BREEZY_SRC_DIR
rm $BUILD_ARTIFACT mkdir -p $PACKAGE_ICONS_DIR
fi mkdir -p $PACKAGE_LOCALE_DIR
mkdir -p $PACKAGE_APPS_DIR
mkdir -p $PACKAGE_SCHEMAS_DIR
flatpak-builder --arch $ARCH --disable-rofiles-fuse --disable-cache --force-clean --delete-build-dirs --user $TMP_DIR/build $SCRIPT_DIR/../com.xronlinux.BreezyDesktop.json cp src/*.py $PACKAGE_BREEZY_SRC_DIR
flatpak build-export --arch $ARCH $TMP_DIR/export $TMP_DIR/build cp -L modules/PyXRLinuxDriverIPC/xrdriveripc.py $PACKAGE_BREEZY_SRC_DIR
flatpak build-bundle --arch $ARCH $TMP_DIR/export $BUILD_ARTIFACT com.xronlinux.BreezyDesktop --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo cp $UI_BUILD_PATH/src/breezydesktop.gresource $PACKAGE_BREEZY_DIR
cp -r po/mo/* $PACKAGE_LOCALE_DIR
cp data/com.xronlinux.BreezyDesktop.gschema.xml $PACKAGE_SCHEMAS_DIR
cp $UI_BUILD_PATH/src/breezydesktop $PACKAGE_BIN_DIR
cp $UI_BUILD_PATH/data/com.xronlinux.BreezyDesktop.desktop $PACKAGE_APPS_DIR
rm -rf "$TMP_DIR" mkdir -p $PACKAGE_ICONS_DIR/64x64/apps
mkdir -p $PACKAGE_ICONS_DIR/128x128/apps
mkdir -p $PACKAGE_ICONS_DIR/256x256/apps
mkdir -p $PACKAGE_ICONS_DIR/1024x1024/apps
rsvg-convert data/icons/hicolor/scalable/apps/com.xronlinux.BreezyDesktop.svg -w 64 -h 64 -o $PACKAGE_ICONS_DIR/64x64/apps/com.xronlinux.BreezyDesktop.png
rsvg-convert data/icons/hicolor/scalable/apps/com.xronlinux.BreezyDesktop.svg -w 128 -h 128 -o $PACKAGE_ICONS_DIR/128x128/apps/com.xronlinux.BreezyDesktop.png
rsvg-convert data/icons/hicolor/scalable/apps/com.xronlinux.BreezyDesktop.svg -w 256 -h 256 -o $PACKAGE_ICONS_DIR/256x256/apps/com.xronlinux.BreezyDesktop.png
rsvg-convert data/icons/hicolor/scalable/apps/com.xronlinux.BreezyDesktop.svg -w 1024 -h 1024 -o $PACKAGE_ICONS_DIR/1024x1024/apps/com.xronlinux.BreezyDesktop.png
pushd $BUILD_PATH
tar -zcvf breezyUI-$ARCH.tar.gz breezy_ui
popd
mkdir -p out
cp $BUILD_PATH/breezyUI-$ARCH.tar.gz out/
rm -rf $BUILD_PATH

View File

@ -13,7 +13,7 @@ for file in po/*.po; do
msgmerge --update "po/$lang.po" po/breezydesktop.pot msgmerge --update "po/$lang.po" po/breezydesktop.pot
outdir="po/$lang/LC_MESSAGES" outdir="po/mo/$lang/LC_MESSAGES"
mkdir -p "$outdir" mkdir -p "$outdir"
msgfmt -o "$outdir/breezydesktop.mo" "$file" msgfmt -o "$outdir/breezydesktop.mo" "$file"
done done

View File

@ -1,23 +0,0 @@
diff --git a/engine/dconf-engine-source-user.c b/engine/dconf-engine-source-user.c
index 1657875..e4f8786 100644
--- a/engine/dconf-engine-source-user.c
+++ b/engine/dconf-engine-source-user.c
@@ -39,11 +39,17 @@ dconf_engine_source_user_open_gvdb (const gchar *name)
{
GvdbTable *table;
gchar *filename;
+ const gchar *override;
+
+ override = g_getenv ("DCONF_USER_CONFIG_DIR");
+ if (override == NULL)
+ filename = g_build_filename (g_get_user_config_dir (), "dconf", name, NULL);
+ else
+ filename = g_build_filename (g_get_home_dir (), override, name, NULL);
/* This can fail in the normal case of the user not having any
* settings. That's OK and it shouldn't be considered as an error.
*/
- filename = g_build_filename (g_get_user_config_dir (), "dconf", name, NULL);
table = gvdb_table_new (filename, FALSE, NULL);
g_free (filename);

View File

@ -1,69 +0,0 @@
#!/usr/bin/env bash
# stolen from dconf-editor:
# https://gitlab.gnome.org/GNOME/dconf-editor/-/blob/master/build-aux/start-dconf-editor.sh
IFS=: read -ra host_data_dirs < <(flatpak-spawn --host sh -c 'echo "$XDG_DATA_DIRS"')
IFS=: read -ra HOST_XDG_STATE_HOME < <(flatpak-spawn --host sh -c 'echo "$XDG_STATE_HOME"')
IFS=: read -ra HOST_XDG_CONFIG_HOME < <(flatpak-spawn --host sh -c 'echo "$XDG_CONFIG_HOME"')
IFS=: read -ra HOST_XDG_BIN_HOME < <(flatpak-spawn --host sh -c 'echo "$XDG_BIN_HOME"')
IFS=: read -ra HOST_XDG_DATA_HOME < <(flatpak-spawn --host sh -c 'echo "$XDG_DATA_HOME"')
# To avoid potentially muddying up $XDG_DATA_DIRS too much, we link the schema paths
# into a temporary directory.
bridge_dir=$XDG_RUNTIME_DIR/dconf-bridge
mkdir -p "$bridge_dir"
HOST_XDG_DATA_DIRS=""
for dir in "${host_data_dirs[@]}"; do
if [[ "$dir" == /usr/* ]]; then
dir=/run/host/"$dir"
fi
schemas="$dir/glib-2.0/schemas"
if [[ -d "$schemas" ]]; then
bridged=$(mktemp -d XXXXXXXXXX -p "$bridge_dir")
mkdir -p "$bridged"/glib-2.0
ln -s "$schemas" "$bridged"/glib-2.0
HOST_XDG_DATA_DIRS="${HOST_XDG_DATA_DIRS}:${bridged}"
fi
done
# We MUST prepend the host's data dirs BEFORE the Flatpak environment's own dirs,
# otherwise data (such as default values) load in the wrong order and would then
# incorrectly prefer the Flatpak's internal defaults instead of the host's defaults!
if [[ ! -z "${HOST_XDG_DATA_DIRS}" ]]; then
XDG_DATA_DIRS="${HOST_XDG_DATA_DIRS:1}:${XDG_DATA_DIRS}"
fi
if [[ ! -z "${HOST_XDG_BIN_HOME}" ]]; then
XDG_BIN_HOME="${HOST_XDG_BIN_HOME}"
else
XDG_BIN_HOME="$(realpath ~)/.local/bin"
fi
if [[ ! -z "${HOST_XDG_STATE_HOME}" ]]; then
XDG_STATE_HOME="${HOST_XDG_STATE_HOME}"
else
XDG_STATE_HOME="$(realpath ~)/.local/state"
fi
if [[ ! -z "${HOST_XDG_CONFIG_HOME}" ]]; then
XDG_CONFIG_HOME="${HOST_XDG_CONFIG_HOME}"
else
XDG_CONFIG_HOME="$(realpath ~)/.config"
fi
if [[ ! -z "${HOST_XDG_DATA_HOME}" ]]; then
XDG_DATA_HOME="${HOST_XDG_DATA_HOME}"
else
XDG_DATA_HOME="$(realpath ~)/.local/share"
fi
export XDG_DATA_DIRS
export XDG_BIN_HOME
export XDG_STATE_HOME
export XDG_CONFIG_HOME
export XDG_DATA_HOME
exec breezydesktop "$@"

View File

@ -1,86 +0,0 @@
{
"id" : "com.xronlinux.BreezyDesktop",
"runtime" : "org.gnome.Platform",
"runtime-version" : "46",
"sdk" : "org.gnome.Sdk",
"command" : "breezydesktop",
"finish-args" : [
"--share=network",
"--share=ipc",
"--socket=fallback-x11",
"--device=dri",
"--socket=wayland",
"--device=shm",
"--talk-name=ca.desrt.dconf",
"--filesystem=xdg-run/dconf",
"--filesystem=host",
"--env=DCONF_USER_CONFIG_DIR=.config/dconf",
"--env=GIO_EXTRA_MODULES=/app/lib/gio/modules/",
"--talk-name=org.freedesktop.Flatpak",
"--talk-name=org.gnome.Shell.Extensions"
],
"cleanup" : [
"/include",
"/lib/pkgconfig",
"/man",
"/share/doc",
"/share/gtk-doc",
"/share/man",
"/share/pkgconfig",
"*.la",
"*.a"
],
"modules" : [
"python3-pydbus.json",
{
"name": "dconf",
"buildsystem": "meson",
"config-opts": [
"-Dbash_completion=false",
"-Dman=false",
"-Dsystemduserunitdir=' '"
],
"cleanup": [
"/include",
"/lib/pkgconfig",
"/libexec",
"/share/dbus-1"
],
"sources": [
{
"type": "archive",
"url": "https://download.gnome.org/sources/dconf/0.40/dconf-0.40.0.tar.xz",
"sha256": "cf7f22a4c9200421d8d3325c5c1b8b93a36843650c9f95d6451e20f0bcb24533"
},
{
"type": "patch",
"path": "build-aux/dconf-override.patch"
}
]
},
{
"name": "scripts",
"buildsystem": "simple",
"build-commands": [
"install -Dm 755 start-breezy-desktop.sh /app/bin/start-breezy-desktop"
],
"sources": [
{
"type": "file",
"path": "build-aux/start-breezy-desktop.sh"
}
]
},
{
"name" : "breezydesktop",
"builddir" : true,
"buildsystem" : "meson",
"sources" : [
{
"type" : "dir",
"path" : "."
}
]
}
]
}

View File

@ -1,6 +1,6 @@
[Desktop Entry] [Desktop Entry]
Name=Breezy Desktop Name=Breezy Desktop
Exec=start-breezy-desktop Exec=breezydesktop
Icon=com.xronlinux.BreezyDesktop Icon=com.xronlinux.BreezyDesktop
Terminal=false Terminal=false
Type=Application Type=Application

View File

@ -0,0 +1,26 @@
# To run the build from the package root:
# docker buildx build --platform linux/amd64,linux/arm64 -f ./docker-build/Dockerfile -t "breezy-ui" .
# docker run --rm -t -v ./:/source -v --platform linux/amd64 "breezy-ui:amd64"
# docker run --rm -t -v ./:/source -v --platform linux/arm64 "breezy-ui:arm64"
FROM --platform=$TARGETPLATFORM debian:latest
ARG TARGETPLATFORM
RUN echo "Target platform: $TARGETPLATFORM"
RUN apt-get update && apt-get install -y \
build-essential \
meson \
ninja-build \
librsvg2-bin \
libglib2.0-dev \
libgtk-4-common \
libgtk-4-bin \
gtk-update-icon-cache \
desktop-file-utils \
gettext \
appstream
WORKDIR /source
CMD bin/package

22
ui/docker-build/init.sh Executable file
View File

@ -0,0 +1,22 @@
#!/bin/bash
# might be needed on a fresh docker setup:
# install qemu and qemu-user-static packages
# sudo docker context rm default
# docker run --privileged --rm tonistiigi/binfmt --install all
# sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
# ls -l /proc/sys/fs/binfmt_misc/ # should contain qemu-<arch> files
if [[ "$1" == "--init" || ! $(docker buildx inspect breezyuibuilder &>/dev/null; echo $?) -eq 0 ]]; then
# start fresh
echo "Creating new docker builder instance"
docker buildx rm breezyuibuilder 2>/dev/null || true
docker buildx create --use --name breezyuibuilder --driver docker-container --driver-opt image=moby/buildkit:latest
else
echo "Using existing docker builder instance"
docker buildx use breezyuibuilder
fi
echo "Building docker image"
docker buildx build --platform linux/amd64 -f ./docker-build/Dockerfile -t "breezy-ui:amd64" --load .
docker buildx build --platform linux/arm64 -f ./docker-build/Dockerfile -t "breezy-ui:arm64" --load .

22
ui/docker-build/run-build.sh Executable file
View File

@ -0,0 +1,22 @@
#!/bin/bash
set -e
USER=${SUDO_USER:-$USER}
GROUP=$(id -gn $USER)
# Run containers for each architecture
if [[ "$1" == "x86_64" || -z "$1" ]]; then
sudo rm -rf build/
docker run --rm -t -v ./:/source --platform linux/amd64 "breezy-ui:amd64"
sudo chown -R $USER:$GROUP out/
fi
if [[ "$1" == "aarch64" || -z "$1" ]]; then
sudo rm -rf build/
docker run --rm -t -v ./:/source --platform linux/arm64 "breezy-ui:arm64"
sudo chown -R $USER:$GROUP out/
fi
# build directory structure is all owned by root because of docker, delete it all now
sudo rm -rf build/

View File

@ -1,5 +1,5 @@
project('breezydesktop', project('breezydesktop',
version: '0.11.0', version: '1.0.0',
meson_version: '>= 0.62.0', meson_version: '>= 0.62.0',
default_options: [ 'warning_level=2', 'werror=false', ], default_options: [ 'warning_level=2', 'werror=false', ],
) )
@ -7,8 +7,6 @@ project('breezydesktop',
i18n = import('i18n') i18n = import('i18n')
gnome = import('gnome') gnome = import('gnome')
subdir('data') subdir('data')
subdir('src') subdir('src')
subdir('po') subdir('po')

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-15 15:36-0700\n" "POT-Creation-Date: 2024-10-02 09:15-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -27,11 +27,11 @@ msgstr ""
msgid "This feature is not currently supported for your device." msgid "This feature is not currently supported for your device."
msgstr "" msgstr ""
#: src/licensedialog.py:49 #: src/licensedialog.py:57
msgid "Paid Tier Status" msgid "Paid Tier Status"
msgstr "" msgstr ""
#: src/licensedialog.py:57 #: src/licensedialog.py:63
msgid "Feature Availability" msgid "Feature Availability"
msgstr "" msgstr ""
@ -313,6 +313,14 @@ msgstr ""
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: src/gtk/connected-device.ui:396
msgid "Text Scaling"
msgstr ""
#: src/gtk/connected-device.ui:397
msgid "Scaling text below 1.0 will simulate a higher resolution display"
msgstr ""
#: src/gtk/failed-verification.ui:13 #: src/gtk/failed-verification.ui:13
msgid "Breezy Desktop GNOME invalid setup" msgid "Breezy Desktop GNOME invalid setup"
msgstr "" msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-16 08:38-0700\n" "POT-Creation-Date: 2024-10-01 13:21-0700\n"
"PO-Revision-Date: 2024-08-02 20:54-0700\n" "PO-Revision-Date: 2024-08-02 20:54-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n" "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
@ -29,11 +29,11 @@ msgstr ""
msgid "This feature is not currently supported for your device." msgid "This feature is not currently supported for your device."
msgstr "Diese Funktion wird von Ihrem Gerät derzeit nicht unterstützt." msgstr "Diese Funktion wird von Ihrem Gerät derzeit nicht unterstützt."
#: src/licensedialog.py:49 #: src/licensedialog.py:57
msgid "Paid Tier Status" msgid "Paid Tier Status"
msgstr "Bezahlter Tarifstatus" msgstr "Bezahlter Tarifstatus"
#: src/licensedialog.py:57 #: src/licensedialog.py:63
msgid "Feature Availability" msgid "Feature Availability"
msgstr "Funktionsverfügbarkeit" msgstr "Funktionsverfügbarkeit"
@ -175,8 +175,7 @@ msgstr "Folgemodus"
#: src/gtk/connected-device.ui:67 #: src/gtk/connected-device.ui:67
msgid "Keep the virtual display near the center of your view." msgid "Keep the virtual display near the center of your view."
msgstr "" msgstr "Halten Sie das virtuelle Display Nahe der Mitte Ihres Blickfelds."
"Halten Sie das virtuelle Display Nahe der Mitte Ihres Blickfelds."
#: src/gtk/connected-device.ui:77 #: src/gtk/connected-device.ui:77
msgid "Curved display" msgid "Curved display"
@ -325,15 +324,23 @@ msgid ""
"time. Stick with default unless virtual display drags behind your head " "time. Stick with default unless virtual display drags behind your head "
"movements, jumps ahead, or is very shaky." "movements, jumps ahead, or is very shaky."
msgstr "" msgstr ""
"Wirkt Eingabeverzögerungen entgegen, indem die Kopfverfolgungsposition vor der " "Wirkt Eingabeverzögerungen entgegen, indem die Kopfverfolgungsposition vor "
"Renderzeit vorhergesagt wird. Bleiben Sie bei den Standardeinstellungen, es sei denn, das " "der Renderzeit vorhergesagt wird. Bleiben Sie bei den Standardeinstellungen, "
"virtuelle Display hängt hinter Ihren Kopfbewegungen hinterher, springt vor oder " "es sei denn, das virtuelle Display hängt hinter Ihren Kopfbewegungen "
"ist sehr wackelig." "hinterher, springt vor oder ist sehr wackelig."
#: src/gtk/connected-device.ui:384 #: src/gtk/connected-device.ui:384
msgid "Default" msgid "Default"
msgstr "Standard" msgstr "Standard"
#: src/gtk/connected-device.ui:396
msgid "Text Scaling"
msgstr ""
#: src/gtk/connected-device.ui:397
msgid "Scaling text below 1.0 will simulate a higher resolution display"
msgstr ""
#: src/gtk/failed-verification.ui:13 #: src/gtk/failed-verification.ui:13
msgid "Breezy Desktop GNOME invalid setup" msgid "Breezy Desktop GNOME invalid setup"
msgstr "Ungültige Breezy Desktop GNOME-Installation" msgstr "Ungültige Breezy Desktop GNOME-Installation"
@ -451,7 +458,9 @@ msgstr "Tastenkombination zuweisen"
#: src/gtk/shortcut-dialog.ui:20 #: src/gtk/shortcut-dialog.ui:20
msgid "Press your keyboard shortcut or 'Backspace' to disable..." msgid "Press your keyboard shortcut or 'Backspace' to disable..."
msgstr "Drücken Sie Ihre Tastenkombination oder die 'Rücktaste', um sie zu deaktivieren..." msgstr ""
"Drücken Sie Ihre Tastenkombination oder die 'Rücktaste', um sie zu "
"deaktivieren..."
#: src/gtk/window.ui:10 #: src/gtk/window.ui:10
msgid "Breezy Desktop" msgid "Breezy Desktop"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-15 15:19-0700\n" "POT-Creation-Date: 2024-10-01 13:21-0700\n"
"PO-Revision-Date: 2024-08-02 20:55-0700\n" "PO-Revision-Date: 2024-08-02 20:55-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n" "Language-Team: Spanish <es@tp.org.es>\n"
@ -21,17 +21,18 @@ msgstr ""
msgid "" msgid ""
"Switches your glasses into side-by-side mode and doubles the width of the " "Switches your glasses into side-by-side mode and doubles the width of the "
"display." "display."
msgstr "Cambia tus gafas al modo lado a lado y duplica el ancho de la pantalla." msgstr ""
"Cambia tus gafas al modo lado a lado y duplica el ancho de la pantalla."
#: src/connecteddevice.py:17 #: src/connecteddevice.py:17
msgid "This feature is not currently supported for your device." msgid "This feature is not currently supported for your device."
msgstr "Esta función no es compatible con tu dispositivo en este momento." msgstr "Esta función no es compatible con tu dispositivo en este momento."
#: src/licensedialog.py:49 #: src/licensedialog.py:57
msgid "Paid Tier Status" msgid "Paid Tier Status"
msgstr "Estado del Nivel de Membresía Pagada" msgstr "Estado del Nivel de Membresía Pagada"
#: src/licensedialog.py:57 #: src/licensedialog.py:63
msgid "Feature Availability" msgid "Feature Availability"
msgstr "Disponibilidad de Características" msgstr "Disponibilidad de Características"
@ -196,7 +197,8 @@ msgid ""
"Closer appears larger, further appears smaller. Controls depth when in " "Closer appears larger, further appears smaller. Controls depth when in "
"widescreen mode." "widescreen mode."
msgstr "" msgstr ""
"Más cerca parece más grande, más lejos parece más pequeño. Controla la profundidad cuando está en modo de pantalla ancha." "Más cerca parece más grande, más lejos parece más pequeño. Controla la "
"profundidad cuando está en modo de pantalla ancha."
#: src/gtk/connected-device.ui:123 #: src/gtk/connected-device.ui:123
msgid "Display size" msgid "Display size"
@ -207,7 +209,8 @@ msgid ""
"Combine with display distance to achieve a comfortable level of depth and " "Combine with display distance to achieve a comfortable level of depth and "
"size." "size."
msgstr "" msgstr ""
"Combínalo con la distancia de la pantalla para lograr un nivel cómodo de profundidad y tamaño." "Combínalo con la distancia de la pantalla para lograr un nivel cómodo de "
"profundidad y tamaño."
#: src/gtk/connected-device.ui:152 #: src/gtk/connected-device.ui:152
msgid "Display toggle distances" msgid "Display toggle distances"
@ -218,7 +221,8 @@ msgid ""
"Use the buttons to capture the current display distance for use with the " "Use the buttons to capture the current display distance for use with the "
"keyboard shortcut." "keyboard shortcut."
msgstr "" msgstr ""
"Utilice los botones para capturar la distancia actual de la pantalla para su uso con el método abreviado de teclado." "Utilice los botones para capturar la distancia actual de la pantalla para su "
"uso con el método abreviado de teclado."
#: src/gtk/connected-device.ui:178 #: src/gtk/connected-device.ui:178
msgid "Follow threshold" msgid "Follow threshold"
@ -274,7 +278,9 @@ msgid ""
"Automatically modify the glasses display configuration for maximum " "Automatically modify the glasses display configuration for maximum "
"resolution and best scaling when plugged in." "resolution and best scaling when plugged in."
msgstr "" msgstr ""
"Modifique automáticamente la configuración de pantalla de las gafas para obtener la máxima resolución y la mejor escalabilidad cuando estén enchufadas." "Modifique automáticamente la configuración de pantalla de las gafas para "
"obtener la máxima resolución y la mejor escalabilidad cuando estén "
"enchufadas."
#: src/gtk/connected-device.ui:332 #: src/gtk/connected-device.ui:332
msgid "Use highest refresh rate" msgid "Use highest refresh rate"
@ -282,7 +288,9 @@ msgstr "Utilizar la frecuencia de actualización más alta"
#: src/gtk/connected-device.ui:333 #: src/gtk/connected-device.ui:333
msgid "Refresh rate may affect performance, disable this to set it manually." 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." msgstr ""
"La frecuencia de actualización puede afectar el rendimiento, deshabilite "
"esto para configurarlo manualmente."
#: src/gtk/connected-device.ui:343 #: src/gtk/connected-device.ui:343
msgid "Always primary display" msgid "Always primary display"
@ -290,7 +298,8 @@ msgstr "Siempre como pantalla principal"
#: src/gtk/connected-device.ui:344 #: src/gtk/connected-device.ui:344
msgid "Automatically set the glasses as the primary display when plugged in." msgid "Automatically set the glasses as the primary display when plugged in."
msgstr "Automáticamente configurar las gafas como pantalla principal al enchufarse." msgstr ""
"Automáticamente configurar las gafas como pantalla principal al enchufarse."
#: src/gtk/connected-device.ui:354 #: src/gtk/connected-device.ui:354
msgid "Fast SBS mode switching" msgid "Fast SBS mode switching"
@ -301,7 +310,9 @@ msgid ""
"Switches glasses to SBS mode immediately when plugged in, if widescreen mode " "Switches glasses to SBS mode immediately when plugged in, if widescreen mode "
"is on. May cause instability." "is on. May cause instability."
msgstr "" msgstr ""
"Cambia las gafas al modo SBS (lado a lado) inmediatamente cuando se enchufan, si el modo de pantalla ancha está activado. Puede causar inestabilidad." "Cambia las gafas al modo SBS (lado a lado) inmediatamente cuando se "
"enchufan, si el modo de pantalla ancha está activado. Puede causar "
"inestabilidad."
#: src/gtk/connected-device.ui:365 #: src/gtk/connected-device.ui:365
msgid "Movement look-ahead" msgid "Movement look-ahead"
@ -313,12 +324,23 @@ msgid ""
"time. Stick with default unless virtual display drags behind your head " "time. Stick with default unless virtual display drags behind your head "
"movements, jumps ahead, or is very shaky." "movements, jumps ahead, or is very shaky."
msgstr "" msgstr ""
"Compensa el retraso de entrada al predecir la posición de seguimiento de la cabeza antes del tiempo de representación. Manténgase en el valor predeterminado a menos que la pantalla virtual se retrase detrás de los movimientos de la cabeza, se adelante o sea muy inestable." "Compensa el retraso de entrada al predecir la posición de seguimiento de la "
"cabeza antes del tiempo de representación. Manténgase en el valor "
"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:384 #: src/gtk/connected-device.ui:384
msgid "Default" msgid "Default"
msgstr "Predeterminado" msgstr "Predeterminado"
#: src/gtk/connected-device.ui:396
msgid "Text Scaling"
msgstr ""
#: src/gtk/connected-device.ui:397
msgid "Scaling text below 1.0 will simulate a higher resolution display"
msgstr ""
#: src/gtk/failed-verification.ui:13 #: src/gtk/failed-verification.ui:13
msgid "Breezy Desktop GNOME invalid setup" msgid "Breezy Desktop GNOME invalid setup"
msgstr "Configuración inválida de Breezy Desktop GNOME" msgstr "Configuración inválida de Breezy Desktop GNOME"
@ -328,7 +350,8 @@ msgid ""
"Your Breezy GNOME setup is invalid or incomplete. Please re-run the setup " "Your Breezy GNOME setup is invalid or incomplete. Please re-run the setup "
"script. Report this issue if it persists." "script. Report this issue if it persists."
msgstr "" msgstr ""
"Su configuración de Breezy GNOME es inválida o incompleta. Vuelva a ejecutar el script de configuración. Informe sobre este problema si persiste." "Su configuración de Breezy GNOME es inválida o incompleta. Vuelva a ejecutar "
"el script de configuración. Informe sobre este problema si persiste."
#: src/gtk/license-dialog.ui:5 src/gtk/window.ui:55 #: src/gtk/license-dialog.ui:5 src/gtk/window.ui:55
msgid "License Details" msgid "License Details"
@ -370,10 +393,12 @@ msgid ""
" " " "
msgstr "" msgstr ""
"\n" "\n"
" Si instaló a través de AUR, asegúrese de haber ejecutado el comando de instalación recomendado:\n" " Si instaló a través de AUR, asegúrese de haber ejecutado el comando de "
"instalación recomendado:\n"
" systemctl --user enable --now xr-driver.service\n" " systemctl --user enable --now xr-driver.service\n"
"\n" "\n"
" De lo contrario, por favor informe sobre el problema en GitHub, o cree un nuevo hilo en el canal #troubleshooting de Discord.\n" " De lo contrario, por favor informe sobre el problema en GitHub, o cree un "
"nuevo hilo en el canal #troubleshooting de Discord.\n"
" " " "
#: src/gtk/no-extension.ui:13 #: src/gtk/no-extension.ui:13
@ -385,7 +410,9 @@ msgid ""
"If you have just run the setup, then you may need to log out and back in to " "If you have just run the setup, then you may need to log out and back in to "
"use it. Otherwise, please follow the Breezy GNOME setup instructions." "use it. Otherwise, please follow the Breezy GNOME setup instructions."
msgstr "" msgstr ""
"Si acaba de ejecutar la configuración, es posible que deba cerrar sesión y volver a iniciar para usarla. De lo contrario, siga las instrucciones de configuración de Breezy GNOME." "Si acaba de ejecutar la configuración, es posible que deba cerrar sesión y "
"volver a iniciar para usarla. De lo contrario, siga las instrucciones de "
"configuración de Breezy GNOME."
#: src/gtk/no-license.ui:13 #: src/gtk/no-license.ui:13
msgid "No license file was found" msgid "No license file was found"
@ -407,12 +434,16 @@ msgid ""
" " " "
msgstr "" msgstr ""
"\n" "\n"
" La primera vez que use Breezy Desktop, se requiere una conexión a Internet para recuperar la licencia de su dispositivo.\n" " La primera vez que use Breezy Desktop, se requiere una conexión a Internet "
"para recuperar la licencia de su dispositivo.\n"
" \n" " \n"
" No se preocupe, no hay ninguna obligación de donar en este momento. Si no lo ha hecho, se le proporcionará una licencia de prueba para que pueda decidir si Breezy Desktop se ajusta a sus necesidades.\n" " No se preocupe, no hay ninguna obligación de donar en este momento. Si no "
"lo ha hecho, se le proporcionará una licencia de prueba para que pueda "
"decidir si Breezy Desktop se ajusta a sus necesidades.\n"
" \n" " \n"
" Una vez que obtenga una licencia, de prueba o de otro tipo, podrá utilizar Breezy Desktop sin conexión hasta que expiren las características (o indefinidamente, si ha elegido el acceso de por vida)." " Una vez que obtenga una licencia, de prueba o de otro tipo, podrá utilizar "
" " "Breezy Desktop sin conexión hasta que expiren las características (o "
"indefinidamente, si ha elegido el acceso de por vida). "
#: src/gtk/no-license.ui:27 #: src/gtk/no-license.ui:27
msgid "Try Again" msgid "Try Again"
@ -424,7 +455,9 @@ msgstr "Asignar método abreviado de teclado"
#: src/gtk/shortcut-dialog.ui:20 #: src/gtk/shortcut-dialog.ui:20
msgid "Press your keyboard shortcut or 'Backspace' to disable..." msgid "Press your keyboard shortcut or 'Backspace' to disable..."
msgstr "Presione su método abreviado de teclado o pulsa 'retroceso' para deshabilitar..." msgstr ""
"Presione su método abreviado de teclado o pulsa 'retroceso' para "
"deshabilitar..."
#: src/gtk/window.ui:10 #: src/gtk/window.ui:10
msgid "Breezy Desktop" msgid "Breezy Desktop"

View File

@ -5,10 +5,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-15 15:19-0700\n" "POT-Creation-Date: 2024-10-01 13:21-0700\n"
"PO-Revision-Date: 2024-08-02 20:54-0700\n" "PO-Revision-Date: 2024-08-02 20:54-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: French <traduc@traduc.org>\n" "Language-Team: French <traduc@traduc.org>\n"
@ -23,17 +22,20 @@ msgid ""
"Switches your glasses into side-by-side mode and doubles the width of the " "Switches your glasses into side-by-side mode and doubles the width of the "
"display." "display."
msgstr "" msgstr ""
"Basculez vos lunettes en mode Side-By-Side (Côte-à-Côte) et doublez la largeur de l'écran." "Basculez vos lunettes en mode Side-By-Side (Côte-à-Côte) et doublez la "
"largeur de l'écran."
#: src/connecteddevice.py:17 #: src/connecteddevice.py:17
msgid "This feature is not currently supported for your device." msgid "This feature is not currently supported for your device."
msgstr "Cette fonctionnalité n'est actuellement pas prise en charge par votre appareil." msgstr ""
"Cette fonctionnalité n'est actuellement pas prise en charge par votre "
"appareil."
#: src/licensedialog.py:49 #: src/licensedialog.py:57
msgid "Paid Tier Status" msgid "Paid Tier Status"
msgstr "Statut de l'abonnement payant" msgstr "Statut de l'abonnement payant"
#: src/licensedialog.py:57 #: src/licensedialog.py:63
msgid "Feature Availability" msgid "Feature Availability"
msgstr "Disponibilité des fonctionnalités" msgstr "Disponibilité des fonctionnalités"
@ -198,8 +200,8 @@ msgid ""
"Closer appears larger, further appears smaller. Controls depth when in " "Closer appears larger, further appears smaller. Controls depth when in "
"widescreen mode." "widescreen mode."
msgstr "" msgstr ""
"Plus proche apparaît plus grand, plus éloigné apparaît plus petit. Contrôle la " "Plus proche apparaît plus grand, plus éloigné apparaît plus petit. Contrôle "
"profondeur lorsque vous êtes en mode grand écran." "la profondeur lorsque vous êtes en mode grand écran."
#: src/gtk/connected-device.ui:123 #: src/gtk/connected-device.ui:123
msgid "Display size" msgid "Display size"
@ -210,8 +212,8 @@ msgid ""
"Combine with display distance to achieve a comfortable level of depth and " "Combine with display distance to achieve a comfortable level of depth and "
"size." "size."
msgstr "" msgstr ""
"Combinez avec la distance d'affichage pour obtenir un niveau de profondeur et " "Combinez avec la distance d'affichage pour obtenir un niveau de profondeur "
"de taille confortable." "et de taille confortable."
#: src/gtk/connected-device.ui:152 #: src/gtk/connected-device.ui:152
msgid "Display toggle distances" msgid "Display toggle distances"
@ -280,7 +282,8 @@ msgid ""
"resolution and best scaling when plugged in." "resolution and best scaling when plugged in."
msgstr "" msgstr ""
"Modifiez automatiquement la configuration d'affichage des lunettes pour une " "Modifiez automatiquement la configuration d'affichage des lunettes pour une "
"résolution maximale et une meilleure mise à l'échelle lorsque elles sont branchées." "résolution maximale et une meilleure mise à l'échelle lorsque elles sont "
"branchées."
#: src/gtk/connected-device.ui:332 #: src/gtk/connected-device.ui:332
msgid "Use highest refresh rate" msgid "Use highest refresh rate"
@ -288,7 +291,9 @@ msgstr "Utiliser le taux de rafraîchissement le plus élevé"
#: src/gtk/connected-device.ui:333 #: src/gtk/connected-device.ui:333
msgid "Refresh rate may affect performance, disable this to set it manually." 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." msgstr ""
"Un taux de rafraîchissement élevé peut affecter les performances, désactivez-"
"le pour le définir manuellement."
#: src/gtk/connected-device.ui:343 #: src/gtk/connected-device.ui:343
msgid "Always primary display" msgid "Always primary display"
@ -296,7 +301,9 @@ msgstr "Affichage principal en permanence"
#: src/gtk/connected-device.ui:344 #: src/gtk/connected-device.ui:344
msgid "Automatically set the glasses as the primary display when plugged in." 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." msgstr ""
"Définissez automatiquement les lunettes comme affichage principal "
"lorsqu'elles sont branchées."
#: src/gtk/connected-device.ui:354 #: src/gtk/connected-device.ui:354
msgid "Fast SBS mode switching" msgid "Fast SBS mode switching"
@ -307,8 +314,8 @@ msgid ""
"Switches glasses to SBS mode immediately when plugged in, if widescreen mode " "Switches glasses to SBS mode immediately when plugged in, if widescreen mode "
"is on. May cause instability." "is on. May cause instability."
msgstr "" msgstr ""
"Bascule les lunettes vers le mode SBS immédiatement lorsqu'elles sont branchées " "Bascule les lunettes vers le mode SBS immédiatement lorsqu'elles sont "
"si le mode grand écran est activé. Peut provoquer des instabilités." "branchées si le mode grand écran est activé. Peut provoquer des instabilités."
#: src/gtk/connected-device.ui:365 #: src/gtk/connected-device.ui:365
msgid "Movement look-ahead" msgid "Movement look-ahead"
@ -321,13 +328,21 @@ msgid ""
"movements, jumps ahead, or is very shaky." "movements, jumps ahead, or is very shaky."
msgstr "" msgstr ""
"Compense le lag d'entrée en prédisant la position de suivi de la tête avant " "Compense le lag d'entrée en prédisant la position de suivi de la tête avant "
"le temps de rendu. Restez sur la valeur par défaut à moins que l'affichage virtuel " "le temps de rendu. Restez sur la valeur par défaut à moins que l'affichage "
"ne soit lent, ne saute pas ou ne soit très instable." "virtuel ne soit lent, ne saute pas ou ne soit très instable."
#: src/gtk/connected-device.ui:384 #: src/gtk/connected-device.ui:384
msgid "Default" msgid "Default"
msgstr "Par défaut" msgstr "Par défaut"
#: src/gtk/connected-device.ui:396
msgid "Text Scaling"
msgstr ""
#: src/gtk/connected-device.ui:397
msgid "Scaling text below 1.0 will simulate a higher resolution display"
msgstr ""
#: src/gtk/failed-verification.ui:13 #: src/gtk/failed-verification.ui:13
msgid "Breezy Desktop GNOME invalid setup" msgid "Breezy Desktop GNOME invalid setup"
msgstr "Configuration Breezy Desktop GNOME non valide" msgstr "Configuration Breezy Desktop GNOME non valide"
@ -381,12 +396,12 @@ msgid ""
" " " "
msgstr "" msgstr ""
"\n" "\n"
" Si vous avez installé via AUR, assurez-vous d'avoir exécuté la " " Si vous avez installé via AUR, assurez-vous d'avoir exécuté la commande de "
"commande de post-installation recommandée:\n" "post-installation recommandée:\n"
" systemctl --user enable --now xr-driver.service\n" " systemctl --user enable --now xr-driver.service\n"
"\n" "\n"
" Sinon, veuillez signaler le problème sur GitHub, ou créer un nouveau " " Sinon, veuillez signaler le problème sur GitHub, ou créer un nouveau fil de "
"fil de discussion dans le canal #troubleshooting sur Discord.\n" "discussion dans le canal #troubleshooting sur Discord.\n"
" " " "
#: src/gtk/no-extension.ui:13 #: src/gtk/no-extension.ui:13
@ -398,9 +413,9 @@ msgid ""
"If you have just run the setup, then you may need to log out and back in to " "If you have just run the setup, then you may need to log out and back in to "
"use it. Otherwise, please follow the Breezy GNOME setup instructions." "use it. Otherwise, please follow the Breezy GNOME setup instructions."
msgstr "" msgstr ""
"Si vous venez d'exécuter la configuration, vous devrez peut-être vous déconnecter " "Si vous venez d'exécuter la configuration, vous devrez peut-être vous "
"et vous reconnecter pour l'utiliser. Sinon, veuillez suivre les instructions " "déconnecter et vous reconnecter pour l'utiliser. Sinon, veuillez suivre les "
"d'installation de Breezy GNOME." "instructions d'installation de Breezy GNOME."
#: src/gtk/no-license.ui:13 #: src/gtk/no-license.ui:13
msgid "No license file was found" msgid "No license file was found"
@ -422,15 +437,15 @@ msgid ""
" " " "
msgstr "" msgstr ""
"\n" "\n"
" La première fois que vous utilisez Breezy Desktop, une connexion " " La première fois que vous utilisez Breezy Desktop, une connexion Internet "
"Internet est requise pour récupérer la licence de votre appareil.\n" "est requise pour récupérer la licence de votre appareil.\n"
" \n" " \n"
" Ne vous inquiétez pas, vous n'êtes pas obligé de faire un don à " " Ne vous inquiétez pas, vous n'êtes pas obligé de faire un don à ce stade. "
"ce stade. Si vous ne le faites pas, vous obtiendrez une licence d'essai pour " "Si vous ne le faites pas, vous obtiendrez une licence d'essai pour vous "
"vous permettre de décider si Breezy Desktop répond à vos besoins.\n" "permettre de décider si Breezy Desktop répond à vos besoins.\n"
" \n" " \n"
" Une fois que vous avez obtenu une licence, d'essai ou autre, vous " " Une fois que vous avez obtenu une licence, d'essai ou autre, vous pouvez "
"pouvez utiliser Breezy Desktop hors ligne jusqu'à l'expiration des fonctionnalités " "utiliser Breezy Desktop hors ligne jusqu'à l'expiration des fonctionnalités "
"(ou indéfiniment, si vous avez choisi l'accès à vie).\n" "(ou indéfiniment, si vous avez choisi l'accès à vie).\n"
" " " "
@ -444,7 +459,8 @@ msgstr "Attribuer un raccourci clavier"
#: src/gtk/shortcut-dialog.ui:20 #: src/gtk/shortcut-dialog.ui:20
msgid "Press your keyboard shortcut or 'Backspace' to disable..." msgid "Press your keyboard shortcut or 'Backspace' to disable..."
msgstr "Appuyez sur votre raccourci clavier ou sur 'Backspace' pour désactiver..." msgstr ""
"Appuyez sur votre raccourci clavier ou sur 'Backspace' pour désactiver..."
#: src/gtk/window.ui:10 #: src/gtk/window.ui:10
msgid "Breezy Desktop" msgid "Breezy Desktop"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-15 15:19-0700\n" "POT-Creation-Date: 2024-10-01 13:21-0700\n"
"PO-Revision-Date: 2024-08-02 21:14-0700\n" "PO-Revision-Date: 2024-08-02 21:14-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n" "Language-Team: Italian <tp@lists.linux.it>\n"
@ -27,11 +27,11 @@ msgstr ""
msgid "This feature is not currently supported for your device." msgid "This feature is not currently supported for your device."
msgstr "" msgstr ""
#: src/licensedialog.py:49 #: src/licensedialog.py:57
msgid "Paid Tier Status" msgid "Paid Tier Status"
msgstr "" msgstr ""
#: src/licensedialog.py:57 #: src/licensedialog.py:63
msgid "Feature Availability" msgid "Feature Availability"
msgstr "" msgstr ""
@ -313,6 +313,14 @@ msgstr ""
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: src/gtk/connected-device.ui:396
msgid "Text Scaling"
msgstr ""
#: src/gtk/connected-device.ui:397
msgid "Scaling text below 1.0 will simulate a higher resolution display"
msgstr ""
#: src/gtk/failed-verification.ui:13 #: src/gtk/failed-verification.ui:13
msgid "Breezy Desktop GNOME invalid setup" msgid "Breezy Desktop GNOME invalid setup"
msgstr "" msgstr ""

View File

@ -4,14 +4,14 @@
# <wayne@xronlinux.com>, 2024. # <wayne@xronlinux.com>, 2024.
# #
# Breezy DesktopやXR、GNOMEのような固有名詞はそのままの表記にしています。 # Breezy DesktopやXR、GNOMEのような固有名詞はそのままの表記にしています。
#「gaming」が「ゲーミング」なので「productivity」も「プロダクティビティ」とカナ表記にしました。 # 「gaming」が「ゲーミング」なので「productivity」も「プロダクティビティ」とカナ表記にしました。
#「glasses」は「XRエフェクト」から「XRメガネ」にしても良かったんですが、繰り返すのもくどいので「メガネ」にしてます。 # 「glasses」は「XRエフェクト」から「XRメガネ」にしても良かったんですが、繰り返すのもくどいので「メガネ」にしてます。
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-15 15:19-0700\n" "POT-Creation-Date: 2024-10-01 13:21-0700\n"
"PO-Revision-Date: 2024-08-02 20:55-0700\n" "PO-Revision-Date: 2024-08-02 20:55-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n" "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@ -31,11 +31,11 @@ msgstr "メガネを3Dモードに切り替え、表示の幅を2倍にします
msgid "This feature is not currently supported for your device." msgid "This feature is not currently supported for your device."
msgstr "この機能は現在接続されているデバイスではサポートされていません。" msgstr "この機能は現在接続されているデバイスではサポートされていません。"
#: src/licensedialog.py:49 #: src/licensedialog.py:57
msgid "Paid Tier Status" msgid "Paid Tier Status"
msgstr "有料ティアの状態" msgstr "有料ティアの状態"
#: src/licensedialog.py:57 #: src/licensedialog.py:63
msgid "Feature Availability" msgid "Feature Availability"
msgstr "利用できる機能" msgstr "利用できる機能"
@ -212,7 +212,8 @@ msgid ""
"Combine with display distance to achieve a comfortable level of depth and " "Combine with display distance to achieve a comfortable level of depth and "
"size." "size."
msgstr "" msgstr ""
"ディスプレイ距離と組み合わせて、\n快適な奥行きとサイズを実現します。" "ディスプレイ距離と組み合わせて、\n"
"快適な奥行きとサイズを実現します。"
#: src/gtk/connected-device.ui:152 #: src/gtk/connected-device.ui:152
msgid "Display toggle distances" msgid "Display toggle distances"
@ -223,7 +224,8 @@ msgid ""
"Use the buttons to capture the current display distance for use with the " "Use the buttons to capture the current display distance for use with the "
"keyboard shortcut." "keyboard shortcut."
msgstr "" msgstr ""
"2個のボタンを使用して、キーボードショートカットで使用する現在のディスプレイ距離をそれぞれ設定します。" "2個のボタンを使用して、キーボードショートカットで使用する現在のディスプレイ距"
"離をそれぞれ設定します。"
#: src/gtk/connected-device.ui:178 #: src/gtk/connected-device.ui:178
msgid "Follow threshold" msgid "Follow threshold"
@ -279,7 +281,8 @@ msgid ""
"Automatically modify the glasses display configuration for maximum " "Automatically modify the glasses display configuration for maximum "
"resolution and best scaling when plugged in." "resolution and best scaling when plugged in."
msgstr "" msgstr ""
"メガネ接続時、最大解像度と最適なスケーリングのためにディスプレイ設定を自動的に変更します。" "メガネ接続時、最大解像度と最適なスケーリングのためにディスプレイ設定を自動的"
"に変更します。"
#: src/gtk/connected-device.ui:332 #: src/gtk/connected-device.ui:332
msgid "Use highest refresh rate" msgid "Use highest refresh rate"
@ -287,7 +290,9 @@ msgstr "最大のリフレッシュレートを使用する"
#: src/gtk/connected-device.ui:333 #: src/gtk/connected-device.ui:333
msgid "Refresh rate may affect performance, disable this to set it manually." msgid "Refresh rate may affect performance, disable this to set it manually."
msgstr "リフレッシュレートはパフォーマンスに影響を与える可能性があります。手動で設定する場合は無効にしてください。" msgstr ""
"リフレッシュレートはパフォーマンスに影響を与える可能性があります。手動で設定"
"する場合は無効にしてください。"
#: src/gtk/connected-device.ui:343 #: src/gtk/connected-device.ui:343
msgid "Always primary display" msgid "Always primary display"
@ -306,7 +311,8 @@ msgid ""
"Switches glasses to SBS mode immediately when plugged in, if widescreen mode " "Switches glasses to SBS mode immediately when plugged in, if widescreen mode "
"is on. May cause instability." "is on. May cause instability."
msgstr "" msgstr ""
"ワイドスクリーンモードがオンになっている場合、メガネ接続時にたたちにSBSモードに切り替えます。不安定になる可能性があります。" "ワイドスクリーンモードがオンになっている場合、メガネ接続時にたたちにSBSモード"
"に切り替えます。不安定になる可能性があります。"
#: src/gtk/connected-device.ui:365 #: src/gtk/connected-device.ui:365
msgid "Movement look-ahead" msgid "Movement look-ahead"
@ -318,12 +324,22 @@ msgid ""
"time. Stick with default unless virtual display drags behind your head " "time. Stick with default unless virtual display drags behind your head "
"movements, jumps ahead, or is very shaky." "movements, jumps ahead, or is very shaky."
msgstr "" msgstr ""
"入力遅延を相殺するために、レンダリング時間前にヘッドトラッキング位置を予測します。仮想ディスプレイが頭の動きに遅れたり、先に進んだり、非常に揺れたりする場合を除き、デフォルトのままで問題ありません。" "入力遅延を相殺するために、レンダリング時間前にヘッドトラッキング位置を予測し"
"ます。仮想ディスプレイが頭の動きに遅れたり、先に進んだり、非常に揺れたりする"
"場合を除き、デフォルトのままで問題ありません。"
#: src/gtk/connected-device.ui:384 #: src/gtk/connected-device.ui:384
msgid "Default" msgid "Default"
msgstr "デフォルト" msgstr "デフォルト"
#: src/gtk/connected-device.ui:396
msgid "Text Scaling"
msgstr "テキストスケーリング"
#: src/gtk/connected-device.ui:397
msgid "Scaling text below 1.0 will simulate a higher resolution display"
msgstr "テキストを1.0未満にスケーリングすると、高解像度ディスプレイをシミュレートします。"
#: src/gtk/failed-verification.ui:13 #: src/gtk/failed-verification.ui:13
msgid "Breezy Desktop GNOME invalid setup" msgid "Breezy Desktop GNOME invalid setup"
msgstr "Breezy Desktop GNOMEの無効なセットアップ" msgstr "Breezy Desktop GNOMEの無効なセットアップ"
@ -333,7 +349,8 @@ msgid ""
"Your Breezy GNOME setup is invalid or incomplete. Please re-run the setup " "Your Breezy GNOME setup is invalid or incomplete. Please re-run the setup "
"script. Report this issue if it persists." "script. Report this issue if it persists."
msgstr "" msgstr ""
"Breezy GNOMEのセットアップが無効または不完全です。セットアップスクリプトを再実行してください。問題が解決しない場合は、この問題を報告してください。" "Breezy GNOMEのセットアップが無効または不完全です。セットアップスクリプトを再"
"実行してください。問題が解決しない場合は、この問題を報告してください。"
#: src/gtk/license-dialog.ui:5 src/gtk/window.ui:55 #: src/gtk/license-dialog.ui:5 src/gtk/window.ui:55
msgid "License Details" msgid "License Details"
@ -375,10 +392,12 @@ msgid ""
" " " "
msgstr "" msgstr ""
"\n" "\n"
" AUR経由でインストールした場合は、推奨されるポストインストールコマンドを実行したことを確認してください:\n" " AUR経由でインストールした場合は、推奨されるポストインストールコマン"
"ドを実行したことを確認してください:\n"
" systemctl --user enable --now xr-driver.service\n" " systemctl --user enable --now xr-driver.service\n"
" \n" " \n"
" それ以外の場合は、GitHubで問題を報告するか、Discordの#troubleshootingチャンネルで新しいスレッドを作成してください。\n" " それ以外の場合は、GitHubで問題を報告するか、Discordの"
"#troubleshootingチャンネルで新しいスレッドを作成してください。\n"
" " " "
#: src/gtk/no-extension.ui:13 #: src/gtk/no-extension.ui:13
@ -390,7 +409,9 @@ msgid ""
"If you have just run the setup, then you may need to log out and back in to " "If you have just run the setup, then you may need to log out and back in to "
"use it. Otherwise, please follow the Breezy GNOME setup instructions." "use it. Otherwise, please follow the Breezy GNOME setup instructions."
msgstr "" msgstr ""
"セットアップを実行した直後の場合は、使用する前にログアウトして再度ログインする必要があるかもしれません。それ以外の場合は、Breezy GNOMEのセットアップ手順に従ってください。" "セットアップを実行した直後の場合は、使用する前にログアウトして再度ログインす"
"る必要があるかもしれません。それ以外の場合は、Breezy GNOMEのセットアップ手順"
"に従ってください。"
#: src/gtk/no-license.ui:13 #: src/gtk/no-license.ui:13
msgid "No license file was found" msgid "No license file was found"
@ -412,11 +433,16 @@ msgid ""
" " " "
msgstr "" msgstr ""
"\n" "\n"
" Breezy Desktopを初めて使用する際は、デバイスライセンスを取得するためにインターネット接続が必要です。\n" " Breezy Desktopを初めて使用する際は、デバイスライセンスを取得するた"
"めにインターネット接続が必要です。\n"
" \n" " \n"
" ご安心ください。今すぐに寄付する必要はありません。寄付していない場合は、Breezy Desktopがニーズに合っているかどうかを判断できる試用ライセンスが提供されます。\n" " ご安心ください。今すぐに寄付する必要はありません。寄付していない場"
"合は、Breezy Desktopがニーズに合っているかどうかを判断できる試用ライセンスが"
"提供されます。\n"
" \n" " \n"
" ライセンスを取得したら、試用期間中であろうと期限切れるまではBreezy Desktopをオフラインで使用できます。(生涯アクセスを選択した場合は期限はありません。)\n" " ライセンスを取得したら、試用期間中であろうと期限切れるまではBreezy "
"Desktopをオフラインで使用できます。(生涯アクセスを選択した場合は期限はありま"
"せん。)\n"
" " " "
#: src/gtk/no-license.ui:27 #: src/gtk/no-license.ui:27
@ -429,7 +455,8 @@ msgstr "キーボードショートカットを割り当てる"
#: src/gtk/shortcut-dialog.ui:20 #: src/gtk/shortcut-dialog.ui:20
msgid "Press your keyboard shortcut or 'Backspace' to disable..." msgid "Press your keyboard shortcut or 'Backspace' to disable..."
msgstr "キーボードショートカットを押す、または「Backspace」を押して無効にします..." msgstr ""
"キーボードショートカットを押す、または「Backspace」を押して無効にします..."
#: src/gtk/window.ui:10 #: src/gtk/window.ui:10
msgid "Breezy Desktop" msgid "Breezy Desktop"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-16 10:26-0700\n" "POT-Creation-Date: 2024-10-01 13:21-0700\n"
"PO-Revision-Date: 2024-08-16 10:26-0700\n" "PO-Revision-Date: 2024-08-16 10:26-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n" "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@ -28,11 +28,11 @@ msgstr ""
msgid "This feature is not currently supported for your device." msgid "This feature is not currently supported for your device."
msgstr "" msgstr ""
#: src/licensedialog.py:49 #: src/licensedialog.py:57
msgid "Paid Tier Status" msgid "Paid Tier Status"
msgstr "" msgstr ""
#: src/licensedialog.py:57 #: src/licensedialog.py:63
msgid "Feature Availability" msgid "Feature Availability"
msgstr "" msgstr ""
@ -314,6 +314,14 @@ msgstr ""
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: src/gtk/connected-device.ui:396
msgid "Text Scaling"
msgstr ""
#: src/gtk/connected-device.ui:397
msgid "Scaling text below 1.0 will simulate a higher resolution display"
msgstr ""
#: src/gtk/failed-verification.ui:13 #: src/gtk/failed-verification.ui:13
msgid "Breezy Desktop GNOME invalid setup" msgid "Breezy Desktop GNOME invalid setup"
msgstr "" msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-19 09:50-0700\n" "POT-Creation-Date: 2024-10-01 13:21-0700\n"
"PO-Revision-Date: 2024-08-19 09:39-0700\n" "PO-Revision-Date: 2024-08-19 09:39-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge." "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
@ -23,17 +23,18 @@ msgid ""
"Switches your glasses into side-by-side mode and doubles the width of the " "Switches your glasses into side-by-side mode and doubles the width of the "
"display." "display."
msgstr "" msgstr ""
"Altera o modo dos óculos para lado a lado (SBS) e dobra a largura da tela (ultrawide)." "Altera o modo dos óculos para lado a lado (SBS) e dobra a largura da tela "
"(ultrawide)."
#: src/connecteddevice.py:17 #: src/connecteddevice.py:17
msgid "This feature is not currently supported for your device." msgid "This feature is not currently supported for your device."
msgstr "Este recurso não é atualmente suportado para o seu dispositivo." msgstr "Este recurso não é atualmente suportado para o seu dispositivo."
#: src/licensedialog.py:49 #: src/licensedialog.py:57
msgid "Paid Tier Status" msgid "Paid Tier Status"
msgstr "Status do Nível Pago" msgstr "Status do Nível Pago"
#: src/licensedialog.py:57 #: src/licensedialog.py:63
msgid "Feature Availability" msgid "Feature Availability"
msgstr "Disponibilidade de Recursos" msgstr "Disponibilidade de Recursos"
@ -198,8 +199,8 @@ msgid ""
"Closer appears larger, further appears smaller. Controls depth when in " "Closer appears larger, further appears smaller. Controls depth when in "
"widescreen mode." "widescreen mode."
msgstr "" msgstr ""
"Mais perto parece maior, mais longe parece menor. Controla a profundidade " "Mais perto parece maior, mais longe parece menor. Controla a profundidade no "
"no modo ultrawide." "modo ultrawide."
#: src/gtk/connected-device.ui:123 #: src/gtk/connected-device.ui:123
msgid "Display size" msgid "Display size"
@ -325,12 +326,21 @@ msgid ""
msgstr "" msgstr ""
"Compensa o atraso de entrada prevendo a posição de rastreamento de cabeça " "Compensa o atraso de entrada prevendo a posição de rastreamento de cabeça "
"antes do tempo de renderização. Mantenha o padrão, a menos que a exibição " "antes do tempo de renderização. Mantenha o padrão, a menos que a exibição "
"virtual tenha atrasos, avance ou seja muito instável em relação aos movimentos da cabeça " "virtual tenha atrasos, avance ou seja muito instável em relação aos "
"movimentos da cabeça "
#: src/gtk/connected-device.ui:384 #: src/gtk/connected-device.ui:384
msgid "Default" msgid "Default"
msgstr "Padrão" msgstr "Padrão"
#: src/gtk/connected-device.ui:396
msgid "Text Scaling"
msgstr "Redimensionamento de Texto"
#: src/gtk/connected-device.ui:397
msgid "Scaling text below 1.0 will simulate a higher resolution display"
msgstr "Redimensionar o texto abaixo de 1.0 simulará uma tela de resolução mais alta"
#: src/gtk/failed-verification.ui:13 #: src/gtk/failed-verification.ui:13
msgid "Breezy Desktop GNOME invalid setup" msgid "Breezy Desktop GNOME invalid setup"
msgstr "Configuração inválida do Breezy Desktop GNOME" msgstr "Configuração inválida do Breezy Desktop GNOME"
@ -401,8 +411,8 @@ msgid ""
"If you have just run the setup, then you may need to log out and back in to " "If you have just run the setup, then you may need to log out and back in to "
"use it. Otherwise, please follow the Breezy GNOME setup instructions." "use it. Otherwise, please follow the Breezy GNOME setup instructions."
msgstr "" msgstr ""
"Se você acabou de executar a configuração, pode ser necessário fazer logout e " "Se você acabou de executar a configuração, pode ser necessário fazer logout "
"login novamente para usá-la. Caso contrário, siga as instruções de " "e login novamente para usá-la. Caso contrário, siga as instruções de "
"configuração do Breezy GNOME." "configuração do Breezy GNOME."
#: src/gtk/no-license.ui:13 #: src/gtk/no-license.ui:13
@ -425,16 +435,16 @@ msgid ""
"lifetime access).\n" "lifetime access).\n"
" " " "
msgstr "" msgstr ""
" A primeira vez que você usar o Breezy Desktop, uma conexão com a internet " " A primeira vez que você usar o Breezy Desktop, uma conexão com a "
"será necessária para obter a licença do seu dispositivo.\n" "internet será necessária para obter a licença do seu dispositivo.\n"
" \n" " \n"
" Não se preocupe, não há nenhuma obrigação de doar neste momento. Se você " " Não se preocupe, não há nenhuma obrigação de doar neste momento. "
"ainda não o fez, será fornecida uma licença de teste para que você possa " "Se você ainda não o fez, será fornecida uma licença de teste para que você "
"decidir se o Breezy Desktop atende às suas necessidades.\n" "possa decidir se o Breezy Desktop atende às suas necessidades.\n"
" \n" " \n"
" Uma vez que você obtenha uma licença, de teste ou não, você poderá usar o " " Uma vez que você obtenha uma licença, de teste ou não, você poderá "
"Breezy Desktop offline até que os recursos expirem (ou indefinidamente, se " "usar o Breezy Desktop offline até que os recursos expirem (ou "
"você escolheu o acesso vitalício)." "indefinidamente, se você escolheu o acesso vitalício)."
#: src/gtk/no-license.ui:27 #: src/gtk/no-license.ui:27
msgid "Try Again" msgid "Try Again"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-17 09:44-0700\n" "POT-Creation-Date: 2024-10-01 13:21-0700\n"
"PO-Revision-Date: 2024-08-17 09:39-0700\n" "PO-Revision-Date: 2024-08-17 09:39-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Russian <gnu@d07.ru>\n" "Language-Team: Russian <gnu@d07.ru>\n"
@ -29,11 +29,11 @@ msgstr ""
msgid "This feature is not currently supported for your device." msgid "This feature is not currently supported for your device."
msgstr "Эта функция в настоящее время не поддерживается для вашего устройства." msgstr "Эта функция в настоящее время не поддерживается для вашего устройства."
#: src/licensedialog.py:49 #: src/licensedialog.py:57
msgid "Paid Tier Status" msgid "Paid Tier Status"
msgstr "Статус платного уровня" msgstr "Статус платного уровня"
#: src/licensedialog.py:57 #: src/licensedialog.py:63
msgid "Feature Availability" msgid "Feature Availability"
msgstr "Статус функций" msgstr "Статус функций"
@ -232,8 +232,7 @@ msgstr "Порог следования"
#: src/gtk/connected-device.ui:179 #: src/gtk/connected-device.ui:179
msgid "How far away you can look before the display follows." msgid "How far away you can look before the display follows."
msgstr "" msgstr ""
"Как далеко вы можете отвернуть взгляд, прежде чем дисплей последует за " "Как далеко вы можете отвернуть взгляд, прежде чем дисплей последует за вами."
"вами."
#: src/gtk/connected-device.ui:209 src/gtk/connected-device.ui:215 #: src/gtk/connected-device.ui:209 src/gtk/connected-device.ui:215
msgid "Keyboard Shortcuts" msgid "Keyboard Shortcuts"
@ -335,6 +334,14 @@ msgstr ""
msgid "Default" msgid "Default"
msgstr "По умолчанию" msgstr "По умолчанию"
#: src/gtk/connected-device.ui:396
msgid "Text Scaling"
msgstr ""
#: src/gtk/connected-device.ui:397
msgid "Scaling text below 1.0 will simulate a higher resolution display"
msgstr ""
#: src/gtk/failed-verification.ui:13 #: src/gtk/failed-verification.ui:13
msgid "Breezy Desktop GNOME invalid setup" msgid "Breezy Desktop GNOME invalid setup"
msgstr "Недействительная настройка Breezy Desktop GNOME" msgstr "Недействительная настройка Breezy Desktop GNOME"
@ -432,13 +439,13 @@ msgstr ""
" При первом использовании Breezy Desktop требуется интернет-" " При первом использовании Breezy Desktop требуется интернет-"
"соединение для получения лицензии вашего устройства.\n" "соединение для получения лицензии вашего устройства.\n"
" \n" " \n"
" Не волнуйтесь, на данный момент нет обязательства донатить. " " Не волнуйтесь, на данный момент нет обязательства донатить. Если "
"Если вы не сделали этого, вам будет предоставлена пробная " "вы не сделали этого, вам будет предоставлена пробная лицензия, чтобы вы "
"лицензия, чтобы вы могли решить, подходит ли вам Breezy Desktop.\n" "могли решить, подходит ли вам Breezy Desktop.\n"
" \n" " \n"
" После получения лицензии, пробной или иной, вы можете " " После получения лицензии, пробной или иной, вы можете использовать "
"использовать Breezy Desktop офлайн до истечения срока " "Breezy Desktop офлайн до истечения срока действия функций (или бессрочно, "
"действия функций (или бессрочно, если вы выбрали пожизненный доступ).\n" "если вы выбрали пожизненный доступ).\n"
" " " "
#: src/gtk/no-license.ui:27 #: src/gtk/no-license.ui:27

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-15 15:36-0700\n" "POT-Creation-Date: 2024-10-01 13:21-0700\n"
"PO-Revision-Date: 2024-08-16 10:31-0700\n" "PO-Revision-Date: 2024-08-16 10:31-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@ -22,18 +22,18 @@ msgid ""
"Switches your glasses into side-by-side mode and doubles the width of the " "Switches your glasses into side-by-side mode and doubles the width of the "
"display." "display."
msgstr "" msgstr ""
"Växlar dina glasögon till side-by-side-läget och dubblerar bredden " "Växlar dina glasögon till side-by-side-läget och dubblerar bredden "
"visningen." "visningen."
#: src/connecteddevice.py:17 #: src/connecteddevice.py:17
msgid "This feature is not currently supported for your device." msgid "This feature is not currently supported for your device."
msgstr "Din enhet stöder inte den här funktionen för tillfället." msgstr "Din enhet stöder inte den här funktionen för tillfället."
#: src/licensedialog.py:49 #: src/licensedialog.py:57
msgid "Paid Tier Status" msgid "Paid Tier Status"
msgstr "Betalningsstatus" msgstr "Betalningsstatus"
#: src/licensedialog.py:57 #: src/licensedialog.py:63
msgid "Feature Availability" msgid "Feature Availability"
msgstr "Funktions tillgänglighet" msgstr "Funktions tillgänglighet"
@ -198,8 +198,8 @@ msgid ""
"Closer appears larger, further appears smaller. Controls depth when in " "Closer appears larger, further appears smaller. Controls depth when in "
"widescreen mode." "widescreen mode."
msgstr "" msgstr ""
"Närmare verkar större, längre verkar mindre. Kontrollerar djupet när du är " "Närmare verkar större, längre verkar mindre. Kontrollerar djupet när du är i "
"i bredbildsläge." "bredbildsläge."
#: src/gtk/connected-device.ui:123 #: src/gtk/connected-device.ui:123
msgid "Display size" msgid "Display size"
@ -209,7 +209,8 @@ msgstr "Skärmens storlek"
msgid "" msgid ""
"Combine with display distance to achieve a comfortable level of depth and " "Combine with display distance to achieve a comfortable level of depth and "
"size." "size."
msgstr "Kombinera med skärmens avstånd för att uppnå en bekväm nivå av djup och " msgstr ""
"Kombinera med skärmens avstånd för att uppnå en bekväm nivå av djup och "
"storlek." "storlek."
#: src/gtk/connected-device.ui:152 #: src/gtk/connected-device.ui:152
@ -221,8 +222,8 @@ msgid ""
"Use the buttons to capture the current display distance for use with the " "Use the buttons to capture the current display distance for use with the "
"keyboard shortcut." "keyboard shortcut."
msgstr "" msgstr ""
"Använd knapparna för att fanga nuvarande skärmavståndet för användning " "Använd knapparna för att fanga nuvarande skärmavståndet för användning med "
"med tangentbordsgenvägar." "tangentbordsgenvägar."
#: src/gtk/connected-device.ui:178 #: src/gtk/connected-device.ui:178
msgid "Follow threshold" msgid "Follow threshold"
@ -278,8 +279,8 @@ msgid ""
"Automatically modify the glasses display configuration for maximum " "Automatically modify the glasses display configuration for maximum "
"resolution and best scaling when plugged in." "resolution and best scaling when plugged in."
msgstr "" msgstr ""
"Ändrar automatisk glasögonens skärmkonfiguration för maximal " "Ändrar automatisk glasögonens skärmkonfiguration för maximal upplösning och "
"upplösning och bästa skälning när den är ansluten." "bästa skälning när den är ansluten."
#: src/gtk/connected-device.ui:332 #: src/gtk/connected-device.ui:332
msgid "Use highest refresh rate" msgid "Use highest refresh rate"
@ -287,7 +288,9 @@ msgstr "Använd högsta uppdateringsfrekvens"
#: src/gtk/connected-device.ui:333 #: src/gtk/connected-device.ui:333
msgid "Refresh rate may affect performance, disable this to set it manually." 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." msgstr ""
"Uppdateringsfrekvens kan påverka prestanda, inaktivera detta för att ställa "
"in det manuellt."
#: src/gtk/connected-device.ui:343 #: src/gtk/connected-device.ui:343
msgid "Always primary display" msgid "Always primary display"
@ -306,8 +309,8 @@ msgid ""
"Switches glasses to SBS mode immediately when plugged in, if widescreen mode " "Switches glasses to SBS mode immediately when plugged in, if widescreen mode "
"is on. May cause instability." "is on. May cause instability."
msgstr "" msgstr ""
"Växlar glasögon till SBS läge omedelbart när den är ansluten, om brevläge " "Växlar glasögon till SBS läge omedelbart när den är ansluten, om brevläge är "
"är på. Kan orsaka instabilitet." "på. Kan orsaka instabilitet."
#: src/gtk/connected-device.ui:365 #: src/gtk/connected-device.ui:365
msgid "Movement look-ahead" msgid "Movement look-ahead"
@ -319,14 +322,21 @@ msgid ""
"time. Stick with default unless virtual display drags behind your head " "time. Stick with default unless virtual display drags behind your head "
"movements, jumps ahead, or is very shaky." "movements, jumps ahead, or is very shaky."
msgstr "" msgstr ""
"Motverkar ingångsfördröjning genom förutsägelse av huvudrörelser." "Motverkar ingångsfördröjning genom förutsägelse av huvudrörelser.Behåll "
"Behåll standardinställningen om inte skärmen skakar mycket eller rör" "standardinställningen om inte skärmen skakar mycket eller rörsig konstigt."
"sig konstigt."
#: src/gtk/connected-device.ui:384 #: src/gtk/connected-device.ui:384
msgid "Default" msgid "Default"
msgstr "Standard" msgstr "Standard"
#: src/gtk/connected-device.ui:396
msgid "Text Scaling"
msgstr ""
#: src/gtk/connected-device.ui:397
msgid "Scaling text below 1.0 will simulate a higher resolution display"
msgstr ""
#: src/gtk/failed-verification.ui:13 #: src/gtk/failed-verification.ui:13
msgid "Breezy Desktop GNOME invalid setup" msgid "Breezy Desktop GNOME invalid setup"
msgstr "Breezy Desktop GNOME ogiltig inställning" msgstr "Breezy Desktop GNOME ogiltig inställning"
@ -336,8 +346,8 @@ msgid ""
"Your Breezy GNOME setup is invalid or incomplete. Please re-run the setup " "Your Breezy GNOME setup is invalid or incomplete. Please re-run the setup "
"script. Report this issue if it persists." "script. Report this issue if it persists."
msgstr "" msgstr ""
"Din Breezy GNOME inställning är ogiltig eller ofullständig. Var god " "Din Breezy GNOME inställning är ogiltig eller ofullständig. Var god kör "
"kör inställning skriptet igen. Rapportera detta problem om det fortsätter." "inställning skriptet igen. Rapportera detta problem om det fortsätter."
#: src/gtk/license-dialog.ui:5 src/gtk/window.ui:55 #: src/gtk/license-dialog.ui:5 src/gtk/window.ui:55
msgid "License Details" msgid "License Details"
@ -379,12 +389,12 @@ msgid ""
" " " "
msgstr "" msgstr ""
"\n" "\n"
" Om du har installerat via AUR, kontrollerar du att du körde den rekommenderade post-" " Om du har installerat via AUR, kontrollerar du att du körde den "
"install kommandot:\n" "rekommenderade post-install kommandot:\n"
" systemctl --user enable --now xr-driver.service\n" " systemctl --user enable --now xr-driver.service\n"
"\n" "\n"
" Annars, var god att filer ett problem på GitHub, eller skapa en ny tråd " " Annars, var god att filer ett problem på GitHub, eller skapa en ny "
"i #troubleshooting kanal på Discord.\n" "tråd i #troubleshooting kanal på Discord.\n"
" " " "
#: src/gtk/no-extension.ui:13 #: src/gtk/no-extension.ui:13
@ -423,13 +433,13 @@ msgstr ""
" Den första gången du använder Breezy Desktop, krävs en internet " " Den första gången du använder Breezy Desktop, krävs en internet "
"anslutning för att hämta din enhets licens.\n" "anslutning för att hämta din enhets licens.\n"
" \n" " \n"
" Var inte bekymrad, det finns ingen förpliktelse att donera just nu. Om du " " Var inte bekymrad, det finns ingen förpliktelse att donera just "
"inte har, kommer du att få en försöks licens så du kan bestämma om Breezy Desktop " "nu. Om du inte har, kommer du att få en försöks licens så du kan bestämma om "
"passar dina behov. \n" "Breezy Desktop passar dina behov. \n"
" \n" " \n"
" En gång du har fått en licens, försöks eller annat, kan du använda " " En gång du har fått en licens, försöks eller annat, kan du använda "
"Breezy Desktop offline tills funktioner upphör (eller oändligt, om du har valt " "Breezy Desktop offline tills funktioner upphör (eller oändligt, om du har "
"livstidsåtkomst).\n" "valt livstidsåtkomst).\n"
" " " "
#: src/gtk/no-license.ui:27 #: src/gtk/no-license.ui:27

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-15 15:36-0700\n" "POT-Creation-Date: 2024-10-01 13:21-0700\n"
"PO-Revision-Date: 2024-08-17 10:08-0700\n" "PO-Revision-Date: 2024-08-17 10:08-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n" "Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
@ -28,11 +28,11 @@ msgstr "Переключає окуляри в режим «бок о бок»
msgid "This feature is not currently supported for your device." msgid "This feature is not currently supported for your device."
msgstr "Ця функція наразі не підтримується на вашому пристрої." msgstr "Ця функція наразі не підтримується на вашому пристрої."
#: src/licensedialog.py:49 #: src/licensedialog.py:57
msgid "Paid Tier Status" msgid "Paid Tier Status"
msgstr "Статус платного рівня" msgstr "Статус платного рівня"
#: src/licensedialog.py:57 #: src/licensedialog.py:63
msgid "Feature Availability" msgid "Feature Availability"
msgstr "Статус функцій" msgstr "Статус функцій"
@ -196,7 +196,8 @@ msgstr "Відстань дисплея"
msgid "" msgid ""
"Closer appears larger, further appears smaller. Controls depth when in " "Closer appears larger, further appears smaller. Controls depth when in "
"widescreen mode." "widescreen mode."
msgstr "Чим ближче, тим більший. Чим далі, тим менший. Керує глибиною при " msgstr ""
"Чим ближче, тим більший. Чим далі, тим менший. Керує глибиною при "
"використанні режиму широкого екрана." "використанні режиму широкого екрана."
#: src/gtk/connected-device.ui:123 #: src/gtk/connected-device.ui:123
@ -207,7 +208,9 @@ msgstr "Розмір дисплея"
msgid "" msgid ""
"Combine with display distance to achieve a comfortable level of depth and " "Combine with display distance to achieve a comfortable level of depth and "
"size." "size."
msgstr "Поєднуйте з відстанню дисплея, щоб досягти комфортного рівня глибини і розміру." msgstr ""
"Поєднуйте з відстанню дисплея, щоб досягти комфортного рівня глибини і "
"розміру."
#: src/gtk/connected-device.ui:152 #: src/gtk/connected-device.ui:152
msgid "Display toggle distances" msgid "Display toggle distances"
@ -217,8 +220,9 @@ msgstr "Перемикання відстані дисплея"
msgid "" msgid ""
"Use the buttons to capture the current display distance for use with the " "Use the buttons to capture the current display distance for use with the "
"keyboard shortcut." "keyboard shortcut."
msgstr "Використовуйте кнопки, щоб зафіксувати поточну відстань дисплея для використання " msgstr ""
"з сполученням клавіш." "Використовуйте кнопки, щоб зафіксувати поточну відстань дисплея для "
"використання з сполученням клавіш."
#: src/gtk/connected-device.ui:178 #: src/gtk/connected-device.ui:178
msgid "Follow threshold" msgid "Follow threshold"
@ -226,7 +230,9 @@ msgstr "Поріг слідування"
#: src/gtk/connected-device.ui:179 #: src/gtk/connected-device.ui:179
msgid "How far away you can look before the display follows." msgid "How far away you can look before the display follows."
msgstr "Як далеко ви можете відвернути ваш взор, перш ніж дисплей почне слідувати за вами." msgstr ""
"Як далеко ви можете відвернути ваш взор, перш ніж дисплей почне слідувати за "
"вами."
#: src/gtk/connected-device.ui:209 src/gtk/connected-device.ui:215 #: src/gtk/connected-device.ui:209 src/gtk/connected-device.ui:215
msgid "Keyboard Shortcuts" msgid "Keyboard Shortcuts"
@ -273,8 +279,9 @@ msgstr "Знайти оптимальну конфігурацію диспле
msgid "" msgid ""
"Automatically modify the glasses display configuration for maximum " "Automatically modify the glasses display configuration for maximum "
"resolution and best scaling when plugged in." "resolution and best scaling when plugged in."
msgstr "Автоматично змінює конфігурацію дисплея окулярів для максимальної " msgstr ""
"роздільної здатності і найкращого масштабування при підключенні." "Автоматично змінює конфігурацію дисплея окулярів для максимальної роздільної "
"здатності і найкращого масштабування при підключенні."
#: src/gtk/connected-device.ui:332 #: src/gtk/connected-device.ui:332
msgid "Use highest refresh rate" msgid "Use highest refresh rate"
@ -282,8 +289,9 @@ msgstr "Використовувати найвищу частоту оновл
#: src/gtk/connected-device.ui:333 #: src/gtk/connected-device.ui:333
msgid "Refresh rate may affect performance, disable this to set it manually." msgid "Refresh rate may affect performance, disable this to set it manually."
msgstr "Частота оновлення може вплинути на продуктивність, вимкніть це, " msgstr ""
"щоб встановити її вручну." "Частота оновлення може вплинути на продуктивність, вимкніть це, щоб "
"встановити її вручну."
#: src/gtk/connected-device.ui:343 #: src/gtk/connected-device.ui:343
msgid "Always primary display" msgid "Always primary display"
@ -301,7 +309,8 @@ msgstr "Швидке перемикання режиму SBS"
msgid "" msgid ""
"Switches glasses to SBS mode immediately when plugged in, if widescreen mode " "Switches glasses to SBS mode immediately when plugged in, if widescreen mode "
"is on. May cause instability." "is on. May cause instability."
msgstr "Переключає окуляри в режим SBS відразу після підключення, якщо режим " msgstr ""
"Переключає окуляри в режим SBS відразу після підключення, якщо режим "
"широкого екрана увімкнено. Може викликати нестабільність." "широкого екрана увімкнено. Може викликати нестабільність."
#: src/gtk/connected-device.ui:365 #: src/gtk/connected-device.ui:365
@ -314,14 +323,23 @@ msgid ""
"time. Stick with default unless virtual display drags behind your head " "time. Stick with default unless virtual display drags behind your head "
"movements, jumps ahead, or is very shaky." "movements, jumps ahead, or is very shaky."
msgstr "" msgstr ""
"Компенсує затримку введення, передбачаючи позицію відстеження голови перед часом рендерингу. " "Компенсує затримку введення, передбачаючи позицію відстеження голови перед "
"Залишайтеся при налаштуваннях за замовчуванням, якщо віртуальний дисплей відстає від рухів вашої голови, " "часом рендерингу. Залишайтеся при налаштуваннях за замовчуванням, якщо "
"випереджає або дуже тремтить." "віртуальний дисплей відстає від рухів вашої голови, випереджає або дуже "
"тремтить."
#: src/gtk/connected-device.ui:384 #: src/gtk/connected-device.ui:384
msgid "Default" msgid "Default"
msgstr "За замовчуванням" msgstr "За замовчуванням"
#: src/gtk/connected-device.ui:396
msgid "Text Scaling"
msgstr ""
#: src/gtk/connected-device.ui:397
msgid "Scaling text below 1.0 will simulate a higher resolution display"
msgstr ""
#: src/gtk/failed-verification.ui:13 #: src/gtk/failed-verification.ui:13
msgid "Breezy Desktop GNOME invalid setup" msgid "Breezy Desktop GNOME invalid setup"
msgstr "Невірна настройка Breezy Desktop GNOME" msgstr "Невірна настройка Breezy Desktop GNOME"
@ -331,8 +349,8 @@ msgid ""
"Your Breezy GNOME setup is invalid or incomplete. Please re-run the setup " "Your Breezy GNOME setup is invalid or incomplete. Please re-run the setup "
"script. Report this issue if it persists." "script. Report this issue if it persists."
msgstr "" msgstr ""
"Ваша настройка Breezy GNOME є невірною або неповною. Будь ласка, запустіть скрипт настройки повторно. " "Ваша настройка Breezy GNOME є невірною або неповною. Будь ласка, запустіть "
"Повідомте про цю проблему, якщо вона не зникає." "скрипт настройки повторно. Повідомте про цю проблему, якщо вона не зникає."
#: src/gtk/license-dialog.ui:5 src/gtk/window.ui:55 #: src/gtk/license-dialog.ui:5 src/gtk/window.ui:55
msgid "License Details" msgid "License Details"
@ -374,10 +392,12 @@ msgid ""
" " " "
msgstr "" msgstr ""
"\n" "\n"
" Якщо ви встановили через AUR, переконайтеся, що ви запустили рекомендовану команду після встановлення:\n" " Якщо ви встановили через AUR, переконайтеся, що ви запустили "
"рекомендовану команду після встановлення:\n"
" systemctl --user enable --now xr-driver.service\n" " systemctl --user enable --now xr-driver.service\n"
"\n" "\n"
"В іншому випадку, будь ласка, створіть запит на GitHub або новий тред у каналі #troubleshooting на Discord.\n" "В іншому випадку, будь ласка, створіть запит на GitHub або новий тред у "
"каналі #troubleshooting на Discord.\n"
" " " "
#: src/gtk/no-extension.ui:13 #: src/gtk/no-extension.ui:13
@ -389,8 +409,9 @@ msgid ""
"If you have just run the setup, then you may need to log out and back in to " "If you have just run the setup, then you may need to log out and back in to "
"use it. Otherwise, please follow the Breezy GNOME setup instructions." "use it. Otherwise, please follow the Breezy GNOME setup instructions."
msgstr "" msgstr ""
"Якщо ви тільки що запустили налаштування, можливо, вам потрібно вийти і знову увійти, щоб використовувати його. " "Якщо ви тільки що запустили налаштування, можливо, вам потрібно вийти і "
"В іншому випадку, будь ласка, дотримуйтесь інструкцій з налаштування Breezy GNOME." "знову увійти, щоб використовувати його. В іншому випадку, будь ласка, "
"дотримуйтесь інструкцій з налаштування Breezy GNOME."
#: src/gtk/no-license.ui:13 #: src/gtk/no-license.ui:13
msgid "No license file was found" msgid "No license file was found"
@ -412,11 +433,16 @@ msgid ""
" " " "
msgstr "" msgstr ""
"\n" "\n"
"Під час першого запуску програми Breezy Desktop потрібне підключення до Інтернету для отримання ліцензії на пристрій.\n" "Під час першого запуску програми Breezy Desktop потрібне підключення до "
"Інтернету для отримання ліцензії на пристрій.\n"
" \n" " \n"
"Не хвилюйтеся, наразі немає обов'язку донатити. Якщо ви не зробили цього, вам буде надана пробна ліцензія, щоб ви могли вирішити, чи відповідає Breezy Desktop вашим потребам.\n" "Не хвилюйтеся, наразі немає обов'язку донатити. Якщо ви не зробили цього, "
"вам буде надана пробна ліцензія, щоб ви могли вирішити, чи відповідає Breezy "
"Desktop вашим потребам.\n"
" \n" " \n"
"Після отримання ліцензії, пробної або іншої, ви можете використовувати Breezy Desktop офлайн до закінчення терміну дії функції (або безстроково, якщо ви обрали довічний доступ).\n" "Після отримання ліцензії, пробної або іншої, ви можете використовувати "
"Breezy Desktop офлайн до закінчення терміну дії функції (або безстроково, "
"якщо ви обрали довічний доступ).\n"
" " " "
#: src/gtk/no-license.ui:27 #: src/gtk/no-license.ui:27

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-15 15:19-0700\n" "POT-Creation-Date: 2024-10-01 13:21-0700\n"
"PO-Revision-Date: 2024-08-02 20:55-0700\n" "PO-Revision-Date: 2024-08-02 20:55-0700\n"
"Last-Translator: <wayne@xronlinux.com>\n" "Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@ -26,11 +26,11 @@ msgstr ""
msgid "This feature is not currently supported for your device." msgid "This feature is not currently supported for your device."
msgstr "" msgstr ""
#: src/licensedialog.py:49 #: src/licensedialog.py:57
msgid "Paid Tier Status" msgid "Paid Tier Status"
msgstr "" msgstr ""
#: src/licensedialog.py:57 #: src/licensedialog.py:63
msgid "Feature Availability" msgid "Feature Availability"
msgstr "" msgstr ""
@ -312,6 +312,14 @@ msgstr ""
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: src/gtk/connected-device.ui:396
msgid "Text Scaling"
msgstr ""
#: src/gtk/connected-device.ui:397
msgid "Scaling text below 1.0 will simulate a higher resolution display"
msgstr ""
#: src/gtk/failed-verification.ui:13 #: src/gtk/failed-verification.ui:13
msgid "Breezy Desktop GNOME invalid setup" msgid "Breezy Desktop GNOME invalid setup"
msgstr "" msgstr ""

View File

@ -1,14 +0,0 @@
{
"name": "python3-pydbus",
"buildsystem": "simple",
"build-commands": [
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pydbus\" --no-build-isolation"
],
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/92/56/27148014c2f85ce70332f18612f921f682395c7d4e91ec103783be4fce00/pydbus-0.6.0-py2.py3-none-any.whl",
"sha256": "66b80106352a718d80d6c681dc2a82588048e30b75aab933e4020eb0660bf85e"
}
]
}

View File

@ -42,6 +42,8 @@ class ConnectedDevice(Gtk.Box):
fast_sbs_mode_switch = Gtk.Template.Child() fast_sbs_mode_switch = Gtk.Template.Child()
movement_look_ahead_scale = Gtk.Template.Child() movement_look_ahead_scale = Gtk.Template.Child()
movement_look_ahead_adjustment = Gtk.Template.Child() movement_look_ahead_adjustment = Gtk.Template.Child()
text_scaling_scale = Gtk.Template.Child()
text_scaling_adjustment = Gtk.Template.Child()
def __init__(self): def __init__(self):
@ -59,6 +61,7 @@ class ConnectedDevice(Gtk.Box):
] ]
self.settings = SettingsManager.get_instance().settings self.settings = SettingsManager.get_instance().settings
self.desktop_settings = SettingsManager.get_instance().desktop_settings
self.ipc = XRDriverIPC.get_instance() self.ipc = XRDriverIPC.get_instance()
self.extensions_manager = ExtensionsManager.get_instance() self.extensions_manager = ExtensionsManager.get_instance()
@ -72,6 +75,7 @@ class ConnectedDevice(Gtk.Box):
self.settings.bind('use-highest-refresh-rate', self.use_highest_refresh_rate_switch, 'active', Gio.SettingsBindFlags.DEFAULT) self.settings.bind('use-highest-refresh-rate', self.use_highest_refresh_rate_switch, 'active', Gio.SettingsBindFlags.DEFAULT)
self.settings.bind('fast-sbs-mode-switching', self.fast_sbs_mode_switch, 'active', Gio.SettingsBindFlags.DEFAULT) self.settings.bind('fast-sbs-mode-switching', self.fast_sbs_mode_switch, 'active', Gio.SettingsBindFlags.DEFAULT)
self.settings.bind('look-ahead-override', self.movement_look_ahead_adjustment, 'value', Gio.SettingsBindFlags.DEFAULT) self.settings.bind('look-ahead-override', self.movement_look_ahead_adjustment, 'value', Gio.SettingsBindFlags.DEFAULT)
self.desktop_settings.bind('text-scaling-factor', self.text_scaling_adjustment, 'value', Gio.SettingsBindFlags.DEFAULT)
bind_shortcut_settings(self.get_parent(), [ bind_shortcut_settings(self.get_parent(), [
[self.reassign_recenter_display_shortcut_button, self.recenter_display_shortcut_label], [self.reassign_recenter_display_shortcut_button, self.recenter_display_shortcut_label],

View File

@ -391,6 +391,37 @@
</child> </child>
</object> </object>
</child> </child>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Text Scaling</property>
<property name="subtitle" translatable="yes">Scaling text below 1.0 will simulate a higher resolution display</property>
<child>
<object class="GtkScale" id="text_scaling_scale">
<property name="valign">3</property>
<property name="draw-value">false</property>
<property name="value-pos">0</property>
<property name="digits">0</property>
<property name="width-request">350</property>
<property name="has-origin">false</property>
<property name="adjustment">
<object class="GtkAdjustment" id="text_scaling_adjustment">
<property name="lower">0.5</property>
<property name="upper">1.5</property>
<property name="step-increment">0.05</property>
<property name="value">1.0</property>
</object>
</property>
<marks>
<mark value="0.5" position="bottom">0.5</mark>
<mark value="0.75" position="bottom">0.75</mark>
<mark value="1.0" position="bottom">1.0</mark>
<mark value="1.25" position="bottom">1.25</mark>
<mark value="1.5" position="bottom">1.5</mark>
</marks>
</object>
</child>
</object>
</child>
</object> </object>
</child> </child>
</object> </object>

View File

@ -1,4 +1,5 @@
from gi.repository import Adw, Gtk, GLib from gi.repository import Adw, Gtk, GLib
from .nolicense import NoLicense
from .statemanager import StateManager from .statemanager import StateManager
from .licensetierrow import LicenseTierRow from .licensetierrow import LicenseTierRow
from .licensefeaturerow import LicenseFeatureRow from .licensefeaturerow import LicenseFeatureRow
@ -29,6 +30,8 @@ class LicenseDialog(Gtk.Dialog):
self.verify_token.connect('apply', self._on_verify_token) self.verify_token.connect('apply', self._on_verify_token)
self.refresh_license_button.connect('clicked', self._refresh_license) self.refresh_license_button.connect('clicked', self._refresh_license)
self.no_license = NoLicense(hide_refresh_button = True)
def _refresh_license(self, widget): def _refresh_license(self, widget):
self.refresh_license_button.set_sensitive(False) self.refresh_license_button.set_sensitive(False)
self.ipc.write_control_flags({'refresh_device_license': True}) self.ipc.write_control_flags({'refresh_device_license': True})
@ -46,19 +49,24 @@ class LicenseDialog(Gtk.Dialog):
for child in self.tiers: for child in self.tiers:
self.tiers.remove(child) self.tiers.remove(child)
tiers_group = Adw.PreferencesGroup(title=_("Paid Tier Status"), margin_top=20)
self.tiers.append(tiers_group)
for tier_name, tier_details in license_view['tiers'].items():
tiers_group.add(LicenseTierRow(tier_name, tier_details))
for child in self.features: for child in self.features:
self.features.remove(child) self.features.remove(child)
features_group = Adw.PreferencesGroup(title=_("Feature Availability"), margin_top=20)
self.features.append(features_group)
for feature_name, feature_details in license_view['features'].items(): if license_view:
features_group.add(LicenseFeatureRow(feature_name, feature_details)) tiers_group = Adw.PreferencesGroup(title=_("Paid Tier Status"), margin_top=20)
self.tiers.append(tiers_group)
for tier_name, tier_details in license_view['tiers'].items():
tiers_group.add(LicenseTierRow(tier_name, tier_details))
features_group = Adw.PreferencesGroup(title=_("Feature Availability"), margin_top=20)
self.features.append(features_group)
for feature_name, feature_details in license_view['features'].items():
features_group.add(LicenseFeatureRow(feature_name, feature_details))
else:
self.tiers.append(self.no_license)
self.refresh_license_button.set_sensitive(True) self.refresh_license_button.set_sensitive(True)

View File

@ -32,15 +32,16 @@ gi.require_version('Adw', '1')
gi.require_version('Gio', '2.0') gi.require_version('Gio', '2.0')
gi.require_version('GLib', '2.0') gi.require_version('GLib', '2.0')
script_dir = os.path.dirname(os.path.abspath(__file__)) user_home = os.path.expanduser('~')
po_dir = os.path.join(script_dir, 'po') xdg_data_home = os.environ.get('XDG_DATA_HOME') or os.path.join(user_home, '.local', 'share')
locale_dir = os.environ.get('LOCALE_DIR', '/app/share/locale') locale_dir = os.environ.get('LOCALE_DIR', os.path.join(xdg_data_home, 'locale'))
locale.setlocale(locale.LC_ALL, locale.getdefaultlocale()) locale.setlocale(locale.LC_ALL, locale.getdefaultlocale())
locale.bindtextdomain('breezydesktop', locale_dir) locale.bindtextdomain('breezydesktop', locale_dir)
gettext.bindtextdomain('breezydesktop', locale_dir) gettext.bindtextdomain('breezydesktop', locale_dir)
gettext.textdomain('breezydesktop') gettext.textdomain('breezydesktop')
from gi.repository import Adw, Gtk, Gio from gi.repository import Adw, Gtk, Gio
from .licensedialog import LicenseDialog from .licensedialog import LicenseDialog
from .statemanager import StateManager from .statemanager import StateManager
@ -106,7 +107,7 @@ class BreezydesktopApplication(Adw.Application):
modal=True, modal=True,
program_name='Breezy Desktop', program_name='Breezy Desktop',
logo_icon_name='com.xronlinux.BreezyDesktop', logo_icon_name='com.xronlinux.BreezyDesktop',
version='0.11.0', version='1.0.0',
authors=['Wayne Heaney'], authors=['Wayne Heaney'],
copyright='© 2024 Wayne Heaney') copyright='© 2024 Wayne Heaney')
about.present() about.present()

View File

@ -8,13 +8,16 @@ class NoLicense(Gtk.Box):
refresh_license_button = Gtk.Template.Child() refresh_license_button = Gtk.Template.Child()
def __init__(self, **kwargs): def __init__(self, hide_refresh_button = False, **kwargs):
super(Gtk.Box, self).__init__() super(Gtk.Box, self).__init__()
self.init_template() self.init_template()
self.ipc = XRDriverIPC.get_instance() self.ipc = XRDriverIPC.get_instance()
self.refresh_license_button.connect("clicked", self.on_refresh_license_button_clicked) if hide_refresh_button:
self.refresh_license_button.hide()
else:
self.refresh_license_button.connect("clicked", self.on_refresh_license_button_clicked)
def on_refresh_license_button_clicked(self, button): def on_refresh_license_button_clicked(self, button):
self.ipc.write_control_flags({'refresh_device_license': True}) self.ipc.write_control_flags({'refresh_device_license': True})

View File

@ -13,3 +13,4 @@ class SettingsManager:
def __init__(self): def __init__(self):
self.settings = Gio.Settings.new_with_path("com.xronlinux.BreezyDesktop", "/com/xronlinux/BreezyDesktop/") self.settings = Gio.Settings.new_with_path("com.xronlinux.BreezyDesktop", "/com/xronlinux/BreezyDesktop/")
self.desktop_settings = Gio.Settings.new("org.gnome.desktop.interface")

View File

@ -79,10 +79,10 @@ class BreezydesktopWindow(Gtk.ApplicationWindow):
self.main_content.append(self.failed_verification) self.main_content.append(self.failed_verification)
elif not self.state_manager.driver_running: elif not self.state_manager.driver_running:
self.main_content.append(self.no_driver) self.main_content.append(self.no_driver)
elif not state_manager.connected_device_name:
self.main_content.append(self.no_device)
elif not self.state_manager.license_present: elif not self.state_manager.license_present:
self.main_content.append(self.no_license) self.main_content.append(self.no_license)
elif not state_manager.connected_device_name:
self.main_content.append(self.no_device)
elif not ExtensionsManager.get_instance().is_installed(): elif not ExtensionsManager.get_instance().is_installed():
self.main_content.append(self.no_extension) self.main_content.append(self.no_extension)
else: else:

View File

@ -20,6 +20,10 @@ fi
VULKAN_DATA_DIR="$XDG_DATA_HOME/vulkan" VULKAN_DATA_DIR="$XDG_DATA_HOME/vulkan"
XR_DRIVER_DATA_DIR="$XDG_DATA_HOME/xr_driver" XR_DRIVER_DATA_DIR="$XDG_DATA_HOME/xr_driver"
GAMESCOPE_DATA_DIR="$XDG_DATA_HOME/gamescope"
GAMESCOPE_RESHADE_SHADERS_DIR="$GAMESCOPE_DATA_DIR/reshade/Shaders"
GAMESCOPE_RESHADE_TEXTURES_DIR="$GAMESCOPE_DATA_DIR/reshade/Textures"
if [ -z "$XDG_CONFIG_HOME" ]; then if [ -z "$XDG_CONFIG_HOME" ]; then
XDG_CONFIG_HOME="$USER_HOME/.config" XDG_CONFIG_HOME="$USER_HOME/.config"
fi fi
@ -127,14 +131,21 @@ sed -e "s|/path/to/reshade-shaders|${RESHADE_CONFIG_DIR}|" \
-e "s|/path/to/sombrero|${RESHADE_CONFIG_DIR}/Shaders/Sombrero.frag|" \ -e "s|/path/to/sombrero|${RESHADE_CONFIG_DIR}/Shaders/Sombrero.frag|" \
config/vkBasalt.conf > $VKBASALT_CONFIG_DIR/vkBasalt.conf config/vkBasalt.conf > $VKBASALT_CONFIG_DIR/vkBasalt.conf
echo "Installing the Sombrero shaders and texture files to ${RESHADE_CONFIG_DIR}/{Shaders,Textures}" echo "Installing the Sombrero shader and texture files to ${RESHADE_CONFIG_DIR}/{Shaders,Textures} and ${GAMESCOPE_DATA_DIR}/reshade/{Shaders,Textures}"
cp *.frag $RESHADE_CONFIG_DIR/Shaders cp *.frag $RESHADE_CONFIG_DIR/Shaders
cp *.fx* $RESHADE_CONFIG_DIR/Shaders cp *.fx* $RESHADE_CONFIG_DIR/Shaders
cp *.png $RESHADE_CONFIG_DIR/Textures cp *.png $RESHADE_CONFIG_DIR/Textures
mkdir -p $GAMESCOPE_RESHADE_SHADERS_DIR
mkdir -p $GAMESCOPE_RESHADE_TEXTURES_DIR
cp *.frag $GAMESCOPE_RESHADE_SHADERS_DIR
cp *.fx* $GAMESCOPE_RESHADE_SHADERS_DIR
cp *.png $GAMESCOPE_RESHADE_TEXTURES_DIR
chown -R $USER:$GROUP $LIB_DIR chown -R $USER:$GROUP $LIB_DIR
chown -R $USER:$GROUP $LIB32_DIR chown -R $USER:$GROUP $LIB32_DIR
chown -R $USER:$GROUP $DATA_DIR chown -R $USER:$GROUP $DATA_DIR
chown -R $USER:$GROUP $GAMESCOPE_DATA_DIR
chown -R $USER:$GROUP $VULKAN_DATA_DIR chown -R $USER:$GROUP $VULKAN_DATA_DIR
chown -R $USER:$GROUP $RESHADE_CONFIG_DIR chown -R $USER:$GROUP $RESHADE_CONFIG_DIR
chown -R $USER:$GROUP $VKBASALT_CONFIG_DIR chown -R $USER:$GROUP $VKBASALT_CONFIG_DIR