diff --git a/examples/dock/dock_item/mod.rs b/examples/dock/dock_item/mod.rs index 78440f71..43378525 100644 --- a/examples/dock/dock_item/mod.rs +++ b/examples/dock/dock_item/mod.rs @@ -117,8 +117,8 @@ impl DockItem { } if let Ok(popover_value) = dock_object.property("popover") { if let Ok(popover) = popover_value.get::() { - dbg!(popover); - dbg!(dock_object); + // dbg!(popover); + // dbg!(dock_object); if popover { self.add_popover(dock_object); } else { diff --git a/examples/dock/dock_list/mod.rs b/examples/dock/dock_list/mod.rs index 7feae440..d48bebd5 100644 --- a/examples/dock/dock_list/mod.rs +++ b/examples/dock/dock_list/mod.rs @@ -166,6 +166,7 @@ impl DockList { let list_view = cascade! { ListView::default(); ..set_orientation(Orientation::Horizontal); + ..add_css_class("docklist"); }; if imp.type_.get().unwrap() == &DockListType::Saved { list_view.set_width_request(64); @@ -210,20 +211,20 @@ impl DockList { let window = list_view.root().unwrap().downcast::().unwrap(); let max_x = list_view.allocated_width(); let max_y = list_view.allocated_height(); - dbg!(max_y); - dbg!(y); + // dbg!(max_y); + // dbg!(y); let n_buckets = model.n_items(); let index = (x * n_buckets as f64 / (max_x as f64 + 0.1)) as u32; - dbg!(self_.current_button()); - dbg!(self_.last_event(self_.current_sequence().as_ref())); + // dbg!(self_.current_button()); + // dbg!(self_.last_event(self_.current_sequence().as_ref())); let click_modifier = if let Some(event) = self_.last_event(self_.current_sequence().as_ref()) { - dbg!(&event); + // dbg!(&event); Some(event.modifier_state()) } else { None }; - dbg!(click_modifier); + // dbg!(click_modifier); // Launch the application when an item of the list is activated let focus_window = move |first_focused_item: &Item| { let entity = first_focused_item.entity.clone(); diff --git a/examples/dock/dock_popover/mod.rs b/examples/dock/dock_popover/mod.rs index df680c18..b8f41588 100644 --- a/examples/dock/dock_popover/mod.rs +++ b/examples/dock/dock_popover/mod.rs @@ -65,33 +65,33 @@ impl DockPopover { }; menu_handle.append(&all_windows_item_container); - let all_windows_item_header = cascade! { - Button::new(); - ..set_hexpand(true); - }; - all_windows_item_container.append(&all_windows_item_header); + // let all_windows_item_header = cascade! { + // Button::new(); + // ..set_hexpand(true); + // }; + // all_windows_item_container.append(&all_windows_item_header); - let all_windows_item_header_box = cascade! { - Box::new(Orientation::Horizontal, 4); - ..set_hexpand(true); - }; - all_windows_item_header.set_child(Some(&all_windows_item_header_box)); + // let all_windows_item_header_box = cascade! { + // Box::new(Orientation::Horizontal, 4); + // ..set_hexpand(true); + // }; + // all_windows_item_header.set_child(Some(&all_windows_item_header_box)); - let all_windows_item_header_title = cascade! { - Label::new(Some("All Windows")); - ..add_css_class("header-5"); - ..set_halign(gtk4::Align::Start); - }; - all_windows_item_header_box.append(&all_windows_item_header_title); + // let all_windows_item_header_title = cascade! { + // Label::new(Some("All Windows")); + // ..add_css_class("header-5"); + // ..set_halign(gtk4::Align::Start); + // }; + // all_windows_item_header_box.append(&all_windows_item_header_title); - let all_windows_item_header_icon = cascade! { - Image::from_icon_name(Some("go-down")); - ..set_halign(gtk4::Align::End); - ..set_hexpand(true); - ..set_pixel_size(16); - }; - all_windows_item_header_box.append(&all_windows_item_header_icon); - imp.all_windows_item_header.replace(all_windows_item_header); + // let all_windows_item_header_icon = cascade! { + // Image::from_icon_name(Some("go-down")); + // ..set_halign(gtk4::Align::End); + // ..set_hexpand(true); + // ..set_pixel_size(16); + // }; + // all_windows_item_header_box.append(&all_windows_item_header_icon); + // imp.all_windows_item_header.replace(all_windows_item_header); if let Ok(window_list) = dock_object .property("active") @@ -101,17 +101,17 @@ impl DockPopover { if window_list.0.len() == 0 { all_windows_item_container.hide(); } else { - let window_list_revealer = cascade! { - Revealer::new(); - ..set_reveal_child(false); - ..set_transition_type(gtk4::RevealerTransitionType::SlideDown); - }; - all_windows_item_container.append(&window_list_revealer); + // let window_list_revealer = cascade! { + // Revealer::new(); + // ..set_reveal_child(false); + // ..set_transition_type(gtk4::RevealerTransitionType::SlideDown); + // }; + // all_windows_item_container.append(&window_list_revealer); let window_listbox = cascade! { ListBox::new(); ..set_activate_on_single_click(true); }; - window_list_revealer.set_child(Some(&window_listbox)); + all_windows_item_container.append(&window_listbox); for w in window_list.0 { let window_box = cascade! { Box::new(Orientation::Vertical, 4); @@ -124,6 +124,8 @@ impl DockPopover { ..set_margin_end(4); ..set_margin_top(4); ..set_margin_bottom(4); + ..add_css_class("title-4"); + ..add_css_class("window_title"); }; // TODO investigate Xembed @@ -134,7 +136,7 @@ impl DockPopover { window_box.append(&window_image); window_box.append(&window_title); } - imp.all_windows_item_revealer.replace(window_list_revealer); + // imp.all_windows_item_revealer.replace(window_list_revealer); imp.window_list.replace(window_listbox); } } @@ -257,13 +259,13 @@ impl DockPopover { self_.emit_hide(); })); - all_windows_header.connect_clicked( - glib::clone!(@weak dock_object, @weak revealer => move |self_| { - dbg!(dock_object); - let revealer = revealer.borrow(); - revealer.set_reveal_child(!revealer.reveals_child()) - }), - ); + // all_windows_header.connect_clicked( + // glib::clone!(@weak dock_object, @weak revealer => move |self_| { + // // dbg!(dock_object); + // let revealer = revealer.borrow(); + // revealer.set_reveal_child(!revealer.reveals_child()) + // }), + // ); let self_ = self.clone(); window_listbox.connect_row_activated(glib::clone!(@weak dock_object => move |_, item| { diff --git a/examples/dock/main.rs b/examples/dock/main.rs index 20c9fd6b..ea5fb5d2 100644 --- a/examples/dock/main.rs +++ b/examples/dock/main.rs @@ -137,6 +137,17 @@ fn main() { .call_method(Some(DEST), PATH, Some(DEST), "WindowFocus", &((e,))) .await .expect("Failed to focus selected window"); + // let m = zbus_conn + // .call_method(Some(DEST), PATH, Some(DEST), "WindowId", &((e,))) + // .await; + // if let Ok(m) = m { + // if let Ok(reply) = m.body::<(u32, u32)>() { + // dbg!(reply); + // } else { + // dbg!(m); + // } + // // glib::timeout_future(Duration::from_millis(100)).await; + // } } Event::Close(e) => { let _activate_window = zbus_conn diff --git a/examples/dock/style.css b/examples/dock/style.css index db8d7c9a..1e4590c1 100644 --- a/examples/dock/style.css +++ b/examples/dock/style.css @@ -1,16 +1,16 @@ -listview { +listview.docklist { border-radius: 12px; background: #333333; } -listview row:hover { +listview.docklist row:hover { transition: 100ms; background: #888888; border-radius: 12px; padding: 0px; } -listview row { +listview.docklist row { background: #333333; border-radius: 12px; padding: 0px; @@ -33,17 +33,19 @@ list { background: #333333; } -list row:hover { - transition: 100ms; - background: #888888; +label.window_title { + color: white; + margin: 4px; +} + +popover contents { border-radius: 12px; padding: 0px; } -list row { - background: #333333; +popover contents { border-radius: 12px; - padding: 0px; + padding: 12px; } box.dock {