mirror of
https://github.com/Zedfrigg/ironbar.git
synced 2025-04-19 19:34:24 +02:00
parent
b649525a2c
commit
9fe6d49195
3 changed files with 43 additions and 27 deletions
42
Cargo.lock
generated
42
Cargo.lock
generated
|
@ -1434,9 +1434,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "hyprland"
|
name = "hyprland"
|
||||||
version = "0.3.1"
|
version = "0.3.9"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "19d341e36a776cd092622daf2439a484247f3dc7d25eab7b286cc88ac85120d3"
|
checksum = "5b1eac91e67a2db723b96dee0883a7b3ccce55d1ee26e7373c497505f7a3c4b8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"derive_more",
|
"derive_more",
|
||||||
|
@ -1457,9 +1457,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "hyprland-macros"
|
name = "hyprland-macros"
|
||||||
version = "0.3.3"
|
version = "0.3.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7d6c35c4399e9db5eb8272c5379eb5dccab14ac27a21487301c523fa644b4c04"
|
checksum = "c941d3d52e979612af8cb94e8de49000c7fada2014a7791d173ab41339f4e4eb"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"quote 1.0.28",
|
"quote 1.0.28",
|
||||||
"syn 2.0.28",
|
"syn 2.0.28",
|
||||||
|
@ -1741,7 +1741,7 @@ version = "0.1.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
|
checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"regex-automata",
|
"regex-automata 0.1.10",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -2360,13 +2360,14 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "regex"
|
name = "regex"
|
||||||
version = "1.8.4"
|
version = "1.9.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f"
|
checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aho-corasick",
|
"aho-corasick",
|
||||||
"memchr",
|
"memchr",
|
||||||
"regex-syntax 0.7.2",
|
"regex-automata 0.3.6",
|
||||||
|
"regex-syntax 0.7.4",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -2378,6 +2379,17 @@ dependencies = [
|
||||||
"regex-syntax 0.6.29",
|
"regex-syntax 0.6.29",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "regex-automata"
|
||||||
|
version = "0.3.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69"
|
||||||
|
dependencies = [
|
||||||
|
"aho-corasick",
|
||||||
|
"memchr",
|
||||||
|
"regex-syntax 0.7.4",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "regex-syntax"
|
name = "regex-syntax"
|
||||||
version = "0.6.29"
|
version = "0.6.29"
|
||||||
|
@ -2386,9 +2398,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "regex-syntax"
|
name = "regex-syntax"
|
||||||
version = "0.7.2"
|
version = "0.7.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
|
checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "reqwest"
|
name = "reqwest"
|
||||||
|
@ -2760,24 +2772,24 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "strum"
|
name = "strum"
|
||||||
version = "0.24.1"
|
version = "0.25.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
|
checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"strum_macros",
|
"strum_macros",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "strum_macros"
|
name = "strum_macros"
|
||||||
version = "0.24.3"
|
version = "0.25.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
|
checksum = "ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"heck 0.4.1",
|
"heck 0.4.1",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote 1.0.28",
|
"quote 1.0.28",
|
||||||
"rustversion",
|
"rustversion",
|
||||||
"syn 1.0.109",
|
"syn 2.0.28",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|
|
@ -5,6 +5,7 @@ edition = "2021"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
description = "Customisable GTK Layer Shell wlroots/sway bar"
|
description = "Customisable GTK Layer Shell wlroots/sway bar"
|
||||||
repository = "https://github.com/jakestanger/ironbar"
|
repository = "https://github.com/jakestanger/ironbar"
|
||||||
|
categories = ["gui"]
|
||||||
keywords = ["gtk", "bar", "wayland", "wlroots", "gtk-layer-shell"]
|
keywords = ["gtk", "bar", "wayland", "wlroots", "gtk-layer-shell"]
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -130,7 +131,7 @@ zbus = { version = "3.14.1", optional = true }
|
||||||
|
|
||||||
# workspaces
|
# workspaces
|
||||||
swayipc-async = { version = "2.0.1", optional = true }
|
swayipc-async = { version = "2.0.1", optional = true }
|
||||||
hyprland = { version = "=0.3.1", optional = true }
|
hyprland = { version = "0.3.8", optional = true }
|
||||||
futures-util = { version = "0.3.21", optional = true }
|
futures-util = { version = "0.3.21", optional = true }
|
||||||
|
|
||||||
# shared
|
# shared
|
||||||
|
|
|
@ -3,7 +3,7 @@ use crate::{arc_mut, lock, send};
|
||||||
use color_eyre::Result;
|
use color_eyre::Result;
|
||||||
use hyprland::data::{Workspace as HWorkspace, Workspaces};
|
use hyprland::data::{Workspace as HWorkspace, Workspaces};
|
||||||
use hyprland::dispatch::{Dispatch, DispatchType, WorkspaceIdentifierWithSpecial};
|
use hyprland::dispatch::{Dispatch, DispatchType, WorkspaceIdentifierWithSpecial};
|
||||||
use hyprland::event_listener::EventListenerMutable as EventListener;
|
use hyprland::event_listener::EventListener;
|
||||||
use hyprland::prelude::*;
|
use hyprland::prelude::*;
|
||||||
use hyprland::shared::WorkspaceType;
|
use hyprland::shared::WorkspaceType;
|
||||||
use lazy_static::lazy_static;
|
use lazy_static::lazy_static;
|
||||||
|
@ -46,7 +46,7 @@ impl EventClient {
|
||||||
let lock = lock.clone();
|
let lock = lock.clone();
|
||||||
let active = active.clone();
|
let active = active.clone();
|
||||||
|
|
||||||
event_listener.add_workspace_added_handler(move |workspace_type, _state| {
|
event_listener.add_workspace_added_handler(move |workspace_type| {
|
||||||
let _lock = lock!(lock);
|
let _lock = lock!(lock);
|
||||||
debug!("Added workspace: {workspace_type:?}");
|
debug!("Added workspace: {workspace_type:?}");
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ impl EventClient {
|
||||||
let lock = lock.clone();
|
let lock = lock.clone();
|
||||||
let active = active.clone();
|
let active = active.clone();
|
||||||
|
|
||||||
event_listener.add_workspace_change_handler(move |workspace_type, _state| {
|
event_listener.add_workspace_change_handler(move |workspace_type| {
|
||||||
let _lock = lock!(lock);
|
let _lock = lock!(lock);
|
||||||
|
|
||||||
let mut prev_workspace = lock!(active);
|
let mut prev_workspace = lock!(active);
|
||||||
|
@ -105,9 +105,9 @@ impl EventClient {
|
||||||
let lock = lock.clone();
|
let lock = lock.clone();
|
||||||
let active = active.clone();
|
let active = active.clone();
|
||||||
|
|
||||||
event_listener.add_active_monitor_change_handler(move |event_data, _state| {
|
event_listener.add_active_monitor_change_handler(move |event_data| {
|
||||||
let _lock = lock!(lock);
|
let _lock = lock!(lock);
|
||||||
let workspace_type = event_data.1;
|
let workspace_type = event_data.workspace;
|
||||||
|
|
||||||
let mut prev_workspace = lock!(active);
|
let mut prev_workspace = lock!(active);
|
||||||
|
|
||||||
|
@ -134,9 +134,9 @@ impl EventClient {
|
||||||
let tx = tx.clone();
|
let tx = tx.clone();
|
||||||
let lock = lock.clone();
|
let lock = lock.clone();
|
||||||
|
|
||||||
event_listener.add_workspace_moved_handler(move |event_data, _state| {
|
event_listener.add_workspace_moved_handler(move |event_data| {
|
||||||
let _lock = lock!(lock);
|
let _lock = lock!(lock);
|
||||||
let workspace_type = event_data.1;
|
let workspace_type = event_data.workspace;
|
||||||
debug!("Received workspace move: {workspace_type:?}");
|
debug!("Received workspace move: {workspace_type:?}");
|
||||||
|
|
||||||
let mut prev_workspace = lock!(active);
|
let mut prev_workspace = lock!(active);
|
||||||
|
@ -158,7 +158,7 @@ impl EventClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
event_listener.add_workspace_destroy_handler(move |workspace_type, _state| {
|
event_listener.add_workspace_destroy_handler(move |workspace_type| {
|
||||||
let _lock = lock!(lock);
|
let _lock = lock!(lock);
|
||||||
debug!("Received workspace destroy: {workspace_type:?}");
|
debug!("Received workspace destroy: {workspace_type:?}");
|
||||||
|
|
||||||
|
@ -221,9 +221,12 @@ impl EventClient {
|
||||||
|
|
||||||
impl WorkspaceClient for EventClient {
|
impl WorkspaceClient for EventClient {
|
||||||
fn focus(&self, id: String) -> Result<()> {
|
fn focus(&self, id: String) -> Result<()> {
|
||||||
Dispatch::call(DispatchType::Workspace(
|
let identifier = match id.parse::<i32>() {
|
||||||
WorkspaceIdentifierWithSpecial::Name(&id),
|
Ok(inum) => WorkspaceIdentifierWithSpecial::Id(inum),
|
||||||
))?;
|
Err(_) => WorkspaceIdentifierWithSpecial::Name(&id),
|
||||||
|
};
|
||||||
|
|
||||||
|
Dispatch::call(DispatchType::Workspace(identifier))?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue