Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git
Use app_id instead of title in focus-window command
src/cce_ctl.rs | 2 +-
src/server/window_manager.rs | 11 +----------
2 files changed, 2 insertions(+), 11 deletions(-)
diff --git a/src/cce_ctl.rs b/src/cce_ctl.rs
index 568fd4e..17940aa 100644
--- a/src/cce_ctl.rs
+++ b/src/cce_ctl.rs
@@ -36,7 +36,7 @@ fn usage(name: &str, to_stderr: bool) {
print(" close");
print(" minimize");
print(" focus-next");
- print(" focus-window <app_id|title>");
+ print(" focus-window <app_id>");
print(" expose");
print(" windows");
print(" exit");
diff --git a/src/server/window_manager.rs b/src/server/window_manager.rs
index 3ff04b8..0257afc 100644
--- a/src/server/window_manager.rs
+++ b/src/server/window_manager.rs
@@ -1939,7 +1939,7 @@ fn get_closest_tag(x: f64, y: f64) -> i32 {
"ok\n".to_string()
}
"focus-window" => {
- if parts.len() < 2 { return "error: missing app_id or title\n".to_string(); }
+ if parts.len() < 2 { return "error: missing app_id\n".to_string(); }
let query = parts[1..].join(" ").to_lowercase();
if let Some(seat) = self.first_seat() {
let mut best_target: *mut Window = std::ptr::null_mut();
@@ -1947,7 +1947,6 @@ fn get_closest_tag(x: f64, y: f64) -> i32 {
for &w in self.windows.iter() {
if !w.is_null() && !(*w).closed && !(*w).minimized && matches!((*w).state, crate::window::WindowState::Mapped) {
let aid = (*w).get_app_id_string();
- let title = (*w).get_title_string();
let mut score = 0;
if let Some(ref aid_str) = aid {
@@ -1958,14 +1957,6 @@ fn get_closest_tag(x: f64, y: f64) -> i32 {
score = score.max(50);
}
}
- if let Some(ref title_str) = title {
- let title_lower = title_str.to_lowercase();
- if title_lower == query {
- score = score.max(80);
- } else if title_lower.contains(&query) {
- score = score.max(30);
- }
- }
if score > best_score {
best_score = score;