44 lines
993 B
Rust
44 lines
993 B
Rust
use hyprland::data::{Monitor, Monitors};
|
|
use hyprland::dispatch::*;
|
|
use hyprland::shared::HyprData;
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Serialize, Deserialize, Debug)]
|
|
pub struct ActiveWorkspace {
|
|
pub id: u64,
|
|
pub name: String,
|
|
}
|
|
|
|
pub fn get_by_id(id: i16) -> Monitor {
|
|
let mut monitors = get();
|
|
monitors.find(|m| m.id == id).unwrap()
|
|
}
|
|
|
|
pub fn get() -> Monitors {
|
|
Monitors::get().unwrap()
|
|
}
|
|
|
|
pub fn focus_left() {
|
|
let _ = Dispatch::call(DispatchType::FocusMonitor(MonitorIdentifier::Direction(
|
|
Direction::Left,
|
|
)));
|
|
}
|
|
|
|
pub fn focus_right() {
|
|
let _ = Dispatch::call(DispatchType::FocusMonitor(MonitorIdentifier::Direction(
|
|
Direction::Right,
|
|
)));
|
|
}
|
|
|
|
pub fn focus_up() {
|
|
let _ = Dispatch::call(DispatchType::FocusMonitor(MonitorIdentifier::Direction(
|
|
Direction::Up,
|
|
)));
|
|
}
|
|
|
|
pub fn focus_down() {
|
|
let _ = Dispatch::call(DispatchType::FocusMonitor(MonitorIdentifier::Direction(
|
|
Direction::Down,
|
|
)));
|
|
}
|