diff --git a/examples/dock/dock_item/mod.rs b/examples/dock/dock_item/mod.rs index 76bab982..b7e83aba 100644 --- a/examples/dock/dock_item/mod.rs +++ b/examples/dock/dock_item/mod.rs @@ -34,8 +34,11 @@ impl DockItem { let self_: DockItem = glib::Object::new(&[]).expect("Failed to create DockItem"); let item_box = Box::new(Orientation::Vertical, 0); - self_.set_child(Some(&item_box)); - self_.add_css_class("dock_item"); + cascade! { + &self_; + ..set_child(Some(&item_box)); + ..add_css_class("dock_item"); + }; let image = cascade! { Image::new(); diff --git a/examples/dock/dock_popover/mod.rs b/examples/dock/dock_popover/mod.rs index 327e45e9..52fc15b1 100644 --- a/examples/dock/dock_popover/mod.rs +++ b/examples/dock/dock_popover/mod.rs @@ -42,10 +42,12 @@ impl DockPopover { } pub fn update_layout(&self) { + self.reset_menu(); + + // build menu let imp = imp::DockPopover::from_instance(&self); let dock_object = imp.dock_object.borrow(); let menu_handle = imp.menu_handle.borrow(); - // build menu if let Some(dock_object) = dock_object.as_ref() { cascade! { &self; diff --git a/examples/dock/style.css b/examples/dock/style.css index ac8b73ac..2c4b83b8 100644 --- a/examples/dock/style.css +++ b/examples/dock/style.css @@ -1,38 +1,39 @@ listview.docklist { border-radius: 12px; - background: #333333; + background: transparent; + transition: 100ms; } listview.docklist row:hover { - transition: 100ms; - background: #888888; + background: #888888CC; border-radius: 12px; padding: 0px; } listview.docklist row { - background: #333333; + transition: 100ms; + background: transparent; border-radius: 12px; padding: 0px; } -button.dock_item:hover { +button:hover { transition: 300ms; border-width: 0px; - background: #888888; + background: #888888CC; border-radius: 12px; } -button.dock_item { +button { transition: 300ms; - background: #333333; + background: transparent; border-radius: 12px; border-width: 0px; } list { border-radius: 12px; - background: #333333; + background: #333333CC; } label.window_title { @@ -41,20 +42,17 @@ label.window_title { } popover contents { - border-radius: 12px; - padding: 0px; -} - -popover contents { + border-width: 0px; border-radius: 12px; padding: 12px; + background: #333333CC; } box.dock { border-radius: 12px; - background: #333333; + background: #333333CC; } window.root_window { - background: rgba(50, 50, 50, 0.0); + background: transparent; } diff --git a/examples/dock/window/mod.rs b/examples/dock/window/mod.rs index eba80a04..e142e760 100644 --- a/examples/dock/window/mod.rs +++ b/examples/dock/window/mod.rs @@ -1,9 +1,11 @@ use cascade::cascade; use gdk4::Rectangle; +use gdk4::Snapshot; use gdk4_x11::X11Display; use gdk4_x11::X11Surface; use glib::Object; use glib::Type; +use gsk::BlurNode; use gtk4::prelude::*; use gtk4::subclass::prelude::*; use gtk4::Align; @@ -15,7 +17,7 @@ use gtk4::Orientation; use gtk4::Revealer; use gtk4::RevealerTransitionType; use gtk4::Separator; -use gtk4::{gio, glib}; +use gtk4::{gio, glib, gsk}; use x11rb::connection::Connection; use x11rb::protocol::xproto; use x11rb::protocol::xproto::ConnectionExt;