diff --git a/apps/desktop/electron-builder.json b/apps/desktop/electron-builder.json index 0c2ec58bc3e..832ab9d0bd3 100644 --- a/apps/desktop/electron-builder.json +++ b/apps/desktop/electron-builder.json @@ -262,7 +262,8 @@ }, "u2f-devices" ], - "stagePackages": ["default"] + "stagePackages": ["default"], + "allowNativeWayland": true }, "protocols": [ { diff --git a/apps/desktop/resources/com.bitwarden.desktop.devel.yaml b/apps/desktop/resources/com.bitwarden.desktop.devel.yaml index 3aeebfd809d..858fb6e1af2 100644 --- a/apps/desktop/resources/com.bitwarden.desktop.devel.yaml +++ b/apps/desktop/resources/com.bitwarden.desktop.devel.yaml @@ -8,6 +8,9 @@ command: bitwarden.sh finish-args: - --share=ipc - --share=network + - --socket=wayland + # This should be fallback-x11, but on gnome/mutter, zwlr_data_control_manager_v1 is not implemented + # so we need to use x11 as a fallback to make copy paste work - --socket=x11 - --device=dri - --env=XDG_CURRENT_DESKTOP=Unity diff --git a/apps/desktop/resources/memory-dump-wrapper.sh b/apps/desktop/resources/linux-wrapper.sh similarity index 62% rename from apps/desktop/resources/memory-dump-wrapper.sh rename to apps/desktop/resources/linux-wrapper.sh index 6737cc312f4..dd53eb9811c 100644 --- a/apps/desktop/resources/memory-dump-wrapper.sh +++ b/apps/desktop/resources/linux-wrapper.sh @@ -13,6 +13,9 @@ then export LD_PRELOAD="/usr/lib/x86_64-linux-gnu/libdbus-1.so.3" fi -# pass through all args -$APP_PATH/bitwarden-app "$@" +PARAMS="--enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto" +if [ "$USE_X11" = "true" ]; then + PARAMS="" +fi +$APP_PATH/bitwarden-app $PARAMS "$@" diff --git a/apps/desktop/scripts/after-pack.js b/apps/desktop/scripts/after-pack.js index 997edf2ed6a..5fc42f31ac3 100644 --- a/apps/desktop/scripts/after-pack.js +++ b/apps/desktop/scripts/after-pack.js @@ -25,7 +25,7 @@ async function run(context) { fse.moveSync(oldBin, newBin); console.log("Moved binary to bitwarden-app"); - const wrapperScript = path.join(__dirname, "../resources/memory-dump-wrapper.sh"); + const wrapperScript = path.join(__dirname, "../resources/linux-wrapper.sh"); const wrapperBin = path.join(appOutDir, context.packager.executableName); fse.copyFileSync(wrapperScript, wrapperBin); fse.chmodSync(wrapperBin, "755");