Skip to content

Commit b0a08b1

Browse files
Co-authored-by: Lucas Nogueira <[email protected]> Co-authored-by: Lucas Nogueira <[email protected]>
1 parent e47562f commit b0a08b1

18 files changed

+236
-340
lines changed

.changes/tao-0.22.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"wry": "minor"
3+
---
4+
5+
Update `tao` to version `0.22` which has removed the global-shortcut, menus and tray features, see [[email protected] release](https://github.com/tauri-apps/tao/releases/tag/tao-v0.22.0).

.github/workflows/build.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -75,17 +75,17 @@ jobs:
7575
${{ matrix.platform }}-stable-cargo-core-
7676
7777
- name: build wry
78-
run: cargo build --features tray --target ${{ matrix.platform.target }}
78+
run: cargo build --target ${{ matrix.platform.target }}
7979

8080
- name: build tests and examples
8181
shell: bash
8282
if: (
8383
!contains(matrix.platform.target, 'android') &&
8484
!contains(matrix.platform.target, 'ios'))
85-
run: cargo test --no-run --verbose --features tray --target ${{ matrix.platform.target }}
85+
run: cargo test --no-run --verbose --target ${{ matrix.platform.target }}
8686

8787
- name: run tests
8888
if: (
8989
!contains(matrix.platform.target, 'android') &&
9090
!contains(matrix.platform.target, 'ios'))
91-
run: cargo test --verbose --features tray --target ${{ matrix.platform.target }}
91+
run: cargo test --verbose --target ${{ matrix.platform.target }}

Cargo.toml

+2-3
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ categories = [ "gui" ]
1414

1515
[package.metadata.docs.rs]
1616
default-features = false
17-
features = [ "dox", "file-drop", "protocol", "tray" ]
17+
features = [ "dox", "file-drop", "protocol" ]
1818
targets = [
1919
"x86_64-unknown-linux-gnu",
2020
"x86_64-pc-windows-msvc",
@@ -27,7 +27,6 @@ objc-exception = [ "objc/exception" ]
2727
file-drop = [ ]
2828
protocol = [ ]
2929
dox = [ "tao/dox", "webkit2gtk/dox", "soup3/dox" ]
30-
tray = [ "tao/tray" ]
3130
devtools = [ ]
3231
transparent = [ ]
3332
fullscreen = [ ]
@@ -41,7 +40,7 @@ serde = { version = "1.0", features = [ "derive" ] }
4140
serde_json = "1.0"
4241
thiserror = "1.0"
4342
url = "2.4"
44-
tao = { version = "0.21", default-features = false, features = [ "serde" ] }
43+
tao = { version = "0.22", default-features = false, features = [ "serde" ] }
4544
http = "0.2.9"
4645

4746
[dev-dependencies]

README.md

+1-7
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ Tao uses [gtk-rs](https://gtk-rs.org/) and its related libraries for window crea
8181

8282
```bash
8383
sudo pacman -S webkit2gtk-4.1
84-
sudo pacman -S libappindicator-gtk3 # For tray feature
8584
```
8685

8786
The `libayatana-indicator` package can be installed from the Arch User Repository (AUR).
@@ -90,17 +89,12 @@ The `libayatana-indicator` package can be installed from the Arch User Repositor
9089

9190
```bash
9291
sudo apt install libwebkit2gtk-4.1-dev
93-
# For tray feature, choose one of following package
94-
sudo apt install libayatana-appindicator3-dev
95-
sudo apt install libappindicator3-dev
9692
```
9793

9894
#### Fedora
9995

10096
```bash
10197
sudo dnf install gtk3-devel webkit2gtk4.1-devel
102-
# For tray feature
103-
sudo dnf install libappindicator-gtk3-devel
10498
```
10599

106100
Fedora does not have the Ayatana package yet, so you need to use the GTK one, see the [feature flags documentation](https://docs.rs/wry/latest/wry/#feature-flags).
@@ -121,7 +115,7 @@ WebView2 provided by Microsoft Edge Chromium is used. So wry supports Windows 7,
121115

122116
### Android / iOS
123117

124-
Wry supports mobile with the help of [`tauri-mobile`](https://github.com/tauri-apps/tauri-mobile) CLI to create template project. If you are interested in playing or hacking it, please follow [MOBILE.md](MOBILE.md).
118+
Wry supports mobile with the help of [`tauri-mobile`](https://github.com/tauri-apps/tauri-mobile) CLI to create template project. If you are interested in playing or hacking it, please follow [MOBILE.md](MOBILE.md).
125119

126120
If you wish to create Android project yourself, there are a few kotlin files that are needed to run wry on Android and you have to set the following environment variables:
127121

examples/README.md

-14
This file was deleted.

examples/custom_titlebar.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ fn main() -> wry::Result<()> {
66
use wry::{
77
application::{
88
event::{Event, StartCause, WindowEvent},
9-
event_loop::{ControlFlow, EventLoop},
9+
event_loop::{ControlFlow, EventLoopBuilder},
1010
window::{Window, WindowBuilder},
1111
},
1212
webview::WebViewBuilder,
1313
};
1414

15-
enum UserEvents {
15+
enum UserEvent {
1616
CloseWindow,
1717
}
1818

19-
let event_loop = EventLoop::<UserEvents>::with_user_event();
19+
let event_loop = EventLoopBuilder::<UserEvent>::with_user_event().build();
2020
let window = WindowBuilder::new()
2121
.with_decorations(false)
2222
.build(&event_loop)
@@ -124,7 +124,7 @@ fn main() -> wry::Result<()> {
124124
window.set_maximized(!window.is_maximized());
125125
}
126126
if req == "close" {
127-
let _ = proxy.send_event(UserEvents::CloseWindow);
127+
let _ = proxy.send_event(UserEvent::CloseWindow);
128128
}
129129
if req == "drag_window" {
130130
let _ = window.drag_window();
@@ -149,7 +149,7 @@ fn main() -> wry::Result<()> {
149149
event: WindowEvent::CloseRequested,
150150
..
151151
}
152-
| Event::UserEvent(UserEvents::CloseWindow) => {
152+
| Event::UserEvent(UserEvent::CloseWindow) => {
153153
let _ = webview.take();
154154
*control_flow = ControlFlow::Exit
155155
}

examples/download_event.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ fn main() -> wry::Result<()> {
77
use wry::{
88
application::{
99
event::{Event, StartCause, WindowEvent},
10-
event_loop::{ControlFlow, EventLoop},
10+
event_loop::{ControlFlow, EventLoopBuilder},
1111
window::WindowBuilder,
1212
},
1313
webview::WebViewBuilder,
@@ -29,7 +29,7 @@ fn main() -> wry::Result<()> {
2929
Rejected(String),
3030
}
3131

32-
let event_loop: EventLoop<UserEvent> = EventLoop::with_user_event();
32+
let event_loop = EventLoopBuilder::<UserEvent>::with_user_event().build();
3333
let proxy = event_loop.create_proxy();
3434
let window = WindowBuilder::new()
3535
.with_title("Hello World")

examples/eval_js.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ fn main() -> wry::Result<()> {
66
use wry::{
77
application::{
88
event::{Event, StartCause, WindowEvent},
9-
event_loop::{ControlFlow, EventLoop},
9+
event_loop::{ControlFlow, EventLoopBuilder},
1010
window::{Window, WindowBuilder},
1111
},
1212
webview::WebViewBuilder,
1313
};
1414

15-
enum UserEvents {
15+
enum UserEvent {
1616
ExecEval,
1717
}
1818

19-
let event_loop = EventLoop::<UserEvents>::with_user_event();
19+
let event_loop = EventLoopBuilder::<UserEvent>::with_user_event().build();
2020
let proxy = event_loop.create_proxy();
2121

2222
let window = WindowBuilder::new()
@@ -25,7 +25,7 @@ fn main() -> wry::Result<()> {
2525

2626
let ipc_handler = move |_: &Window, req: String| {
2727
if req == "exec-eval" {
28-
let _ = proxy.send_event(UserEvents::ExecEval);
28+
let _ = proxy.send_event(UserEvent::ExecEval);
2929
}
3030
};
3131

@@ -42,7 +42,7 @@ fn main() -> wry::Result<()> {
4242
*control_flow = ControlFlow::Wait;
4343

4444
match event {
45-
Event::UserEvent(UserEvents::ExecEval) => {
45+
Event::UserEvent(UserEvent::ExecEval) => {
4646
// String
4747
_webview
4848
.evaluate_script_with_callback(

examples/menu.rs

-108
This file was deleted.

examples/multi_window.rs

+9-9
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,21 @@ fn main() -> wry::Result<()> {
77
use wry::{
88
application::{
99
event::{Event, StartCause, WindowEvent},
10-
event_loop::{ControlFlow, EventLoop, EventLoopProxy, EventLoopWindowTarget},
10+
event_loop::{ControlFlow, EventLoopBuilder, EventLoopProxy, EventLoopWindowTarget},
1111
window::{Window, WindowBuilder, WindowId},
1212
},
1313
webview::{WebView, WebViewBuilder},
1414
};
1515

16-
enum UserEvents {
16+
enum UserEvent {
1717
CloseWindow(WindowId),
1818
NewWindow,
1919
}
2020

2121
fn create_new_window(
2222
title: String,
23-
event_loop: &EventLoopWindowTarget<UserEvents>,
24-
proxy: EventLoopProxy<UserEvents>,
23+
event_loop: &EventLoopWindowTarget<UserEvent>,
24+
proxy: EventLoopProxy<UserEvent>,
2525
) -> (WindowId, WebView) {
2626
let window = WindowBuilder::new()
2727
.with_title(title)
@@ -30,10 +30,10 @@ fn main() -> wry::Result<()> {
3030
let window_id = window.id();
3131
let handler = move |window: &Window, req: String| match req.as_str() {
3232
"new-window" => {
33-
let _ = proxy.send_event(UserEvents::NewWindow);
33+
let _ = proxy.send_event(UserEvent::NewWindow);
3434
}
3535
"close" => {
36-
let _ = proxy.send_event(UserEvents::CloseWindow(window.id()));
36+
let _ = proxy.send_event(UserEvent::CloseWindow(window.id()));
3737
}
3838
_ if req.starts_with("change-title") => {
3939
let title = req.replace("change-title:", "");
@@ -58,7 +58,7 @@ fn main() -> wry::Result<()> {
5858
(window_id, webview)
5959
}
6060

61-
let event_loop = EventLoop::<UserEvents>::with_user_event();
61+
let event_loop = EventLoopBuilder::<UserEvent>::with_user_event().build();
6262
let mut webviews = HashMap::new();
6363
let proxy = event_loop.create_proxy();
6464

@@ -82,15 +82,15 @@ fn main() -> wry::Result<()> {
8282
*control_flow = ControlFlow::Exit
8383
}
8484
}
85-
Event::UserEvent(UserEvents::NewWindow) => {
85+
Event::UserEvent(UserEvent::NewWindow) => {
8686
let new_window = create_new_window(
8787
format!("Window {}", webviews.len() + 1),
8888
event_loop,
8989
proxy.clone(),
9090
);
9191
webviews.insert(new_window.0, new_window.1);
9292
}
93-
Event::UserEvent(UserEvents::CloseWindow(id)) => {
93+
Event::UserEvent(UserEvent::CloseWindow(id)) => {
9494
webviews.remove(&id);
9595
if webviews.is_empty() {
9696
*control_flow = ControlFlow::Exit

examples/navigation_event.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ fn main() -> wry::Result<()> {
66
use wry::{
77
application::{
88
event::{Event, StartCause, WindowEvent},
9-
event_loop::{ControlFlow, EventLoop},
9+
event_loop::{ControlFlow, EventLoopBuilder},
1010
window::WindowBuilder,
1111
},
1212
webview::WebViewBuilder,
@@ -16,7 +16,7 @@ fn main() -> wry::Result<()> {
1616
Navigation(String),
1717
}
1818

19-
let event_loop: EventLoop<UserEvent> = EventLoop::with_user_event();
19+
let event_loop = EventLoopBuilder::<UserEvent>::with_user_event().build();
2020
let proxy = event_loop.create_proxy();
2121
let window = WindowBuilder::new()
2222
.with_title("Hello World")

0 commit comments

Comments
 (0)