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__
*.zip
gschemas.compiled
.flatpak-builder/
out/
*.po~
gnome-44-max/

View File

@ -18,6 +18,7 @@ check_command() {
fi
}
check_command "curl"
check_command "gnome-shell"
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/ .*//')
popd
FLATPAK_BUILD_ARTIFACT=ui/out/com.xronlinux.BreezyDesktop-$ARCH.flatpak
if [ ! -e "$FLATPAK_BUILD_ARTIFACT" ] || [ "$1" == "--rebuild-flatpak" ] || [ "$1" == "--rebuild-all" ]; then
ui/bin/package $ARCH
UI_BUILD_ARTIFACT=ui/out/breezyUI-$ARCH.tar.gz
if [ ! -e "$UI_BUILD_ARTIFACT" ] || [ "$1" == "--rebuild-ui" ] || [ "$1" == "--rebuild-all" ]; then
pushd ui
bin/package $ARCH
popd
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
# 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",
"session-modes": ["user", "unlock-dialog"],
"shell-version": [
- "45", "46"
- "45", "46", "47"
+ "42", "43", "44"
],
"url": "https://github.com/wheaney/breezy-desktop"
@ -353,7 +353,7 @@ index 7883b9b..5478d2a 100644
}
\ No newline at end of file
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
+++ b/gnome-44-max/src/xrEffect.js
@@ -1,13 +1,15 @@
@ -378,7 +378,7 @@ index 2680cae..bfb036f 100644
+const Me = ExtensionUtils.getCurrentExtension();
+
+const Globals = Me.imports.globals;
+const {
+const {
dataViewEnd,
dataViewUint8,
dataViewBigUint,
@ -400,7 +400,7 @@ index 2680cae..bfb036f 100644
// the driver should be using the same data layout version
const DATA_LAYOUT_VERSION = 3;
@@ -220,7 +222,7 @@ function checkParityByte(dataView) {
@@ -221,7 +223,7 @@ function checkParityByte(dataView) {
return parityByte === parity;
}
@ -409,9 +409,9 @@ index 2680cae..bfb036f 100644
Properties: {
'supported-device-detected': GObject.ParamSpec.boolean(
'supported-device-detected',
@@ -360,8 +362,13 @@ export const XREffect = GObject.registerClass({
@@ -361,8 +363,13 @@ export const XREffect = GObject.registerClass({
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(2, customBannerImage.get_texture());
@ -422,6 +422,6 @@ index 2680cae..bfb036f 100644
+ } catch (e) {
+ Globals.logger.log(`ERROR: xrEffect.js vfunc_paint_target ${e.message}\n${e.stack}`);
+ }
this.get_pipeline().set_uniform_1i(this.get_uniform_location('uCalibratingTexture'), 1);
this.get_pipeline().set_uniform_1i(this.get_uniform_location('uCustomBannerTexture'), 2);
this.get_pipeline().set_uniform_1i(this.get_uniform_location('calibratingTexture'), 1);
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"
gnome-extensions uninstall breezydesktop@xronlinux.com
[ "$for_install" -eq 0 ] && echo "Uninstalling the Breezy Desktop UI Flatpak"
flatpak uninstall --user --noninteractive --force-remove com.xronlinux.BreezyDesktop
[ "$for_install" -eq 0 ] && echo "Uninstalling the Breezy Desktop UI application"
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"
# if for-install

View File

@ -9,9 +9,10 @@ check_command() {
fi
}
check_command "flatpak"
check_command "gnome-extensions"
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
# 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
XR_DRIVER_DATA_DIR="$XDG_DATA_HOME/xr_driver"
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
XDG_BIN_HOME="$USER_HOME/.local/bin"
fi
BIN_DIR="$XDG_BIN_HOME"
if [ -d "$XDG_BIN_HOME" ]; then
# check ownership and permissions before doing chown and chmod
@ -60,33 +60,42 @@ UA_EVENT_VERSION="$1"
#INJECT_UA_CALL
# 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_DATA_DIR=$(printf '%s\n' "$DATA_DIR" | sed -e 's/[\/&]/\\&/g')
ESCAPED_XDG_BIN_HOME=$(printf '%s\n' "$XDG_BIN_HOME" | 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_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}"
mkdir -p $XDG_BIN_HOME
cp bin/breezy_gnome_uninstall $XDG_BIN_HOME
sed -i -e "s/{bin_dir}/$ESCAPED_BIN_DIR/g" \
-e "s/{data_dir}/$ESCAPED_DATA_DIR/g" \
sed -i -e "s/{bin_dir}/$ESCAPED_XDG_BIN_HOME/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/{gnome_shell_data_dir}/$ESCAPED_GNOME_SHELL_DATA_DIR/g" \
bin/breezy_gnome_verify
cp bin/breezy_gnome_verify $XDG_BIN_HOME
echo "Copying the manifest file to ${DATA_DIR}"
mkdir -p $DATA_DIR
cp manifest $DATA_DIR
echo "Copying the manifest file to ${BREEZY_GNOME_DATA_DIR}"
mkdir -p $BREEZY_GNOME_DATA_DIR
cp manifest $BREEZY_GNOME_DATA_DIR
EXTENSION_UUID="breezydesktop@xronlinux.com"
echo "Installing the $EXTENSION_UUID GNOME extension"
gnome-extensions install --force "$EXTENSION_UUID.shell-extension.zip"
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)"
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user --noninteractive --reinstall com.xronlinux.BreezyDesktop.flatpak
echo "Installing the Breezy Desktop UI application"
cp -r breezy_ui/data/* $XDG_DATA_HOME
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
echo "Installing xrDriver"

View File

@ -57,6 +57,8 @@ class BreezyDesktopExtension {
this._disable_anti_aliasing_binding = null;
this._optimal_monitor_config_binding = null;
this._headset_as_primary_binding = null;
this._actor_added_connection = null;
this._actor_removed_connection = null;
if (!Globals.logger) {
Globals.logger = new Logger({
@ -264,8 +266,19 @@ class BreezyDesktopExtension {
this._overlay.set_child(overlayContent);
global.stage.insert_child_above(this._overlay, null);
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({
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) {
try {
Main.wm.addKeybinding(
@ -495,6 +513,14 @@ class BreezyDesktopExtension {
Main.wm.removeKeybinding('toggle-follow-shortcut');
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._xr_effect) this._xr_effect.cleanup();
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
const shaderUniformLocations = {
'enabled': null,
'virtual_display_enabled': null,
'show_banner': null,
'imu_quat_data': null,
'look_ahead_cfg': null,
@ -69,7 +69,13 @@ const shaderUniformLocations = {
'fov_widths': null,
'display_resolution': 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) {
@ -198,6 +204,11 @@ function setIntermittentUniformVariables() {
setSingleFloat(this, 'show_banner', imuResetState ? 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, '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['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() {
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);
}

@ -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)}
echo "Building Breezy UI for $ARCH"
check_command() {
if ! command -v "$1" &>/dev/null; then
echo "Please install \"$1\" and make sure it's available in your \$PATH"
exit 1
fi
}
BUILD_PATH=build
UI_BUILD_PATH=$BUILD_PATH/ui
PACKAGE_DIR=$BUILD_PATH/breezy_ui
mkdir -p $UI_BUILD_PATH
mkdir -p $PACKAGE_DIR
check_command "flatpak"
check_command "flatpak-builder"
meson setup $UI_BUILD_PATH
pushd $UI_BUILD_PATH
meson compile
popd
# https://stackoverflow.com/a/246128
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
# mimick the XDG directory structure in our archive file so setup can just copy the directories and not individual files
PACKAGE_DATA_DIR=$PACKAGE_DIR/data
PACKAGE_BIN_DIR=$PACKAGE_DIR/bin
TMP_DIR=$(mktemp -d --tmpdir=$SCRIPT_DIR/.. -t .breezy-ui-flatpak-XXXXXXXXXX)
OUT_DIR=$SCRIPT_DIR/../out
mkdir -p $OUT_DIR
# these are all subdirectories of XDG_DATA_HOME
PACKAGE_BREEZY_DIR=$PACKAGE_DATA_DIR/breezydesktop
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
if [ -e "$BUILD_ARTIFACT" ]; then
rm $BUILD_ARTIFACT
fi
mkdir -p $PACKAGE_BIN_DIR
mkdir -p $PACKAGE_BREEZY_SRC_DIR
mkdir -p $PACKAGE_ICONS_DIR
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
flatpak build-export --arch $ARCH $TMP_DIR/export $TMP_DIR/build
flatpak build-bundle --arch $ARCH $TMP_DIR/export $BUILD_ARTIFACT com.xronlinux.BreezyDesktop --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo
cp src/*.py $PACKAGE_BREEZY_SRC_DIR
cp -L modules/PyXRLinuxDriverIPC/xrdriveripc.py $PACKAGE_BREEZY_SRC_DIR
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
outdir="po/$lang/LC_MESSAGES"
outdir="po/mo/$lang/LC_MESSAGES"
mkdir -p "$outdir"
msgfmt -o "$outdir/breezydesktop.mo" "$file"
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]
Name=Breezy Desktop
Exec=start-breezy-desktop
Exec=breezydesktop
Icon=com.xronlinux.BreezyDesktop
Terminal=false
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',
version: '0.11.0',
version: '1.0.0',
meson_version: '>= 0.62.0',
default_options: [ 'warning_level=2', 'werror=false', ],
)
@ -7,8 +7,6 @@ project('breezydesktop',
i18n = import('i18n')
gnome = import('gnome')
subdir('data')
subdir('src')
subdir('po')

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\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"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -27,11 +27,11 @@ msgstr ""
msgid "This feature is not currently supported for your device."
msgstr ""
#: src/licensedialog.py:49
#: src/licensedialog.py:57
msgid "Paid Tier Status"
msgstr ""
#: src/licensedialog.py:57
#: src/licensedialog.py:63
msgid "Feature Availability"
msgstr ""
@ -313,6 +313,14 @@ msgstr ""
msgid "Default"
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
msgid "Breezy Desktop GNOME invalid setup"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\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"
"Last-Translator: <wayne@xronlinux.com>\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."
msgstr "Diese Funktion wird von Ihrem Gerät derzeit nicht unterstützt."
#: src/licensedialog.py:49
#: src/licensedialog.py:57
msgid "Paid Tier Status"
msgstr "Bezahlter Tarifstatus"
#: src/licensedialog.py:57
#: src/licensedialog.py:63
msgid "Feature Availability"
msgstr "Funktionsverfügbarkeit"
@ -175,8 +175,7 @@ msgstr "Folgemodus"
#: src/gtk/connected-device.ui:67
msgid "Keep the virtual display near the center of your view."
msgstr ""
"Halten Sie das virtuelle Display Nahe der Mitte Ihres Blickfelds."
msgstr "Halten Sie das virtuelle Display Nahe der Mitte Ihres Blickfelds."
#: src/gtk/connected-device.ui:77
msgid "Curved display"
@ -325,15 +324,23 @@ msgid ""
"time. Stick with default unless virtual display drags behind your head "
"movements, jumps ahead, or is very shaky."
msgstr ""
"Wirkt Eingabeverzögerungen entgegen, indem die Kopfverfolgungsposition vor der "
"Renderzeit vorhergesagt wird. Bleiben Sie bei den Standardeinstellungen, es sei denn, das "
"virtuelle Display hängt hinter Ihren Kopfbewegungen hinterher, springt vor oder "
"ist sehr wackelig."
"Wirkt Eingabeverzögerungen entgegen, indem die Kopfverfolgungsposition vor "
"der Renderzeit vorhergesagt wird. Bleiben Sie bei den Standardeinstellungen, "
"es sei denn, das virtuelle Display hängt hinter Ihren Kopfbewegungen "
"hinterher, springt vor oder ist sehr wackelig."
#: src/gtk/connected-device.ui:384
msgid "Default"
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
msgid "Breezy Desktop GNOME invalid setup"
msgstr "Ungültige Breezy Desktop GNOME-Installation"
@ -451,7 +458,9 @@ msgstr "Tastenkombination zuweisen"
#: src/gtk/shortcut-dialog.ui:20
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
msgid "Breezy Desktop"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\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"
"Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
@ -21,17 +21,18 @@ msgstr ""
msgid ""
"Switches your glasses into side-by-side mode and doubles the width of the "
"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
msgid "This feature is not currently supported for your device."
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"
msgstr "Estado del Nivel de Membresía Pagada"
#: src/licensedialog.py:57
#: src/licensedialog.py:63
msgid "Feature Availability"
msgstr "Disponibilidad de Características"
@ -196,7 +197,8 @@ msgid ""
"Closer appears larger, further appears smaller. Controls depth when in "
"widescreen mode."
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
msgid "Display size"
@ -207,7 +209,8 @@ msgid ""
"Combine with display distance to achieve a comfortable level of depth and "
"size."
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
msgid "Display toggle distances"
@ -218,7 +221,8 @@ msgid ""
"Use the buttons to capture the current display distance for use with the "
"keyboard shortcut."
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
msgid "Follow threshold"
@ -274,7 +278,9 @@ msgid ""
"Automatically modify the glasses display configuration for maximum "
"resolution and best scaling when plugged in."
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
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
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
msgid "Always primary display"
@ -290,7 +298,8 @@ msgstr "Siempre como pantalla principal"
#: src/gtk/connected-device.ui:344
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
msgid "Fast SBS mode switching"
@ -301,7 +310,9 @@ msgid ""
"Switches glasses to SBS mode immediately when plugged in, if widescreen mode "
"is on. May cause instability."
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
msgid "Movement look-ahead"
@ -313,12 +324,23 @@ msgid ""
"time. Stick with default unless virtual display drags behind your head "
"movements, jumps ahead, or is very shaky."
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
msgid "Default"
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
msgid "Breezy Desktop GNOME invalid setup"
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 "
"script. Report this issue if it persists."
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
msgid "License Details"
@ -370,10 +393,12 @@ msgid ""
" "
msgstr ""
"\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"
"\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
@ -385,7 +410,9 @@ msgid ""
"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."
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
msgid "No license file was found"
@ -407,12 +434,16 @@ msgid ""
" "
msgstr ""
"\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"
" 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"
" 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
msgid "Try Again"
@ -424,7 +455,9 @@ msgstr "Asignar método abreviado de teclado"
#: src/gtk/shortcut-dialog.ui:20
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
msgid "Breezy Desktop"

View File

@ -5,10 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\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"
"Last-Translator: <wayne@xronlinux.com>\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 "
"display."
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
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"
msgstr "Statut de l'abonnement payant"
#: src/licensedialog.py:57
#: src/licensedialog.py:63
msgid "Feature Availability"
msgstr "Disponibilité des fonctionnalités"
@ -198,8 +200,8 @@ msgid ""
"Closer appears larger, further appears smaller. Controls depth when in "
"widescreen mode."
msgstr ""
"Plus proche apparaît plus grand, plus éloigné apparaît plus petit. Contrôle la "
"profondeur lorsque vous êtes en mode grand écran."
"Plus proche apparaît plus grand, plus éloigné apparaît plus petit. Contrôle "
"la profondeur lorsque vous êtes en mode grand écran."
#: src/gtk/connected-device.ui:123
msgid "Display size"
@ -210,8 +212,8 @@ msgid ""
"Combine with display distance to achieve a comfortable level of depth and "
"size."
msgstr ""
"Combinez avec la distance d'affichage pour obtenir un niveau de profondeur et "
"de taille confortable."
"Combinez avec la distance d'affichage pour obtenir un niveau de profondeur "
"et de taille confortable."
#: src/gtk/connected-device.ui:152
msgid "Display toggle distances"
@ -280,7 +282,8 @@ msgid ""
"resolution and best scaling when plugged in."
msgstr ""
"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
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
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
msgid "Always primary display"
@ -296,7 +301,9 @@ msgstr "Affichage principal en permanence"
#: src/gtk/connected-device.ui:344
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
msgid "Fast SBS mode switching"
@ -307,8 +314,8 @@ msgid ""
"Switches glasses to SBS mode immediately when plugged in, if widescreen mode "
"is on. May cause instability."
msgstr ""
"Bascule les lunettes vers le mode SBS immédiatement lorsqu'elles sont branchées "
"si le mode grand écran est activé. Peut provoquer des instabilités."
"Bascule les lunettes vers le mode SBS immédiatement lorsqu'elles sont "
"branchées si le mode grand écran est activé. Peut provoquer des instabilités."
#: src/gtk/connected-device.ui:365
msgid "Movement look-ahead"
@ -321,13 +328,21 @@ msgid ""
"movements, jumps ahead, or is very shaky."
msgstr ""
"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 "
"ne soit lent, ne saute pas ou ne soit très instable."
"le temps de rendu. Restez sur la valeur par défaut à moins que l'affichage "
"virtuel ne soit lent, ne saute pas ou ne soit très instable."
#: src/gtk/connected-device.ui:384
msgid "Default"
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
msgid "Breezy Desktop GNOME invalid setup"
msgstr "Configuration Breezy Desktop GNOME non valide"
@ -381,12 +396,12 @@ msgid ""
" "
msgstr ""
"\n"
" Si vous avez installé via AUR, assurez-vous d'avoir exécuté la "
"commande de post-installation recommandée:\n"
" Si vous avez installé via AUR, assurez-vous d'avoir exécuté la commande de "
"post-installation recommandée:\n"
" systemctl --user enable --now xr-driver.service\n"
"\n"
" Sinon, veuillez signaler le problème sur GitHub, ou créer un nouveau "
"fil de discussion dans le canal #troubleshooting sur Discord.\n"
" Sinon, veuillez signaler le problème sur GitHub, ou créer un nouveau fil de "
"discussion dans le canal #troubleshooting sur Discord.\n"
" "
#: 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 "
"use it. Otherwise, please follow the Breezy GNOME setup instructions."
msgstr ""
"Si vous venez d'exécuter la configuration, vous devrez peut-être vous déconnecter "
"et vous reconnecter pour l'utiliser. Sinon, veuillez suivre les instructions "
"d'installation de Breezy GNOME."
"Si vous venez d'exécuter la configuration, vous devrez peut-être vous "
"déconnecter et vous reconnecter pour l'utiliser. Sinon, veuillez suivre les "
"instructions d'installation de Breezy GNOME."
#: src/gtk/no-license.ui:13
msgid "No license file was found"
@ -422,15 +437,15 @@ msgid ""
" "
msgstr ""
"\n"
" La première fois que vous utilisez Breezy Desktop, une connexion "
"Internet est requise pour récupérer la licence de votre appareil.\n"
" La première fois que vous utilisez Breezy Desktop, une connexion Internet "
"est requise pour récupérer la licence de votre appareil.\n"
" \n"
" Ne vous inquiétez pas, vous n'êtes pas obligé de faire un don à "
"ce stade. Si vous ne le faites pas, vous obtiendrez une licence d'essai pour "
"vous permettre de décider si Breezy Desktop répond à vos besoins.\n"
" Ne vous inquiétez pas, vous n'êtes pas obligé de faire un don à ce stade. "
"Si vous ne le faites pas, vous obtiendrez une licence d'essai pour vous "
"permettre de décider si Breezy Desktop répond à vos besoins.\n"
" \n"
" Une fois que vous avez obtenu une licence, d'essai ou autre, vous "
"pouvez utiliser Breezy Desktop hors ligne jusqu'à l'expiration des fonctionnalités "
" Une fois que vous avez obtenu une licence, d'essai ou autre, vous pouvez "
"utiliser Breezy Desktop hors ligne jusqu'à l'expiration des fonctionnalités "
"(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
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
msgid "Breezy Desktop"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\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"
"Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
@ -27,11 +27,11 @@ msgstr ""
msgid "This feature is not currently supported for your device."
msgstr ""
#: src/licensedialog.py:49
#: src/licensedialog.py:57
msgid "Paid Tier Status"
msgstr ""
#: src/licensedialog.py:57
#: src/licensedialog.py:63
msgid "Feature Availability"
msgstr ""
@ -313,6 +313,14 @@ msgstr ""
msgid "Default"
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
msgid "Breezy Desktop GNOME invalid setup"
msgstr ""

View File

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

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\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"
"Last-Translator: <wayne@xronlinux.com>\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."
msgstr ""
#: src/licensedialog.py:49
#: src/licensedialog.py:57
msgid "Paid Tier Status"
msgstr ""
#: src/licensedialog.py:57
#: src/licensedialog.py:63
msgid "Feature Availability"
msgstr ""
@ -314,6 +314,14 @@ msgstr ""
msgid "Default"
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
msgid "Breezy Desktop GNOME invalid setup"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\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"
"Last-Translator: <wayne@xronlinux.com>\n"
"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 "
"display."
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
msgid "This feature is not currently supported for your device."
msgstr "Este recurso não é atualmente suportado para o seu dispositivo."
#: src/licensedialog.py:49
#: src/licensedialog.py:57
msgid "Paid Tier Status"
msgstr "Status do Nível Pago"
#: src/licensedialog.py:57
#: src/licensedialog.py:63
msgid "Feature Availability"
msgstr "Disponibilidade de Recursos"
@ -198,8 +199,8 @@ msgid ""
"Closer appears larger, further appears smaller. Controls depth when in "
"widescreen mode."
msgstr ""
"Mais perto parece maior, mais longe parece menor. Controla a profundidade "
"no modo ultrawide."
"Mais perto parece maior, mais longe parece menor. Controla a profundidade no "
"modo ultrawide."
#: src/gtk/connected-device.ui:123
msgid "Display size"
@ -325,12 +326,21 @@ msgid ""
msgstr ""
"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 "
"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
msgid "Default"
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
msgid "Breezy Desktop GNOME invalid setup"
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 "
"use it. Otherwise, please follow the Breezy GNOME setup instructions."
msgstr ""
"Se você acabou de executar a configuração, pode ser necessário fazer logout e "
"login novamente para usá-la. Caso contrário, siga as instruções de "
"Se você acabou de executar a configuração, pode ser necessário fazer logout "
"e login novamente para usá-la. Caso contrário, siga as instruções de "
"configuração do Breezy GNOME."
#: src/gtk/no-license.ui:13
@ -425,16 +435,16 @@ msgid ""
"lifetime access).\n"
" "
msgstr ""
" A primeira vez que você usar o Breezy Desktop, uma conexão com a internet "
"será necessária para obter a licença do seu dispositivo.\n"
" A primeira vez que você usar o Breezy Desktop, uma conexão com a "
"internet será necessária para obter a licença do seu dispositivo.\n"
" \n"
" Não se preocupe, não há nenhuma obrigação de doar neste momento. Se você "
"ainda não o fez, será fornecida uma licença de teste para que você possa "
"decidir se o Breezy Desktop atende às suas necessidades.\n"
" Não se preocupe, não há nenhuma obrigação de doar neste momento. "
"Se você ainda não o fez, será fornecida uma licença de teste para que você "
"possa decidir se o Breezy Desktop atende às suas necessidades.\n"
" \n"
" Uma vez que você obtenha uma licença, de teste ou não, você poderá usar o "
"Breezy Desktop offline até que os recursos expirem (ou indefinidamente, se "
"você escolheu o acesso vitalício)."
" Uma vez que você obtenha uma licença, de teste ou não, você poderá "
"usar o Breezy Desktop offline até que os recursos expirem (ou "
"indefinidamente, se você escolheu o acesso vitalício)."
#: src/gtk/no-license.ui:27
msgid "Try Again"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\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"
"Last-Translator: <wayne@xronlinux.com>\n"
"Language-Team: Russian <gnu@d07.ru>\n"
@ -29,11 +29,11 @@ msgstr ""
msgid "This feature is not currently supported for your device."
msgstr "Эта функция в настоящее время не поддерживается для вашего устройства."
#: src/licensedialog.py:49
#: src/licensedialog.py:57
msgid "Paid Tier Status"
msgstr "Статус платного уровня"
#: src/licensedialog.py:57
#: src/licensedialog.py:63
msgid "Feature Availability"
msgstr "Статус функций"
@ -232,8 +232,7 @@ msgstr "Порог следования"
#: src/gtk/connected-device.ui:179
msgid "How far away you can look before the display follows."
msgstr ""
"Как далеко вы можете отвернуть взгляд, прежде чем дисплей последует за "
"вами."
"Как далеко вы можете отвернуть взгляд, прежде чем дисплей последует за вами."
#: src/gtk/connected-device.ui:209 src/gtk/connected-device.ui:215
msgid "Keyboard Shortcuts"
@ -335,6 +334,14 @@ msgstr ""
msgid "Default"
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
msgid "Breezy Desktop GNOME invalid setup"
msgstr "Недействительная настройка Breezy Desktop GNOME"
@ -432,13 +439,13 @@ msgstr ""
" При первом использовании Breezy Desktop требуется интернет-"
"соединение для получения лицензии вашего устройства.\n"
" \n"
" Не волнуйтесь, на данный момент нет обязательства донатить. "
"Если вы не сделали этого, вам будет предоставлена пробная "
"лицензия, чтобы вы могли решить, подходит ли вам Breezy Desktop.\n"
" Не волнуйтесь, на данный момент нет обязательства донатить. Если "
"вы не сделали этого, вам будет предоставлена пробная лицензия, чтобы вы "
"могли решить, подходит ли вам Breezy Desktop.\n"
" \n"
" После получения лицензии, пробной или иной, вы можете "
"использовать Breezy Desktop офлайн до истечения срока "
"действия функций (или бессрочно, если вы выбрали пожизненный доступ).\n"
" После получения лицензии, пробной или иной, вы можете использовать "
"Breezy Desktop офлайн до истечения срока действия функций (или бессрочно, "
"если вы выбрали пожизненный доступ).\n"
" "
#: src/gtk/no-license.ui:27
@ -479,4 +486,4 @@ msgstr "Сброс"
#: src/gtk/window.ui:63
msgid "About BreezyDesktop"
msgstr "О BreezyDesktop"
msgstr "О BreezyDesktop"

View File

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

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\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"
"Last-Translator: <wayne@xronlinux.com>\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."
msgstr "Ця функція наразі не підтримується на вашому пристрої."
#: src/licensedialog.py:49
#: src/licensedialog.py:57
msgid "Paid Tier Status"
msgstr "Статус платного рівня"
#: src/licensedialog.py:57
#: src/licensedialog.py:63
msgid "Feature Availability"
msgstr "Статус функцій"
@ -196,7 +196,8 @@ msgstr "Відстань дисплея"
msgid ""
"Closer appears larger, further appears smaller. Controls depth when in "
"widescreen mode."
msgstr "Чим ближче, тим більший. Чим далі, тим менший. Керує глибиною при "
msgstr ""
"Чим ближче, тим більший. Чим далі, тим менший. Керує глибиною при "
"використанні режиму широкого екрана."
#: src/gtk/connected-device.ui:123
@ -207,7 +208,9 @@ msgstr "Розмір дисплея"
msgid ""
"Combine with display distance to achieve a comfortable level of depth and "
"size."
msgstr "Поєднуйте з відстанню дисплея, щоб досягти комфортного рівня глибини і розміру."
msgstr ""
"Поєднуйте з відстанню дисплея, щоб досягти комфортного рівня глибини і "
"розміру."
#: src/gtk/connected-device.ui:152
msgid "Display toggle distances"
@ -217,8 +220,9 @@ msgstr "Перемикання відстані дисплея"
msgid ""
"Use the buttons to capture the current display distance for use with the "
"keyboard shortcut."
msgstr "Використовуйте кнопки, щоб зафіксувати поточну відстань дисплея для використання "
"з сполученням клавіш."
msgstr ""
"Використовуйте кнопки, щоб зафіксувати поточну відстань дисплея для "
"використання з сполученням клавіш."
#: src/gtk/connected-device.ui:178
msgid "Follow threshold"
@ -226,7 +230,9 @@ msgstr "Поріг слідування"
#: src/gtk/connected-device.ui:179
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
msgid "Keyboard Shortcuts"
@ -273,8 +279,9 @@ msgstr "Знайти оптимальну конфігурацію диспле
msgid ""
"Automatically modify the glasses display configuration for maximum "
"resolution and best scaling when plugged in."
msgstr "Автоматично змінює конфігурацію дисплея окулярів для максимальної "
"роздільної здатності і найкращого масштабування при підключенні."
msgstr ""
"Автоматично змінює конфігурацію дисплея окулярів для максимальної роздільної "
"здатності і найкращого масштабування при підключенні."
#: src/gtk/connected-device.ui:332
msgid "Use highest refresh rate"
@ -282,8 +289,9 @@ msgstr "Використовувати найвищу частоту оновл
#: src/gtk/connected-device.ui:333
msgid "Refresh rate may affect performance, disable this to set it manually."
msgstr "Частота оновлення може вплинути на продуктивність, вимкніть це, "
"щоб встановити її вручну."
msgstr ""
"Частота оновлення може вплинути на продуктивність, вимкніть це, щоб "
"встановити її вручну."
#: src/gtk/connected-device.ui:343
msgid "Always primary display"
@ -301,7 +309,8 @@ msgstr "Швидке перемикання режиму SBS"
msgid ""
"Switches glasses to SBS mode immediately when plugged in, if widescreen mode "
"is on. May cause instability."
msgstr "Переключає окуляри в режим SBS відразу після підключення, якщо режим "
msgstr ""
"Переключає окуляри в режим SBS відразу після підключення, якщо режим "
"широкого екрана увімкнено. Може викликати нестабільність."
#: src/gtk/connected-device.ui:365
@ -314,14 +323,23 @@ msgid ""
"time. Stick with default unless virtual display drags behind your head "
"movements, jumps ahead, or is very shaky."
msgstr ""
"Компенсує затримку введення, передбачаючи позицію відстеження голови перед часом рендерингу. "
"Залишайтеся при налаштуваннях за замовчуванням, якщо віртуальний дисплей відстає від рухів вашої голови, "
"випереджає або дуже тремтить."
"Компенсує затримку введення, передбачаючи позицію відстеження голови перед "
"часом рендерингу. Залишайтеся при налаштуваннях за замовчуванням, якщо "
"віртуальний дисплей відстає від рухів вашої голови, випереджає або дуже "
"тремтить."
#: src/gtk/connected-device.ui:384
msgid "Default"
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
msgid "Breezy Desktop GNOME invalid setup"
msgstr "Невірна настройка Breezy Desktop GNOME"
@ -331,8 +349,8 @@ msgid ""
"Your Breezy GNOME setup is invalid or incomplete. Please re-run the setup "
"script. Report this issue if it persists."
msgstr ""
"Ваша настройка Breezy GNOME є невірною або неповною. Будь ласка, запустіть скрипт настройки повторно. "
"Повідомте про цю проблему, якщо вона не зникає."
"Ваша настройка Breezy GNOME є невірною або неповною. Будь ласка, запустіть "
"скрипт настройки повторно. Повідомте про цю проблему, якщо вона не зникає."
#: src/gtk/license-dialog.ui:5 src/gtk/window.ui:55
msgid "License Details"
@ -374,10 +392,12 @@ msgid ""
" "
msgstr ""
"\n"
" Якщо ви встановили через AUR, переконайтеся, що ви запустили рекомендовану команду після встановлення:\n"
" Якщо ви встановили через AUR, переконайтеся, що ви запустили "
"рекомендовану команду після встановлення:\n"
" systemctl --user enable --now xr-driver.service\n"
"\n"
"В іншому випадку, будь ласка, створіть запит на GitHub або новий тред у каналі #troubleshooting на Discord.\n"
"В іншому випадку, будь ласка, створіть запит на GitHub або новий тред у "
"каналі #troubleshooting на Discord.\n"
" "
#: 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 "
"use it. Otherwise, please follow the Breezy GNOME setup instructions."
msgstr ""
"Якщо ви тільки що запустили налаштування, можливо, вам потрібно вийти і знову увійти, щоб використовувати його. "
"В іншому випадку, будь ласка, дотримуйтесь інструкцій з налаштування Breezy GNOME."
"Якщо ви тільки що запустили налаштування, можливо, вам потрібно вийти і "
"знову увійти, щоб використовувати його. В іншому випадку, будь ласка, "
"дотримуйтесь інструкцій з налаштування Breezy GNOME."
#: src/gtk/no-license.ui:13
msgid "No license file was found"
@ -412,11 +433,16 @@ msgid ""
" "
msgstr ""
"\n"
"Під час першого запуску програми Breezy Desktop потрібне підключення до Інтернету для отримання ліцензії на пристрій.\n"
"Під час першого запуску програми Breezy Desktop потрібне підключення до "
"Інтернету для отримання ліцензії на пристрій.\n"
" \n"
"Не хвилюйтеся, наразі немає обов'язку донатити. Якщо ви не зробили цього, вам буде надана пробна ліцензія, щоб ви могли вирішити, чи відповідає Breezy Desktop вашим потребам.\n"
"Не хвилюйтеся, наразі немає обов'язку донатити. Якщо ви не зробили цього, "
"вам буде надана пробна ліцензія, щоб ви могли вирішити, чи відповідає Breezy "
"Desktop вашим потребам.\n"
" \n"
"Після отримання ліцензії, пробної або іншої, ви можете використовувати Breezy Desktop офлайн до закінчення терміну дії функції (або безстроково, якщо ви обрали довічний доступ).\n"
"Після отримання ліцензії, пробної або іншої, ви можете використовувати "
"Breezy Desktop офлайн до закінчення терміну дії функції (або безстроково, "
"якщо ви обрали довічний доступ).\n"
" "
#: src/gtk/no-license.ui:27

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\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"
"Last-Translator: <wayne@xronlinux.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."
msgstr ""
#: src/licensedialog.py:49
#: src/licensedialog.py:57
msgid "Paid Tier Status"
msgstr ""
#: src/licensedialog.py:57
#: src/licensedialog.py:63
msgid "Feature Availability"
msgstr ""
@ -312,6 +312,14 @@ msgstr ""
msgid "Default"
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
msgid "Breezy Desktop GNOME invalid setup"
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()
movement_look_ahead_scale = 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):
@ -59,6 +61,7 @@ class ConnectedDevice(Gtk.Box):
]
self.settings = SettingsManager.get_instance().settings
self.desktop_settings = SettingsManager.get_instance().desktop_settings
self.ipc = XRDriverIPC.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('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.desktop_settings.bind('text-scaling-factor', self.text_scaling_adjustment, 'value', Gio.SettingsBindFlags.DEFAULT)
bind_shortcut_settings(self.get_parent(), [
[self.reassign_recenter_display_shortcut_button, self.recenter_display_shortcut_label],

View File

@ -391,6 +391,37 @@
</child>
</object>
</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>
</child>
</object>

View File

@ -1,4 +1,5 @@
from gi.repository import Adw, Gtk, GLib
from .nolicense import NoLicense
from .statemanager import StateManager
from .licensetierrow import LicenseTierRow
from .licensefeaturerow import LicenseFeatureRow
@ -29,6 +30,8 @@ class LicenseDialog(Gtk.Dialog):
self.verify_token.connect('apply', self._on_verify_token)
self.refresh_license_button.connect('clicked', self._refresh_license)
self.no_license = NoLicense(hide_refresh_button = True)
def _refresh_license(self, widget):
self.refresh_license_button.set_sensitive(False)
self.ipc.write_control_flags({'refresh_device_license': True})
@ -46,19 +49,24 @@ class LicenseDialog(Gtk.Dialog):
for child in self.tiers:
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:
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():
features_group.add(LicenseFeatureRow(feature_name, feature_details))
if license_view:
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)

View File

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

View File

@ -8,13 +8,16 @@ class NoLicense(Gtk.Box):
refresh_license_button = Gtk.Template.Child()
def __init__(self, **kwargs):
def __init__(self, hide_refresh_button = False, **kwargs):
super(Gtk.Box, self).__init__()
self.init_template()
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):
self.ipc.write_control_flags({'refresh_device_license': True})

View File

@ -13,3 +13,4 @@ class SettingsManager:
def __init__(self):
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)
elif not self.state_manager.driver_running:
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:
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():
self.main_content.append(self.no_extension)
else:

View File

@ -20,6 +20,10 @@ fi
VULKAN_DATA_DIR="$XDG_DATA_HOME/vulkan"
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
XDG_CONFIG_HOME="$USER_HOME/.config"
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|" \
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 *.fx* $RESHADE_CONFIG_DIR/Shaders
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 $LIB32_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 $RESHADE_CONFIG_DIR
chown -R $USER:$GROUP $VKBASALT_CONFIG_DIR