From 774682e8c95671ca54c78158f39c166a03a9c38a Mon Sep 17 00:00:00 2001 From: Matthew Rathbone Date: Wed, 13 Dec 2023 22:26:46 -0600 Subject: [PATCH 1/2] Wayland native support for Beekeeper Studio! - Yes, we beat VSCode to a fully supported and documented way of enabling Wayland support - Works with Wayland fractional scaling with no blurriness - Tested and working on Ubuntu 22.04 --- apps/studio/build/launcher-script.sh | 18 ++++++++++--- apps/studio/package.json | 2 +- apps/studio/src/App.vue | 6 +++-- apps/studio/src/background.ts | 30 ++++++++++++++++----- apps/studio/src/background/WindowBuilder.ts | 15 ++++++++--- apps/studio/src/common/platform_info.ts | 1 + 6 files changed, 56 insertions(+), 16 deletions(-) diff --git a/apps/studio/build/launcher-script.sh b/apps/studio/build/launcher-script.sh index b6289cd397..dccc98288e 100755 --- a/apps/studio/build/launcher-script.sh +++ b/apps/studio/build/launcher-script.sh @@ -12,13 +12,25 @@ while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symli done SCRIPT_DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )" + +# taken from the VSCode implementation +# https://aur.archlinux.org/cgit/aur.git/commit/?h=visual-studio-code-bin&id=a0595836467bb205fcabb7e6d44ad7da82b29ed2 +XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-~/.config} + +# Allow users to override command-line options +if [[ -f $XDG_CONFIG_HOME/bks-flags.conf ]]; then + echo "launcher-script: found bks-flags.conf" + USER_FLAGS="$(cat $XDG_CONFIG_HOME/bks-flags.conf)" +fi + + if [ ! -f "$CLONE" ]; then - exec "$SCRIPT_DIR/beekeeper-studio-bin" "$@" + exec "$SCRIPT_DIR/beekeeper-studio-bin" $USER_FLAGS "$@" else UNPRIVILEGED_USERNS_ENABLED=$(cat "$CLONE" 2>/dev/null) if [[ $UNPRIVILEGED_USERNS_ENABLED == 0 ]]; then - exec "$SCRIPT_DIR/beekeeper-studio-bin" "--no-sandbox" "$@" + exec "$SCRIPT_DIR/beekeeper-studio-bin" "--no-sandbox" $USER_FLAGS "$@" else - exec "$SCRIPT_DIR/beekeeper-studio-bin" "$@" + exec "$SCRIPT_DIR/beekeeper-studio-bin" $USER_FLAGS "$@" fi fi diff --git a/apps/studio/package.json b/apps/studio/package.json index 569af650d5..46b5bb2098 100644 --- a/apps/studio/package.json +++ b/apps/studio/package.json @@ -16,7 +16,7 @@ "docs:build": "vuepress build docs", "docs:serve": "vuepress dev docs", "electron:build": "vue-cli-service electron:build", - "electron:serve": "vue-cli-service electron:serve --host localhost", + "electron:serve": "vue-cli-service electron:serve --host localhost --ozone-platform-hint=auto", "postinstall": "electron-builder install-app-deps", "postuninstall": "electron-builder install-app-deps" }, diff --git a/apps/studio/src/App.vue b/apps/studio/src/App.vue index 26c340098a..629a9e9ebb 100644 --- a/apps/studio/src/App.vue +++ b/apps/studio/src/App.vue @@ -1,7 +1,7 @@