diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..b4ca984 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,84 @@ +name: "Nightly Builds" + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + publish-tauri: + strategy: + fail-fast: false + matrix: + platform: [macos-latest, ubuntu-latest, windows-latest] + + runs-on: ${{ matrix.platform }} + steps: + - uses: actions/checkout@v4 + + - name: setup node + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: install Rust stable + uses: dtolnay/rust-toolchain@stable + + - name: Rust cache + uses: swatinem/rust-cache@v2 + with: + workspaces: "./src-tauri -> target" + + - name: pnpm cache + uses: actions/cache@v3 + with: + path: ~/.pnpm-store + key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm- + + - name: install dependencies (ubuntu only) + if: matrix.platform == 'ubuntu-latest' + run: | + sudo apt update + sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libayatana-appindicator3-dev librsvg2-dev libasound2-dev + echo "PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig" >> $GITHUB_ENV + + - name: install frontend dependencies + run: npm install -g pnpm && pnpm install + + - uses: tauri-apps/tauri-action@v0 + + - name: Publish macOS Artifact + if: matrix.platform == 'macos-latest' + uses: actions/upload-artifact@v3 + with: + name: build-macos-dmg + path: src-tauri/target/release/bundle/dmg/*.dmg + + - name: Publish Windows Artifact + if: matrix.platform == 'windows-latest' + uses: actions/upload-artifact@v3 + with: + name: build-windows-msi + path: src-tauri/target/release/bundle/msi/*.msi + + - name: Publish Ubuntu Artifacts + if: matrix.platform == 'ubuntu-latest' + uses: actions/upload-artifact@v3 + with: + name: build-ubuntu-deb + path: src-tauri/target/release/bundle/deb/*.deb + - uses: actions/upload-artifact@v3 + if: matrix.platform == 'ubuntu-latest' + with: + name: build-ubuntu-appimage + path: src-tauri/target/release/bundle/appimage/*.AppImage + - uses: actions/upload-artifact@v3 + if: matrix.platform == 'ubuntu-latest' + with: + name: build-ubuntu-rpm + path: src-tauri/target/release/bundle/rpm/*.rpm diff --git a/app.vue b/app.vue index c760edb..7d0b524 100644 --- a/app.vue +++ b/app.vue @@ -59,6 +59,7 @@ import { platform } from '@tauri-apps/plugin-os'; import { invoke } from '@tauri-apps/api/core'; import { enable, isEnabled } from "@tauri-apps/plugin-autostart"; import { listen } from '@tauri-apps/api/event'; +import { register, unregister, isRegistered } from '@tauri-apps/plugin-global-shortcut'; const db = ref(null); const history = ref([]); @@ -213,6 +214,23 @@ onMounted(async () => { await enable() } + if (await isRegistered("MetaLeft+V")) { + await unregister("MetaLeft+V") + } + + await register('MetaLeft+V', (event) => { + if (event.state === "MetaLeft+V") { + if (isVisible.value == true) { + app.hide() + isVisible.value = false; + } else { + app.show() + isVisible.value = true; + selectedIndex.value = 0; + } + } + }); + await listen('tauri://blur', hideApp); await listen('tauri://focus', focusSearchInput); focusSearchInput(); diff --git a/package.json b/package.json index e645cd4..9d34c0a 100644 --- a/package.json +++ b/package.json @@ -18,9 +18,10 @@ "@tauri-apps/plugin-os": "^2.0.0-beta.6", "@tauri-apps/plugin-sql": "^2.0.0-beta.6", "nuxt": "^3.12.3", + "nuxt-build-cache": "^0.1.1", "overlayscrollbars": "^2.9.2", "overlayscrollbars-vue": "^0.5.9", - "sass": "^1.77.6", + "sass": "^1.77.7", "vue": "latest" } }