From 9305293a95d70bed22dc35fdaa2225e9fa160feb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=90=8C=E8=90=8C=E5=93=92=E8=B5=AB=E8=90=9D?= Date: Wed, 12 Apr 2023 15:37:42 +0800 Subject: [PATCH] :bug: Fix: mac shortcut bug --- .github/workflows/mac_build.yml | 92 +++++++++++++++++++++++++++++++ src/main/apis/app/system/index.ts | 12 ++++ 2 files changed, 104 insertions(+) create mode 100644 .github/workflows/mac_build.yml diff --git a/.github/workflows/mac_build.yml b/.github/workflows/mac_build.yml new file mode 100644 index 0000000..da2c63a --- /dev/null +++ b/.github/workflows/mac_build.yml @@ -0,0 +1,92 @@ +# main.yml + +# Workflow's name +name: Mac Build + +# Workflow's trigger +on: + workflow_dispatch: + +env: + ELECTRON_OUTPUT_PATH: ./dist_electron + CSC_LINK: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} + CSC_KEY_PASSWORD: ${{ secrets.P12_PASSWORD }} + +# Workflow's jobs +jobs: + # job's id + release: + # job's name + name: build and release electron app + + # the type of machine to run the job on + runs-on: ${{ matrix.os }} + + # create a build matrix for jobs + strategy: + fail-fast: false + matrix: + os: [macos-11] + + # create steps + steps: + # step1: check out repository + - name: Check out git repository + uses: actions/checkout@v2 + + # step2: sign + - name: Install the Apple certificates + if: matrix.os == 'macos-11' + run: | + CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 + echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH + + # step3: install node env + - name: Install Node.js + uses: actions/setup-node@v2 + with: + node-version: '16.x' + + - name: Install system deps + if: matrix.os == 'ubuntu-latest' + run: | + sudo apt-get install --no-install-recommends -y icnsutils graphicsmagick xz-utils + + # step3: yarn + - name: Yarn install macos + if: matrix.os == 'macos-11' + run: | + yarn + yarn global add xvfb-maybe + npm rebuild --platform=darwin --arch=arm64 sharp + + - name: Yarn install windows + if: matrix.os == 'windows-latest' + run: | + yarn + yarn global add xvfb-maybe + + - name: Yarn install linux + if: matrix.os == 'ubuntu-latest' + run: | + yarn + yarn global add xvfb-maybe + + - name: Build & release app + run: | + yarn release + yarn upload-dist + env: + GH_TOKEN: ${{ secrets.GH_TOKEN }} + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + R2_SECRET_ID: ${{ secrets.R2_SECRET_ID }} + R2_SECRET_KEY: ${{ secrets.R2_SECRET_KEY }} + R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }} + ELECTRON_SKIP_NOTARIZATION: ${{ secrets.ELECTRON_SKIP_NOTARIZATION }} + XCODE_APP_LOADER_EMAIL: ${{ secrets.XCODE_APP_LOADER_EMAIL }} + XCODE_APP_LOADER_PASSWORD: ${{ secrets.XCODE_APP_LOADER_PASSWORD }} + BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} + P12_PASSWORD: ${{ secrets.P12_PASSWORD }} + BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} + KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} diff --git a/src/main/apis/app/system/index.ts b/src/main/apis/app/system/index.ts index 878bce5..819cca9 100644 --- a/src/main/apis/app/system/index.ts +++ b/src/main/apis/app/system/index.ts @@ -99,6 +99,18 @@ export function createMenu () { // @ts-ignore submenu }, + { + label: 'Edit', + submenu: [ + { label: 'Undo', accelerator: 'CmdOrCtrl+Z' }, + { label: 'Redo', accelerator: 'Shift+CmdOrCtrl+Z' }, + { type: 'separator' }, + { label: 'Cut', accelerator: 'CmdOrCtrl+X' }, + { label: 'Copy', accelerator: 'CmdOrCtrl+C' }, + { label: 'Paste', accelerator: 'CmdOrCtrl+V' }, + { label: 'Select All', accelerator: 'CmdOrCtrl+A' } + ] + }, { label: T('QUIT'), submenu: [