From 0ecba6a6d01d6ff5f434a3b830cee763cdb586c5 Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Thu, 8 Sep 2022 11:24:02 -0400 Subject: [PATCH] fix: consistent ordering of workspaces --- Cargo.lock | 1 + applets/cosmic-applet-workspaces/Cargo.toml | 1 + applets/cosmic-applet-workspaces/src/workspace_list/mod.rs | 5 ++++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index c0183c7a..cd4c98ed 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -500,6 +500,7 @@ dependencies = [ "gtk4", "i18n-embed", "i18n-embed-fl", + "itertools", "libadwaita", "libcosmic", "log", diff --git a/applets/cosmic-applet-workspaces/Cargo.toml b/applets/cosmic-applet-workspaces/Cargo.toml index b29eb25b..b09a0713 100644 --- a/applets/cosmic-applet-workspaces/Cargo.toml +++ b/applets/cosmic-applet-workspaces/Cargo.toml @@ -24,6 +24,7 @@ wayland-client = { version = "0.30.0-beta.8" } calloop = "*" nix = "*" log = "0.4" +itertools = "0.10" [build-dependencies] gio = "0.15.10" diff --git a/applets/cosmic-applet-workspaces/src/workspace_list/mod.rs b/applets/cosmic-applet-workspaces/src/workspace_list/mod.rs index 1f107847..031911c5 100644 --- a/applets/cosmic-applet-workspaces/src/workspace_list/mod.rs +++ b/applets/cosmic-applet-workspaces/src/workspace_list/mod.rs @@ -13,6 +13,7 @@ use gtk4::Inhibit; use gtk4::ListView; use gtk4::SignalListItemFactory; use gtk4::{gio, glib, prelude::*, subclass::prelude::*}; +use itertools::Itertools; mod imp; @@ -75,7 +76,9 @@ impl WorkspaceList { let model_len = model.n_items(); let new_results: Vec = workspaces .workspace_list() - .into_iter() + .sorted_by(|a, b| { + a.0.cmp(&b.0) + }) .filter_map(|w| { // don't include hidden workspaces if w.1 != 2 {