Added menu functionality. (#58)

* Added core::Channel and menu functionality. core::Channel may leak memory.

* Added leptos example.
This commit is contained in:
bicarlsen 2024-08-02 15:31:56 +02:00 committed by GitHub
parent aa3a64af11
commit 115009d4bf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
44 changed files with 1319 additions and 13 deletions

7
examples/leptos/src-tauri/.gitignore vendored Normal file
View file

@ -0,0 +1,7 @@
# Generated by Cargo
# will have compiled files and executables
/target/
# Generated by Tauri
# will have schema files for capabilities auto-completion
/gen/schemas

View file

@ -0,0 +1,20 @@
[package]
name = "test-tauri-events"
version = "0.0.0"
description = "A Tauri App"
authors = ["you"]
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[build-dependencies]
# tauri-build = { version = "2.0.0-beta", features = [] }
tauri-build = { path = "../../tauri/core/tauri-build", features = [] }
[dependencies]
tauri = { path = "../../tauri/core/tauri", features = [] }
tauri-plugin-shell = { path = "../../plugins-workspace/plugins/shell" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tracing = "0.1.40"
tracing-subscriber = "0.3.18"

View file

@ -0,0 +1,3 @@
fn main() {
tauri_build::build()
}

View file

@ -0,0 +1,17 @@
{
"$schema": "../gen/schemas/desktop-schema.json",
"identifier": "default",
"description": "Capability for the main window",
"windows": ["main"],
"permissions": [
"core:path:default",
"core:event:default",
"core:window:default",
"core:app:default",
"core:image:default",
"core:resources:default",
"core:menu:default",
"core:tray:default",
"shell:allow-open"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 974 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 903 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View file

@ -0,0 +1,41 @@
// Prevents additional console window on Windows in release, DO NOT REMOVE!!
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
use tauri::{Emitter, Manager};
fn main() {
logging::enable();
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![trigger_listen_events,])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
#[tauri::command]
fn trigger_listen_events(app: tauri::AppHandle) {
tracing::debug!("trigger_listen_event");
std::thread::spawn({
move || {
for i in 1..=100 {
app.emit("event::listen", i).unwrap();
std::thread::sleep(std::time::Duration::from_millis(500));
}
}
});
}
mod logging {
use tracing_subscriber::{filter::LevelFilter, fmt, prelude::*, Layer, Registry};
const MAX_LOG_LEVEL: LevelFilter = LevelFilter::DEBUG;
pub fn enable() {
let console_logger = fmt::layer()
.with_writer(std::io::stdout)
.pretty()
.with_filter(MAX_LOG_LEVEL);
let subscriber = Registry::default().with(console_logger);
tracing::subscriber::set_global_default(subscriber).unwrap();
}
}

View file

@ -0,0 +1,35 @@
{
"productName": "test-tauri-events",
"version": "0.0.0",
"identifier": "com.tauri.dev",
"build": {
"beforeDevCommand": "trunk serve",
"devUrl": "http://localhost:1420",
"beforeBuildCommand": "trunk build",
"frontendDist": "../dist"
},
"app": {
"withGlobalTauri": true,
"windows": [
{
"title": "test-tauri-events",
"width": 800,
"height": 600
}
],
"security": {
"csp": null
}
},
"bundle": {
"active": true,
"targets": "all",
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
]
}
}