fix: right click popup corners
This commit is contained in:
parent
f0ca9e7aee
commit
74b6202686
1 changed files with 19 additions and 6 deletions
|
|
@ -27,25 +27,28 @@ use cosmic::{
|
||||||
},
|
},
|
||||||
cosmic_config::{Config, CosmicConfigEntry},
|
cosmic_config::{Config, CosmicConfigEntry},
|
||||||
desktop::IconSourceExt,
|
desktop::IconSourceExt,
|
||||||
iced::runtime::{core::event, dnd::peek_dnd},
|
|
||||||
iced::{
|
iced::{
|
||||||
self, Alignment, Background, Border, Length, Limits, Padding, Subscription,
|
self, Alignment, Background, Border, Length, Limits, Padding, Subscription,
|
||||||
advanced::text::{Ellipsize, EllipsizeHeightLimit},
|
advanced::text::{Ellipsize, EllipsizeHeightLimit},
|
||||||
clipboard::mime::{AllowedMimeTypes, AsMimeTypes},
|
clipboard::mime::{AllowedMimeTypes, AsMimeTypes},
|
||||||
event::listen_with,
|
event::listen_with,
|
||||||
platform_specific::shell::commands::popup::{destroy_popup, get_popup},
|
platform_specific::shell::commands::popup::{destroy_popup, get_popup},
|
||||||
|
runtime::{core::event, dnd::peek_dnd, platform_specific::wayland::CornerRadius},
|
||||||
widget::{
|
widget::{
|
||||||
Column, Row, column, mouse_area, row, rule::vertical as vertical_rule,
|
Column, Row, column, mouse_area, row,
|
||||||
space::horizontal as horizontal_space, space::vertical as vertical_space, stack,
|
rule::vertical as vertical_rule,
|
||||||
|
space::{horizontal as horizontal_space, vertical as vertical_space},
|
||||||
|
stack,
|
||||||
},
|
},
|
||||||
window,
|
window,
|
||||||
},
|
},
|
||||||
surface,
|
surface::{self, action::LiveSettings},
|
||||||
theme::{self, Button, Container},
|
theme::{self, Button, Container},
|
||||||
widget::{
|
widget::{
|
||||||
DndDestination, Image, button, container, divider, dnd_source,
|
DndDestination, Image, button, container, divider, dnd_source,
|
||||||
icon::{self, from_name},
|
icon::{self, from_name},
|
||||||
image::Handle,
|
image::Handle,
|
||||||
|
menu,
|
||||||
rectangle_tracker::{RectangleTracker, RectangleUpdate, rectangle_tracker_subscription},
|
rectangle_tracker::{RectangleTracker, RectangleUpdate, rectangle_tracker_subscription},
|
||||||
svg, text,
|
svg, text,
|
||||||
},
|
},
|
||||||
|
|
@ -913,9 +916,18 @@ impl cosmic::Application for CosmicAppList {
|
||||||
tracing::error!("No rectangle found for toplevel group");
|
tracing::error!("No rectangle found for toplevel group");
|
||||||
return Task::none();
|
return Task::none();
|
||||||
};
|
};
|
||||||
|
let corners = self.core.system_theme().cosmic().corner_radii.radius_s;
|
||||||
let popup_task =
|
let popup_task =
|
||||||
cosmic::surface::surface_task(cosmic::surface::action::app_popup(
|
cosmic::surface::surface_task(cosmic::surface::action::app_popup(
|
||||||
|_| Default::default(),
|
move |_| LiveSettings {
|
||||||
|
corners: Some(CornerRadius {
|
||||||
|
top_left: corners[0] as u32 + 1,
|
||||||
|
top_right: corners[1] as u32 + 1,
|
||||||
|
bottom_left: corners[3] as u32 + 1,
|
||||||
|
bottom_right: corners[2] as u32 + 1,
|
||||||
|
}),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
move |app: &mut Self| {
|
move |app: &mut Self| {
|
||||||
let new_id = window::Id::unique();
|
let new_id = window::Id::unique();
|
||||||
app.popup = Some(Popup {
|
app.popup = Some(Popup {
|
||||||
|
|
@ -2125,7 +2137,8 @@ impl cosmic::Application for CosmicAppList {
|
||||||
.width(Length::Fill)
|
.width(Length::Fill)
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut content = column![].align_x(Alignment::Center);
|
let mut content =
|
||||||
|
menu::menu_column::MenuColumn::with_capacity(4).align_x(Alignment::Center);
|
||||||
|
|
||||||
if let Some(exec) = desktop_info.exec() {
|
if let Some(exec) = desktop_info.exec() {
|
||||||
if !toplevels.is_empty() {
|
if !toplevels.is_empty() {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue