This commit is contained in:
Ashley Wulber 2022-01-14 18:27:36 -05:00
parent eefe17e3c6
commit 0b5f6b8386
6 changed files with 11 additions and 17 deletions

View file

@ -18,6 +18,7 @@ x11 = { version = "2", features = ["xlib"] }
# examples
gtk4 = { version ="0.3.1", features = ["v4_4"] }
glib-sys = "0.14.0"
relm4-macros = { git = "https://github.com/AaronErhardt/Relm4" }
pop-launcher-service = { git = "https://github.com/wash2/launcher.git" }
pop-launcher = { git = "https://github.com/wash2/launcher.git" }
serde = "1.0.130"

View file

@ -102,11 +102,8 @@ impl DockItem {
let old_image = self_.image.replace(None);
if let Some(old_image) = old_image {
self_.item_box.borrow().remove(&old_image);
}
self_.item_box.borrow().prepend(&image);
let old_image = self_.image.replace(Some(image));
if let Some(old_image) = old_image {
self_.item_box.borrow().remove(&old_image);
self_.item_box.borrow().prepend(&image);
self_.image.replace(Some(image));
}
if let Ok(active_value) = dock_object.property("active") {
if let Ok(active) = active_value.get::<BoxedWindowList>() {

View file

@ -43,6 +43,12 @@ impl DockPopover {
pub fn update_layout(&self) {
self.reset_menu();
cascade! {
&self;
..set_spacing(4);
..set_orientation(Orientation::Vertical);
..set_hexpand(true);
};
// build menu
let imp = imp::DockPopover::from_instance(&self);
@ -50,18 +56,8 @@ impl DockPopover {
let menu_handle = imp.menu_handle.borrow();
if let Some(dock_object) = dock_object.as_ref() {
if let Some(menu) = dock_object.get_popover_menu() {
// TODO investigate (dock:255244): Gtk-CRITICAL **: 19:12:38.668: gtk_at_context_set_accessible_role: assertion '!self->realized' failed
// appears after setting the menu handle a second time
// possibly solved by https://gitlab.gnome.org/GNOME/gtk/-/issues/4421
menu_handle.append(&menu);
} else {
cascade! {
&self;
..set_spacing(4);
..set_orientation(Orientation::Vertical);
..set_hexpand(true);
};
let all_windows_item_container = cascade! {
Box::new(Orientation::Vertical, 4);
};

View file

@ -175,6 +175,8 @@ impl Window {
)
.expect("failed to configure window...");
conn.flush().expect("failed to flush");
// fix (dock:294469): Gdk-CRITICAL **: 19:19:25.652: gdk_surface_request_layout: assertion 'frame_clock' failed
s.request_layout();
}
});

View file

@ -1,7 +1,6 @@
use crate::utils::BoxedSearchResult;
use gtk4::glib;
use gtk4::prelude::*;
use gtk4::subclass::prelude::*;
mod imp;

View file

@ -18,7 +18,6 @@ use x11rb::protocol::xproto::ConnectionExt;
use libcosmic::x;
use crate::search_result_row::SearchResultRow;
use crate::utils::BoxedSearchResult;
use crate::SearchResultObject;
use crate::TX;
use crate::X11_CONN;