Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: waycrate/exwlshelleventloop
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 009f83e07236073256b8d2cd603c1aabc926aec0
Choose a base ref
..
head repository: waycrate/exwlshelleventloop
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 80f0e614001ab9d16cc028ed6a9248ca8e7f2821
Choose a head ref
30 changes: 15 additions & 15 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 10 additions & 10 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -18,23 +18,23 @@ authors = [
"Aakash Sen Sharma <aakashsensharma@gmail.com>",
]
edition = "2021"
version = "0.9.6"
version = "0.9.7"
license = "MIT"
repository = "https://github.com/waycrate/exwlshelleventloop"
description = "Wayland extra shell lib"
keywords = ["wayland", "wlroots"]
readme = "README.md"

[workspace.dependencies]
layershellev = { version = "0.9.6", path = "./layershellev" }
sessionlockev = { version = "0.9.6", path = "./sessionlockev" }
iced_wayland_subscriber = { version = "0.9.6", path = "./iced_wayland_subscriber" }

iced_layershell = { version = "0.9.6", path = "./iced_layershell" }
iced_layershell_macros = { version = "0.9.6", path = "./iced_layershell_macros" }
iced_sessionlock = { version = "0.9.6", path = "./iced_sessionlock" }
iced_sessionlock_macros = { version = "0.9.6", path = "./iced_sessionlock_macros" }
waycrate_xkbkeycode = { version = "0.9.6", path = "./waycrate_xkbkeycode" }
layershellev = { version = "0.9.7", path = "./layershellev" }
sessionlockev = { version = "0.9.7", path = "./sessionlockev" }
iced_wayland_subscriber = { version = "0.9.7", path = "./iced_wayland_subscriber" }

iced_layershell = { version = "0.9.7", path = "./iced_layershell" }
iced_layershell_macros = { version = "0.9.7", path = "./iced_layershell_macros" }
iced_sessionlock = { version = "0.9.7", path = "./iced_sessionlock" }
iced_sessionlock_macros = { version = "0.9.7", path = "./iced_sessionlock_macros" }
waycrate_xkbkeycode = { version = "0.9.7", path = "./waycrate_xkbkeycode" }

tempfile = "3.14.0"
thiserror = "1.0.69"
3 changes: 3 additions & 0 deletions iced_examples/counter_muti/src/main.rs
Original file line number Diff line number Diff line change
@@ -190,6 +190,7 @@ impl MultiApplication for Counter {
margin: None,
keyboard_interactivity: KeyboardInteractivity::Exclusive,
output_setting: LayerOutputSetting::None,
..Default::default()
},
info: WindowInfo::Left,
}),
@@ -202,6 +203,7 @@ impl MultiApplication for Counter {
margin: None,
keyboard_interactivity: KeyboardInteractivity::Exclusive,
output_setting: LayerOutputSetting::None,
..Default::default()
},
info: WindowInfo::Right,
}),
@@ -216,6 +218,7 @@ impl MultiApplication for Counter {
margin: None,
keyboard_interactivity: KeyboardInteractivity::None,
output_setting: LayerOutputSetting::ChosenOutput(output),
..Default::default()
},
info: WindowInfo::TopBar,
})
1 change: 1 addition & 0 deletions iced_examples/zbus_invoked_widget/src/main.rs
Original file line number Diff line number Diff line change
@@ -56,6 +56,7 @@ impl TryInto<LaLaShellIdAction> for Message {
margin: Some((100, 100, 100, 100)),
keyboard_interactivity: KeyboardInteractivity::OnDemand,
output_setting: LayerOutputSetting::None,
..Default::default()
},
(),
)),
9 changes: 8 additions & 1 deletion iced_layershell/src/application.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
mod state;

use std::{mem::ManuallyDrop, os::fd::AsFd, sync::Arc, time::Duration};
use std::{borrow::Cow, mem::ManuallyDrop, os::fd::AsFd, sync::Arc, time::Duration};

use crate::{
actions::{
@@ -161,6 +161,7 @@ where
.with_use_display_handle(true)
.with_option_size(settings.layer_settings.size)
.with_layer(settings.layer_settings.layer)
.with_events_transparent(settings.layer_settings.events_transparent)
.with_anchor(settings.layer_settings.anchor)
.with_exclusize_zone(settings.layer_settings.exclusive_zone)
.with_margin(settings.layer_settings.margin)
@@ -194,6 +195,7 @@ where
control_sender,
state,
window,
settings.fonts,
));

let mut context = task::Context::from_waker(task::noop_waker_ref());
@@ -330,6 +332,7 @@ async fn run_instance<A, E, C>(
mut control_sender: mpsc::UnboundedSender<LayerShellActionVec<()>>,
mut state: State<A>,
window: Arc<WindowWrapper>,
fonts: Vec<Cow<'static, [u8]>>,
) where
A: Application + 'static,
E: Executor + 'static,
@@ -343,6 +346,10 @@ async fn run_instance<A, E, C>(
let mut compositor = C::new(compositor_settings, window.clone())
.await
.expect("Cannot create compositor");
for font in fonts {
compositor.load_font(font);
}

let mut renderer = compositor.create_renderer();

let cache = user_interface::Cache::default();
11 changes: 10 additions & 1 deletion iced_layershell/src/multi_window.rs
Original file line number Diff line number Diff line change
@@ -8,7 +8,10 @@ use crate::{
settings::VirtualKeyboardSettings,
DefaultStyle,
};
use std::{collections::HashMap, f64, mem::ManuallyDrop, os::fd::AsFd, sync::Arc, time::Duration};
use std::{
borrow::Cow, collections::HashMap, f64, mem::ManuallyDrop, os::fd::AsFd, sync::Arc,
time::Duration,
};

use crate::{
actions::{LayerShellAction, LayershellCustomActionsWithInfo},
@@ -189,6 +192,7 @@ where
let ev: WindowState<A::WindowInfo> = layershellev::WindowState::new(&application.namespace())
.with_start_mode(settings.layer_settings.start_mode)
.with_use_display_handle(true)
.with_events_transparent(settings.layer_settings.events_transparent)
.with_option_size(settings.layer_settings.size)
.with_layer(settings.layer_settings.layer)
.with_anchor(settings.layer_settings.anchor)
@@ -213,6 +217,7 @@ where
event_receiver,
control_sender,
window,
settings.fonts,
is_background_mode,
));

@@ -469,6 +474,7 @@ async fn run_instance<A, E, C>(
>,
mut control_sender: mpsc::UnboundedSender<LayerShellActionVec<A::WindowInfo>>,
window: Arc<WindowWrapper>,
fonts: Vec<Cow<'static, [u8]>>,
is_background_mode: bool,
) where
A: Application + 'static,
@@ -484,6 +490,9 @@ async fn run_instance<A, E, C>(
let mut compositor = C::new(compositor_settings, window.clone())
.await
.expect("Cannot create compositer");
for font in fonts {
compositor.load_font(font);
}

let mut window_manager = WindowManager::new();

3 changes: 3 additions & 0 deletions iced_layershell/src/settings.rs
Original file line number Diff line number Diff line change
@@ -83,6 +83,7 @@ pub struct LayerShellSettings {
pub margin: (i32, i32, i32, i32),
pub keyboard_interactivity: KeyboardInteractivity,
pub start_mode: StartMode,
pub events_transparent: bool,
}

impl Default for LayerShellSettings {
@@ -94,6 +95,7 @@ impl Default for LayerShellSettings {
size: None,
margin: (0, 0, 0, 0),
keyboard_interactivity: KeyboardInteractivity::OnDemand,
events_transparent: false,
start_mode: StartMode::default(),
}
}
@@ -159,6 +161,7 @@ mod tests {
margin: (10, 10, 10, 10),
keyboard_interactivity: KeyboardInteractivity::None,
start_mode: StartMode::TargetScreen("HDMI-1".to_string()),
events_transparent: false,
};

assert_eq!(layer_settings.anchor, Anchor::Top | Anchor::Left);
8 changes: 6 additions & 2 deletions iced_sessionlock/src/multi_window.rs
Original file line number Diff line number Diff line change
@@ -3,7 +3,7 @@ use crate::{
actions::{SessionShellActionVec, UnLockAction},
multi_window::window_manager::WindowManager,
};
use std::{collections::HashMap, f64, mem::ManuallyDrop, sync::Arc};
use std::{borrow::Cow, collections::HashMap, f64, mem::ManuallyDrop, sync::Arc};

use crate::{
actions::SessionShellAction, clipboard::SessionLockClipboard, conversion, error::Error,
@@ -177,6 +177,7 @@ where
control_sender,
//state,
window,
settings.fonts,
));

let mut context = task::Context::from_waker(task::noop_waker_ref());
@@ -288,6 +289,7 @@ async fn run_instance<A, E, C>(
>,
mut control_sender: mpsc::UnboundedSender<SessionShellActionVec>,
window: Arc<WindowWrapper>,
fonts: Vec<Cow<'static, [u8]>>,
) where
A: Application + 'static,
E: Executor + 'static,
@@ -300,7 +302,9 @@ async fn run_instance<A, E, C>(
let mut compositor = C::new(compositor_settings, window.clone())
.await
.expect("Cannot create compositer");

for font in fonts {
compositor.load_font(font);
}
let mut window_manager = WindowManager::new();

let mut clipboard = SessionLockClipboard::connect(&window);
2 changes: 2 additions & 0 deletions layershellev/src/events.rs
Original file line number Diff line number Diff line change
@@ -89,6 +89,7 @@ pub struct NewLayerShellSettings {
/// follow the last output of the activated surface, used to create some thing like mako, who
/// will show on the same window, only when the notifications is cleared, it will change the
/// wl_output.
pub events_transparent: bool,
pub output_setting: LayerOutputSetting,
}

@@ -112,6 +113,7 @@ impl Default for NewLayerShellSettings {
size: None,
margin: Some((0, 0, 0, 0)),
keyboard_interactivity: KeyboardInteractivity::OnDemand,
events_transparent: false,
output_setting: LayerOutputSetting::None,
}
}
Loading