Compare commits
4 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
297207a7aa | ||
|
|
3049a20be3 | ||
|
|
700fc3ed16 | ||
|
|
9c4205b1b2 |
6 changed files with 21 additions and 11 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -35,3 +35,6 @@ logs/
|
|||
|
||||
# Internal design documents (not for distribution)
|
||||
aster-brief.md
|
||||
|
||||
# graphify knowledge-graph output (local tool cache, not for commit)
|
||||
graphify-out/
|
||||
|
|
|
|||
8
Cargo.lock
generated
8
Cargo.lock
generated
|
|
@ -152,8 +152,8 @@ checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da"
|
|||
|
||||
[[package]]
|
||||
name = "bread-screenshots"
|
||||
version = "0.7.2"
|
||||
source = "git+https://git.breadway.dev/Breadway/bread-ecosystem?tag=v0.7.2#30517f161724132cdeb658c04cf5e490be07ee73"
|
||||
version = "0.7.4"
|
||||
source = "git+https://git.breadway.dev/Breadway/bread-ecosystem?tag=v0.7.4#a9754d90ed32efcc26765abd01c9f441bfb01b1e"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"bread-utils",
|
||||
|
|
@ -196,8 +196,8 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "bread-utils"
|
||||
version = "0.7.2"
|
||||
source = "git+https://git.breadway.dev/Breadway/bread-ecosystem?tag=v0.7.2#30517f161724132cdeb658c04cf5e490be07ee73"
|
||||
version = "0.7.4"
|
||||
source = "git+https://git.breadway.dev/Breadway/bread-ecosystem?tag=v0.7.4#a9754d90ed32efcc26765abd01c9f441bfb01b1e"
|
||||
dependencies = [
|
||||
"bread-shared 0.7.0",
|
||||
"dirs 5.0.1",
|
||||
|
|
|
|||
|
|
@ -15,12 +15,12 @@ bread-theme = { git = "https://git.breadway.dev/Breadway/bread-ecosystem", tag =
|
|||
# for talking to breadd's IPC socket, and bread-shared purely for the
|
||||
# WidgetSpec/WidgetNode wire types so we deserialize into real structs
|
||||
# instead of hand-parsing serde_json::Value. See src/widgets/.
|
||||
bread-utils = { git = "https://git.breadway.dev/Breadway/bread-ecosystem", tag = "v0.7.2", features = ["bread-client"] }
|
||||
bread-utils = { git = "https://git.breadway.dev/Breadway/bread-ecosystem", tag = "v0.7.4", features = ["bread-client"] }
|
||||
# v0.8.0-rc.1 carries bread_shared::widget; keep this bread tag even if
|
||||
# ecosystem crates move independently.
|
||||
bread-shared = { git = "https://git.breadway.dev/Breadway/bread", tag = "v0.8.0-rc.1" }
|
||||
# Capture primitives for `--screenshot` mode — see src/screenshot.rs.
|
||||
bread-screenshots = { git = "https://git.breadway.dev/Breadway/bread-ecosystem", tag = "v0.7.2" }
|
||||
bread-screenshots = { git = "https://git.breadway.dev/Breadway/bread-ecosystem", tag = "v0.7.4" }
|
||||
gtk4 = { version = "0.11", features = ["v4_12"] }
|
||||
gtk4-layer-shell = "0.8"
|
||||
relm4 = { version = "0.11", features = ["macros"] }
|
||||
|
|
|
|||
|
|
@ -402,7 +402,7 @@ fn read_crumbs_profile() -> Option<String> {
|
|||
for line in text.lines() {
|
||||
if let Some(rest) = line.trim().strip_prefix("profile") {
|
||||
let val = rest
|
||||
.trim_start_matches(|c: char| c == ' ' || c == '=')
|
||||
.trim_start_matches([' ', '='])
|
||||
.trim_matches('"');
|
||||
if !val.is_empty() {
|
||||
return Some(val.to_string());
|
||||
|
|
|
|||
|
|
@ -1023,7 +1023,7 @@ impl SimpleComponent for App {
|
|||
|
||||
let within_linger = self
|
||||
.media_paused_at
|
||||
.map_or(true, |t| t.elapsed().as_secs() < 30 * 60);
|
||||
.is_none_or(|t| t.elapsed().as_secs() < 30 * 60);
|
||||
self.media_last = Some(state);
|
||||
reveal_media(&self.media_widget, within_linger);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -177,9 +177,16 @@ fn create_window() -> gtk4::Window {
|
|||
window.set_margin(Edge::Top, crate::BAR_MARGIN_TOP + crate::BAR_HEIGHT + 8);
|
||||
window.set_margin(Edge::Right, crate::BAR_MARGIN_SIDES);
|
||||
window.set_default_width(320);
|
||||
// OnDemand so an inline-reply GtkEntry can take keys without the popup
|
||||
// stealing every keystroke the rest of the time.
|
||||
window.set_keyboard_mode(KeyboardMode::OnDemand);
|
||||
// Toasts are purely informational for now: never grab keyboard focus...
|
||||
window.set_keyboard_mode(KeyboardMode::None);
|
||||
// ...and click through entirely — an empty input region means every
|
||||
// pointer event passes straight to whatever's underneath instead of
|
||||
// hitting the toast.
|
||||
window.connect_map(|win| {
|
||||
if let Some(surface) = win.surface() {
|
||||
surface.set_input_region(Some(>k4::cairo::Region::create()));
|
||||
}
|
||||
});
|
||||
crate::theme::bind_auto(&window);
|
||||
window
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue