Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 98ac769b29 | |||
| e73793dd6e |
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -971,7 +971,7 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "owlry"
|
name = "owlry"
|
||||||
version = "0.2.0"
|
version = "0.2.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"chrono",
|
"chrono",
|
||||||
"clap",
|
"clap",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "owlry"
|
name = "owlry"
|
||||||
version = "0.2.0"
|
version = "0.2.1"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
rust-version = "1.90"
|
rust-version = "1.90"
|
||||||
description = "A lightweight, owl-themed application launcher for Wayland"
|
description = "A lightweight, owl-themed application launcher for Wayland"
|
||||||
|
|||||||
@@ -264,6 +264,12 @@ impl ProviderManager {
|
|||||||
results.push((web_result, 9000));
|
results.push((web_result, 9000));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Also check for raw query when in :web filter mode
|
||||||
|
else if filter.active_prefix() == Some(ProviderType::WebSearch) && !query.is_empty() {
|
||||||
|
if let Some(web_result) = self.websearch.evaluate_raw(query) {
|
||||||
|
results.push((web_result, 9000));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Empty query (after checking special providers) - return frecency-sorted items
|
// Empty query (after checking special providers) - return frecency-sorted items
|
||||||
if query.is_empty() {
|
if query.is_empty() {
|
||||||
|
|||||||
@@ -113,14 +113,24 @@ impl WebSearchProvider {
|
|||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
|
|
||||||
let url = self.build_search_url(search_term);
|
self.evaluate_raw(search_term)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Evaluate a raw search term (for :web filter mode)
|
||||||
|
pub fn evaluate_raw(&self, search_term: &str) -> Option<LaunchItem> {
|
||||||
|
let trimmed = search_term.trim();
|
||||||
|
if trimmed.is_empty() {
|
||||||
|
return None;
|
||||||
|
}
|
||||||
|
|
||||||
|
let url = self.build_search_url(trimmed);
|
||||||
|
|
||||||
// Use xdg-open to open the browser
|
// Use xdg-open to open the browser
|
||||||
let command = format!("xdg-open '{}'", url);
|
let command = format!("xdg-open '{}'", url);
|
||||||
|
|
||||||
Some(LaunchItem {
|
Some(LaunchItem {
|
||||||
id: format!("websearch:{}", search_term),
|
id: format!("websearch:{}", trimmed),
|
||||||
name: format!("Search: {}", search_term),
|
name: format!("Search: {}", trimmed),
|
||||||
description: Some("Open in browser".to_string()),
|
description: Some("Open in browser".to_string()),
|
||||||
icon: Some("web-browser".to_string()),
|
icon: Some("web-browser".to_string()),
|
||||||
provider: ProviderType::WebSearch,
|
provider: ProviderType::WebSearch,
|
||||||
|
|||||||
Reference in New Issue
Block a user