|
1 | | -# Tauri + Vue + TypeScript |
| 1 | +# Circle Camera |
2 | 2 |
|
3 | | -This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more. |
| 3 | +A simple Tauri app that displays your webcam in a circle. Perfect for screen recordings when you want to include your webcam feed without taking up too much space. |
4 | 4 |
|
5 | | -## Recommended IDE Setup |
| 5 | +## Features |
6 | 6 |
|
7 | | -- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer) |
| 7 | +- Circular webcam display |
| 8 | +- Transparent background |
| 9 | +- Draggable window |
| 10 | +- Camera selection |
| 11 | +- Resizable |
| 12 | +- Controls only visible on hover |
8 | 13 |
|
9 | | -## Type Support For `.vue` Imports in TS |
| 14 | +## Installation |
10 | 15 |
|
11 | | -Since TypeScript cannot handle type information for `.vue` imports, they are shimmed to be a generic Vue component type by default. In most cases this is fine if you don't really care about component prop types outside of templates. However, if you wish to get actual prop types in `.vue` imports (for example to get props validation when using manual `h(...)` calls), you can enable Volar's Take Over mode by following these steps: |
| 16 | +### macOS |
12 | 17 |
|
13 | | -1. Run `Extensions: Show Built-in Extensions` from VS Code's command palette, look for `TypeScript and JavaScript Language Features`, then right click and select `Disable (Workspace)`. By default, Take Over mode will enable itself if the default TypeScript extension is disabled. |
14 | | -2. Reload the VS Code window by running `Developer: Reload Window` from the command palette. |
| 18 | +Download the latest DMG installer from the [installers](/installers) directory and open it. |
15 | 19 |
|
16 | | -You can learn more about Take Over mode [here](https://github.com/johnsoncodehk/volar/discussions/471). |
| 20 | +## Development |
| 21 | + |
| 22 | +### Prerequisites |
| 23 | + |
| 24 | +- Node.js (v16 or later) |
| 25 | +- pnpm |
| 26 | +- Rust and Cargo |
| 27 | + |
| 28 | +### Setup |
| 29 | + |
| 30 | +1. Clone the repository |
| 31 | +2. Install dependencies: |
| 32 | + |
| 33 | +```bash |
| 34 | +pnpm install |
| 35 | +``` |
| 36 | + |
| 37 | +### Development |
| 38 | + |
| 39 | +Run the app in development mode: |
| 40 | + |
| 41 | +```bash |
| 42 | +pnpm tauri dev |
| 43 | +``` |
| 44 | + |
| 45 | +### Building |
| 46 | + |
| 47 | +Build the app for production: |
| 48 | + |
| 49 | +```bash |
| 50 | +pnpm build:installer |
| 51 | +``` |
| 52 | + |
| 53 | +This will create installers in the `installers` directory. |
| 54 | + |
| 55 | +### Updating the App Icon |
| 56 | + |
| 57 | +1. Replace the `public/icon.svg` file with your own SVG icon |
| 58 | +2. Generate the app icons: |
| 59 | + |
| 60 | +```bash |
| 61 | +pnpm icons |
| 62 | +``` |
| 63 | + |
| 64 | +3. Rebuild the app: |
| 65 | + |
| 66 | +```bash |
| 67 | +pnpm build:installer |
| 68 | +``` |
| 69 | + |
| 70 | +## License |
| 71 | + |
| 72 | +MIT |
0 commit comments