diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf
index dd3f301..22e3c2a 100644
--- a/.config/hypr/hyprland.conf
+++ b/.config/hypr/hyprland.conf
@@ -1,52 +1,18 @@
-env = WLR_DRM_DEVICES,/dev/dri/card0:/dev/dri/card1
env = WLR_NO_HARDWARE_CURSORS,1
env = TERMINAL,alacritty
-
$scripts = /home/user/.config/scripts
+$mainMod = SUPER
monitor=DP-2,preferred,0x550,1
monitor=DP-3,preferred,1920x0,1
monitor=HDMI-A-1,preferred,5760x550,1
+
exec-once=hyprpaper
exec-once=wl-paste --type text --watch cliphist store
exec-once=wl-paste --type image --watch cliphist store
exec-once=/usr/lib/mate-polkit/polkit-mate-authentication-agent-1
exec-once=/usr/lib/kdeconnectd
-exec-once=sleep 2 && hyprctl dispatch workspace 21
-
-workspace=DP-2,11
-workspace=DP-3,21
-workspace=HDMI-A-1,1
-
-workspace=21,monitor:HDMI-A-1, default:true
-workspace=22,monitor:HDMI-A-1
-workspace=23,monitor:HDMI-A-1
-workspace=24,monitor:HDMI-A-1
-workspace=25,monitor:HDMI-A-1
-workspace=26,monitor:HDMI-A-1
-workspace=27,monitor:HDMI-A-1
-workspace=28,monitor:HDMI-A-1
-workspace=29,monitor:HDMI-A-1
-
-workspace=1,monitor:DP-2, default:true
-workspace=2,monitor:DP-2
-workspace=3,monitor:DP-2
-workspace=4,monitor:DP-2
-workspace=5,monitor:DP-2
-workspace=6,monitor:DP-2
-workspace=7,monitor:DP-2
-workspace=8,monitor:DP-2
-workspace=9,monitor:DP-2
-
-workspace=11,monitor:DP-3, default:true
-workspace=12,monitor:DP-3
-workspace=13,monitor:DP-3
-workspace=14,monitor:DP-3
-workspace=15,monitor:DP-3
-workspace=16,monitor:DP-3
-workspace=17,monitor:DP-3
-workspace=18,monitor:DP-3
-workspace=19,monitor:DP-3
+exec-once=waybar
# windowrulev2 = tile, class:.*
windowrulev2 = float, title:^(rofi)(.*)$
@@ -57,8 +23,6 @@ windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$
windowrulev2 = stayfocused, title:^()$,class:^(steam)$
windowrule = noanim,waybar
-exec-once=waybar
-
binds {
scroll_event_delay=1
}
@@ -122,9 +86,7 @@ gestures {
workspace_swipe_invert = false
}
-$mainMod = SUPER
-# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bindr = $mainMod, SUPER_L, exec, pkill rofi || rofi -show drun
bindr = $mainMod, SUPER_R, exec, pkill rofi || rofi -show drun
bind = $mainMod, return, exec, $scripts/launch_alacritty.sh $(hyprctl activewindow -j | jq .pid)
@@ -177,32 +139,32 @@ binde = $mainMod ALT, H, resizeactive, -20 0
binde = $mainMod ALT, K, resizeactive, 0 -20
binde = $mainMod ALT, J, resizeactive, 0 20
-bind = $mainMod, 1, exec, hyprsome workspace 1
-bind = $mainMod, 2, exec, hyprsome workspace 2
-bind = $mainMod, 3, exec, hyprsome workspace 3
-bind = $mainMod, 4, exec, hyprsome workspace 4
-bind = $mainMod, 5, exec, hyprsome workspace 5
-bind = $mainMod, 6, exec, hyprsome workspace 6
-bind = $mainMod, 7, exec, hyprsome workspace 7
-bind = $mainMod, 8, exec, hyprsome workspace 8
-bind = $mainMod, 9, exec, hyprsome workspace 9
+bind = $mainMod, 1, split-workspace, 1
+bind = $mainMod, 2, split-workspace, 2
+bind = $mainMod, 3, split-workspace, 3
+bind = $mainMod, 4, split-workspace, 4
+bind = $mainMod, 5, split-workspace, 5
+bind = $mainMod, 6, split-workspace, 6
+bind = $mainMod, 7, split-workspace, 7
+bind = $mainMod, 8, split-workspace, 8
+bind = $mainMod, 9, split-workspace, 9
-bind = $mainMod SHIFT, 1, exec, hyprsome movefocus 1
-bind = $mainMod SHIFT, 2, exec, hyprsome movefocus 2
-bind = $mainMod SHIFT, 3, exec, hyprsome movefocus 3
-bind = $mainMod SHIFT, 4, exec, hyprsome movefocus 4
-bind = $mainMod SHIFT, 5, exec, hyprsome movefocus 5
-bind = $mainMod SHIFT, 6, exec, hyprsome movefocus 6
-bind = $mainMod SHIFT, 7, exec, hyprsome movefocus 7
-bind = $mainMod SHIFT, 8, exec, hyprsome movefocus 8
-bind = $mainMod SHIFT, 9, exec, hyprsome movefocus 9
+bind = $mainMod SHIFT, 1, split-movetoworkspace, 1
+bind = $mainMod SHIFT, 2, split-movetoworkspace, 2
+bind = $mainMod SHIFT, 3, split-movetoworkspace, 3
+bind = $mainMod SHIFT, 4, split-movetoworkspace, 4
+bind = $mainMod SHIFT, 5, split-movetoworkspace, 5
+bind = $mainMod SHIFT, 6, split-movetoworkspace, 6
+bind = $mainMod SHIFT, 7, split-movetoworkspace, 7
+bind = $mainMod SHIFT, 8, split-movetoworkspace, 8
+bind = $mainMod SHIFT, 9, split-movetoworkspace, 9
-bind = $mainMod SHIFT, T, exec, hyprsome move-empty
-bind = $mainMod, T, exec, hyprsome focus-empty
+bind = $mainMod SHIFT, T, split-movetoworkspace, empty
+bind = $mainMod, T, split-workspace, empty
# Scroll through existing workspaces with mainMod + scroll
-bind = $mainMod, TAB, workspace, m+1
-bind = $mainMod SHIFT, TAB, workspace, m-1
+bind = $mainMod, TAB, split-workspace, m+1
+bind = $mainMod SHIFT, TAB, split-workspace, m-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
diff --git a/.config/hypr/hyprsome/.gitignore b/.config/hypr/hyprsome/.gitignore
deleted file mode 100644
index d787b70..0000000
--- a/.config/hypr/hyprsome/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/target
-/result
diff --git a/.config/hypr/hyprsome/Cargo.lock b/.config/hypr/hyprsome/Cargo.lock
deleted file mode 100644
index 706551c..0000000
--- a/.config/hypr/hyprsome/Cargo.lock
+++ /dev/null
@@ -1,1207 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "aho-corasick"
-version = "0.7.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "async-trait"
-version = "0.1.64"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.102",
-]
-
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi",
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "autocfg"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-
-[[package]]
-name = "bincode"
-version = "1.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "bytes"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db"
-
-[[package]]
-name = "cfg-if"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "clap"
-version = "4.0.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bf8832993da70a4c6d13c581f4463c2bdda27b9bf1c5498dc4365543abe6d6f"
-dependencies = [
- "atty",
- "bitflags",
- "clap_derive",
- "clap_lex",
- "once_cell",
- "strsim",
- "termcolor",
-]
-
-[[package]]
-name = "clap_derive"
-version = "4.0.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c42f169caba89a7d512b5418b09864543eeb4d497416c917d7137863bd2076ad"
-dependencies = [
- "heck",
- "proc-macro-error",
- "proc-macro2",
- "quote",
- "syn 1.0.102",
-]
-
-[[package]]
-name = "clap_lex"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8"
-dependencies = [
- "os_str_bytes",
-]
-
-[[package]]
-name = "convert_case"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
-
-[[package]]
-name = "crossbeam-channel"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87"
-dependencies = [
- "crossbeam-utils",
- "maybe-uninit",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
-dependencies = [
- "autocfg",
- "cfg-if 0.1.10",
- "lazy_static",
-]
-
-[[package]]
-name = "derive_more"
-version = "0.99.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
-dependencies = [
- "convert_case",
- "proc-macro2",
- "quote",
- "rustc_version",
- "syn 1.0.102",
-]
-
-[[package]]
-name = "doc-comment"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
-
-[[package]]
-name = "dyn-clone"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2"
-
-[[package]]
-name = "fastrand"
-version = "1.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
-dependencies = [
- "instant",
-]
-
-[[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "fuchsia-zircon"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
-dependencies = [
- "bitflags",
- "fuchsia-zircon-sys",
-]
-
-[[package]]
-name = "fuchsia-zircon-sys"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
-
-[[package]]
-name = "futures"
-version = "0.3.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f21eda599937fba36daeb58a22e8f5cee2d14c4a17b5b7739c7c8e5e3b8230c"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-executor",
- "futures-io",
- "futures-sink",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-channel"
-version = "0.3.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30bdd20c28fadd505d0fd6712cdfcb0d4b5648baf45faef7f852afb2399bb050"
-dependencies = [
- "futures-core",
- "futures-sink",
-]
-
-[[package]]
-name = "futures-core"
-version = "0.3.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e5aa3de05362c3fb88de6531e6296e85cde7739cccad4b9dfeeb7f6ebce56bf"
-
-[[package]]
-name = "futures-executor"
-version = "0.3.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ff63c23854bee61b6e9cd331d523909f238fc7636290b96826e9cfa5faa00ab"
-dependencies = [
- "futures-core",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-io"
-version = "0.3.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbf4d2a7a308fd4578637c0b17c7e1c7ba127b8f6ba00b29f717e9655d85eb68"
-
-[[package]]
-name = "futures-macro"
-version = "0.3.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42cd15d1c7456c04dbdf7e88bcd69760d74f3a798d6444e16974b505b0e62f17"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.102",
-]
-
-[[package]]
-name = "futures-sink"
-version = "0.3.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21b20ba5a92e727ba30e72834706623d94ac93a725410b6a6b6fbc1b07f7ba56"
-
-[[package]]
-name = "futures-task"
-version = "0.3.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6508c467c73851293f390476d4491cf4d227dbabcd4170f3bb6044959b294f1"
-
-[[package]]
-name = "futures-util"
-version = "0.3.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44fb6cb1be61cc1d2e43b262516aafcf63b241cffdb1d3fa115f91d9c7b09c90"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-io",
- "futures-macro",
- "futures-sink",
- "futures-task",
- "memchr",
- "pin-project-lite",
- "pin-utils",
- "slab",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.1.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "heck"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
-
-[[package]]
-name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hex"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
-
-[[package]]
-name = "hyprland"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19d341e36a776cd092622daf2439a484247f3dc7d25eab7b286cc88ac85120d3"
-dependencies = [
- "async-trait",
- "derive_more",
- "doc-comment",
- "futures",
- "hex",
- "hyprland-macros",
- "lazy_static",
- "num-traits",
- "paste",
- "regex",
- "serde",
- "serde_json",
- "serde_repr",
- "strum",
- "tokio",
-]
-
-[[package]]
-name = "hyprland-macros"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0088021091c08e29e9d1f735142ab811bd4d4d7f82fd4d4673407cb96fffb062"
-dependencies = [
- "quote",
- "syn 2.0.12",
-]
-
-[[package]]
-name = "hyprsome"
-version = "0.1.11"
-dependencies = [
- "clap",
- "hyprland",
- "ipc-rpc",
- "schemars",
- "serde",
- "serde_json",
- "tokio",
-]
-
-[[package]]
-name = "instant"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "iovec"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "ipc-channel"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cb1d9211085f0ea6f1379d944b93c4d07e8207aa3bcf49f37eda12b85081887"
-dependencies = [
- "bincode",
- "crossbeam-channel",
- "fnv",
- "lazy_static",
- "libc",
- "mio 0.6.23",
- "rand",
- "serde",
- "tempfile",
- "uuid 0.8.2",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "ipc-rpc"
-version = "1.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26a06b6be6ca53e9aabea482d2cc45d651aecb8bc3515442909fcd73ab11d692"
-dependencies = [
- "futures",
- "ipc-channel",
- "log",
- "schemars",
- "serde",
- "serde_json",
- "thiserror",
- "tokio",
- "uuid 1.2.1",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc"
-
-[[package]]
-name = "kernel32-sys"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
-dependencies = [
- "winapi 0.2.8",
- "winapi-build",
-]
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-[[package]]
-name = "libc"
-version = "0.2.135"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c"
-
-[[package]]
-name = "lock_api"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
-dependencies = [
- "autocfg",
- "scopeguard",
-]
-
-[[package]]
-name = "log"
-version = "0.4.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "maybe-uninit"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
-
-[[package]]
-name = "memchr"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-
-[[package]]
-name = "mio"
-version = "0.6.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
-dependencies = [
- "cfg-if 0.1.10",
- "fuchsia-zircon",
- "fuchsia-zircon-sys",
- "iovec",
- "kernel32-sys",
- "libc",
- "log",
- "miow",
- "net2",
- "slab",
- "winapi 0.2.8",
-]
-
-[[package]]
-name = "mio"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf"
-dependencies = [
- "libc",
- "log",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys 0.36.1",
-]
-
-[[package]]
-name = "miow"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
-dependencies = [
- "kernel32-sys",
- "net2",
- "winapi 0.2.8",
- "ws2_32-sys",
-]
-
-[[package]]
-name = "net2"
-version = "0.2.37"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae"
-dependencies = [
- "cfg-if 0.1.10",
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "num_cpus"
-version = "1.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
-dependencies = [
- "hermit-abi",
- "libc",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1"
-
-[[package]]
-name = "os_str_bytes"
-version = "6.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff"
-
-[[package]]
-name = "parking_lot"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
-dependencies = [
- "lock_api",
- "parking_lot_core",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.9.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "redox_syscall",
- "smallvec",
- "windows-sys 0.45.0",
-]
-
-[[package]]
-name = "paste"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba"
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
-
-[[package]]
-name = "pin-utils"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
-
-[[package]]
-name = "proc-macro-error"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
-dependencies = [
- "proc-macro-error-attr",
- "proc-macro2",
- "quote",
- "syn 1.0.102",
- "version_check",
-]
-
-[[package]]
-name = "proc-macro-error-attr"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
-dependencies = [
- "proc-macro2",
- "quote",
- "version_check",
-]
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.54"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e472a104799c74b514a57226160104aa483546de37e839ec50e3c2e41dd87534"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha",
- "rand_core",
- "rand_hc",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-dependencies = [
- "ppv-lite86",
- "rand_core",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-dependencies = [
- "getrandom 0.1.16",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-dependencies = [
- "rand_core",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "regex"
-version = "1.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
-
-[[package]]
-name = "remove_dir_all"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
-dependencies = [
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "rustc_version"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
-dependencies = [
- "semver",
-]
-
-[[package]]
-name = "rustversion"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70"
-
-[[package]]
-name = "ryu"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
-
-[[package]]
-name = "schemars"
-version = "0.8.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a5fb6c61f29e723026dc8e923d94c694313212abbecbbe5f55a7748eec5b307"
-dependencies = [
- "dyn-clone",
- "schemars_derive",
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "schemars_derive"
-version = "0.8.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f188d036977451159430f3b8dc82ec76364a42b7e289c2b18a9a18f4470058e9"
-dependencies = [
- "proc-macro2",
- "quote",
- "serde_derive_internals",
- "syn 1.0.102",
-]
-
-[[package]]
-name = "scopeguard"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-
-[[package]]
-name = "semver"
-version = "1.0.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
-
-[[package]]
-name = "serde"
-version = "1.0.145"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.145"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.102",
-]
-
-[[package]]
-name = "serde_derive_internals"
-version = "0.26.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.102",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.86"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41feea4228a6f1cd09ec7a3593a682276702cd67b5273544757dae23c096f074"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "serde_repr"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a5ec9fa74a20ebbe5d9ac23dac1fc96ba0ecfe9f50f2843b52e537b10fbcb4e"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.102",
-]
-
-[[package]]
-name = "signal-hook-registry"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "slab"
-version = "0.4.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
-
-[[package]]
-name = "socket2"
-version = "0.4.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd"
-dependencies = [
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "strsim"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
-
-[[package]]
-name = "strum"
-version = "0.24.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
-dependencies = [
- "strum_macros",
-]
-
-[[package]]
-name = "strum_macros"
-version = "0.24.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
-dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "rustversion",
- "syn 1.0.102",
-]
-
-[[package]]
-name = "syn"
-version = "1.0.102"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fcd952facd492f9be3ef0d0b7032a6e442ee9b361d4acc2b1d0c4aaa5f613a1"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "syn"
-version = "2.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79d9531f94112cfc3e4c8f5f02cb2b58f72c97b7efd85f70203cc6d8efda5927"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "tempfile"
-version = "3.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
-dependencies = [
- "cfg-if 1.0.0",
- "fastrand",
- "libc",
- "redox_syscall",
- "remove_dir_all",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "termcolor"
-version = "1.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "thiserror"
-version = "1.0.37"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.37"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.102",
-]
-
-[[package]]
-name = "tokio"
-version = "1.21.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099"
-dependencies = [
- "autocfg",
- "bytes",
- "libc",
- "memchr",
- "mio 0.8.4",
- "num_cpus",
- "parking_lot",
- "pin-project-lite",
- "signal-hook-registry",
- "socket2",
- "tokio-macros",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "tokio-macros"
-version = "1.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.102",
-]
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
-
-[[package]]
-name = "uuid"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
-dependencies = [
- "getrandom 0.2.7",
-]
-
-[[package]]
-name = "uuid"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "feb41e78f93363bb2df8b0e86a2ca30eed7806ea16ea0c790d757cf93f79be83"
-dependencies = [
- "getrandom 0.2.7",
- "serde",
-]
-
-[[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "winapi"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-build"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-util"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
-dependencies = [
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "windows-sys"
-version = "0.36.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
-dependencies = [
- "windows_aarch64_msvc 0.36.1",
- "windows_i686_gnu 0.36.1",
- "windows_i686_msvc 0.36.1",
- "windows_x86_64_gnu 0.36.1",
- "windows_x86_64_msvc 0.36.1",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.45.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
-dependencies = [
- "windows-targets",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.42.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7"
-dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc 0.42.1",
- "windows_i686_gnu 0.42.1",
- "windows_i686_msvc 0.42.1",
- "windows_x86_64_gnu 0.42.1",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc 0.42.1",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.42.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.36.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.42.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.36.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.42.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.36.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.42.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.36.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.42.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.42.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.36.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.42.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
-
-[[package]]
-name = "ws2_32-sys"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
-dependencies = [
- "winapi 0.2.8",
- "winapi-build",
-]
diff --git a/.config/hypr/hyprsome/Cargo.toml b/.config/hypr/hyprsome/Cargo.toml
deleted file mode 100644
index 83a36ba..0000000
--- a/.config/hypr/hyprsome/Cargo.toml
+++ /dev/null
@@ -1,17 +0,0 @@
-[package]
-name = "hyprsome"
-description = "A small CLI apps that allows to make Hyprland's workspaces work like Awesome in multi-monitor setup"
-license = "GPL-3.0"
-version = "0.1.11"
-edition = "2021"
-
-# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
-
-[dependencies]
-clap = { version = "4.0.15", features = ["derive"] }
-ipc-rpc = "1.2.2"
-schemars = "0.8.11"
-serde = "1.0.145"
-serde_json = "1.0.86"
-tokio = "1.21.2"
-hyprland = "0.3.1"
diff --git a/.config/hypr/hyprsome/LICENSE.txt b/.config/hypr/hyprsome/LICENSE.txt
deleted file mode 100644
index 736f7b0..0000000
--- a/.config/hypr/hyprsome/LICENSE.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-The GPLv3 License (GPLv3)
-
-Copyright (c) 2022 Author
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
diff --git a/.config/hypr/hyprsome/README.md b/.config/hypr/hyprsome/README.md
deleted file mode 100644
index 0a26688..0000000
--- a/.config/hypr/hyprsome/README.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# Hyprsome
-Hyprsome is a binary that interacts with Hyprland's Unix socket to make workspaces behave similarly to AwesomeWM in a multi-monitor setup.
-
-If you're focused on a monitor and press SUPER+[1-9], you'll only switch to the workspaces that are bound to that monitor.
-
-It is inspired by Swaysome, which does a similar thing for Sway.
-
-# Installation
-`
-cargo install hyprsome
-`
-
-# Usage
-Once the binary is installed, you can modify your ~/.config/hypr/hyprland.conf to accomodate it.
-Here is an example of a dual monitor setup:
-
-```
-monitor=DP-1,1920x1080@60,0x0,1.33
-monitor=DP-1,transform,1
-workspace=DP-1,1
-monitor=HDMI-A-1,3440x1440@100,813x0,1
-workspace=HDMI-A-1,11
-```
-
-Most noteworthy thing here is the 'workspace' keyword that I use to bind a default workspace for each monitor.
-
-
-Then you can bind workspaces to your different monitors.
-
-It is very important that you bind your workspaces in order.
-
-Check the results of `hyprctl monitors`. Bind workspaces from 1 to 9 on your monitor that has 0 as an id.
-
-Then just bind workspaces by prefixing numbers by the id of the monitor they're bound to.
-
-Here, HDMI-A-1's id is 1, so I bind workspaces from 11 to 19 to it.
-
-```
- workspace=1,monitor:DP-1
- workspace=2,monitor:DP-1
- workspace=3,monitor:DP-1
- workspace=4,monitor:DP-1
- workspace=5,monitor:DP-1
-
- workspace=11,monitor:HDMI-A-1
- workspace=12,monitor:HDMI-A-1
- workspace=13,monitor:HDMI-A-1
- workspace=14,monitor:HDMI-A-1
- workspace=15,monitor:HDMI-A-1
-```
-
-Then it's just a matter of making sure your regular workspace keybinds call hyprsome.
-
-```
-bind=SUPER,1,exec,hyprsome workspace 1
-bind=SUPER,2,exec,hyprsome workspace 2
-bind=SUPER,3,exec,hyprsome workspace 3
-bind=SUPER,4,exec,hyprsome workspace 4
-bind=SUPER,5,exec,hyprsome workspace 5
-
-bind=SUPERSHIFT,1,exec,hyprsome move 1
-bind=SUPERSHIFT,2,exec,hyprsome move 2
-bind=SUPERSHIFT,3,exec,hyprsome move 3
-bind=SUPERSHIFT,4,exec,hyprsome move 4
-bind=SUPERSHIFT,5,exec,hyprsome move 5
-
-```
-
-# Limitations
-This is alpha software and my first program in Rust, bugs are bound to happen but nothing that will break your system.
-
-Some features are most likely missing.
-
-You can only have 9 workspaces per monitor as of now.
-
-I haven't worked on supporting monitor hot-plug at all. It may work but it's unlikely.
diff --git a/.config/hypr/hyprsome/flake.lock b/.config/hypr/hyprsome/flake.lock
deleted file mode 100644
index 51f0f15..0000000
--- a/.config/hypr/hyprsome/flake.lock
+++ /dev/null
@@ -1,159 +0,0 @@
-{
- "nodes": {
- "crane": {
- "inputs": {
- "flake-compat": "flake-compat",
- "flake-utils": "flake-utils",
- "nixpkgs": [
- "nixpkgs"
- ],
- "rust-overlay": "rust-overlay"
- },
- "locked": {
- "lastModified": 1684981077,
- "narHash": "sha256-68X9cFm0RTZm8u0rXPbeBzOVUH5OoUGAfeHHVoxGd9o=",
- "owner": "ipetkov",
- "repo": "crane",
- "rev": "35110cccf28823320f4fd697fcafcb5038683982",
- "type": "github"
- },
- "original": {
- "owner": "ipetkov",
- "repo": "crane",
- "type": "github"
- }
- },
- "flake-compat": {
- "flake": false,
- "locked": {
- "lastModified": 1673956053,
- "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
- "owner": "edolstra",
- "repo": "flake-compat",
- "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
- "type": "github"
- },
- "original": {
- "owner": "edolstra",
- "repo": "flake-compat",
- "type": "github"
- }
- },
- "flake-utils": {
- "inputs": {
- "systems": "systems"
- },
- "locked": {
- "lastModified": 1681202837,
- "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
- "owner": "numtide",
- "repo": "flake-utils",
- "rev": "cfacdce06f30d2b68473a46042957675eebb3401",
- "type": "github"
- },
- "original": {
- "owner": "numtide",
- "repo": "flake-utils",
- "type": "github"
- }
- },
- "flake-utils_2": {
- "inputs": {
- "systems": "systems_2"
- },
- "locked": {
- "lastModified": 1685518550,
- "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
- "owner": "numtide",
- "repo": "flake-utils",
- "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
- "type": "github"
- },
- "original": {
- "owner": "numtide",
- "repo": "flake-utils",
- "type": "github"
- }
- },
- "nixpkgs": {
- "locked": {
- "lastModified": 1685498995,
- "narHash": "sha256-rdyjnkq87tJp+T2Bm1OD/9NXKSsh/vLlPeqCc/mm7qs=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "9cfaa8a1a00830d17487cb60a19bb86f96f09b27",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixpkgs-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "root": {
- "inputs": {
- "crane": "crane",
- "flake-utils": "flake-utils_2",
- "nixpkgs": "nixpkgs"
- }
- },
- "rust-overlay": {
- "inputs": {
- "flake-utils": [
- "crane",
- "flake-utils"
- ],
- "nixpkgs": [
- "crane",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1683080331,
- "narHash": "sha256-nGDvJ1DAxZIwdn6ww8IFwzoHb2rqBP4wv/65Wt5vflk=",
- "owner": "oxalica",
- "repo": "rust-overlay",
- "rev": "d59c3fa0cba8336e115b376c2d9e91053aa59e56",
- "type": "github"
- },
- "original": {
- "owner": "oxalica",
- "repo": "rust-overlay",
- "type": "github"
- }
- },
- "systems": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
- },
- "systems_2": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
- }
- },
- "root": "root",
- "version": 7
-}
diff --git a/.config/hypr/hyprsome/flake.nix b/.config/hypr/hyprsome/flake.nix
deleted file mode 100644
index 31bb13e..0000000
--- a/.config/hypr/hyprsome/flake.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- inputs = {
- nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
- crane.url = "github:ipetkov/crane";
- crane.inputs.nixpkgs.follows = "nixpkgs";
- flake-utils.url = "github:numtide/flake-utils";
- };
-
- outputs = { self, nixpkgs, crane, flake-utils, ... }:
- flake-utils.lib.eachDefaultSystem (system:
- let
- craneLib = crane.lib.${system};
- in
- {
- packages.default = craneLib.buildPackage {
- src = craneLib.cleanCargoSource (craneLib.path ./.);
- # Add extra inputs here or any other derivation settings
- # doCheck = true;
- # buildInputs = [];
- # nativeBuildInputs = [];
- };
- });
-}
diff --git a/.config/hypr/hyprsome/src/hyprland_ipc/client.rs b/.config/hypr/hyprsome/src/hyprland_ipc/client.rs
deleted file mode 100644
index 0821534..0000000
--- a/.config/hypr/hyprsome/src/hyprland_ipc/client.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-use hyprland::{
- data::{Client, Clients},
- dispatch::{Direction, Dispatch, DispatchType},
- shared::{HyprData, HyprDataActiveOptional},
-};
-
-pub fn get_active() -> Option {
- Client::get_active().unwrap()
-}
-
-pub fn get() -> Clients {
- Clients::get().unwrap()
-}
-
-pub fn focus_by_direction(direction: Direction) {
- let _ = Dispatch::call(DispatchType::MoveFocus(direction));
-}
diff --git a/.config/hypr/hyprsome/src/hyprland_ipc/mod.rs b/.config/hypr/hyprsome/src/hyprland_ipc/mod.rs
deleted file mode 100644
index ff83b2b..0000000
--- a/.config/hypr/hyprsome/src/hyprland_ipc/mod.rs
+++ /dev/null
@@ -1,37 +0,0 @@
-pub mod client;
-pub mod monitor;
-pub mod option;
-pub mod workspace;
-
-use std::env;
-use std::io::prelude::*;
-use std::os::unix::net::UnixStream;
-
-extern crate serde_json;
-
-fn send_message(action: &str, args: Vec<&str>) -> String {
- let env_var_name = "HYPRLAND_INSTANCE_SIGNATURE";
-
- let hyprland_instance_sig = match env::var(env_var_name) {
- Ok(v) => v,
- Err(e) => panic!("${} is not set ({})", env_var_name, e),
- };
-
- let socket_path = format!("/tmp/hypr/{}/.socket.sock", hyprland_instance_sig);
- let mut stream = match UnixStream::connect(socket_path) {
- Err(_) => panic!("server is not running"),
- Ok(stream) => stream,
- };
-
- let mut message = format!("j/{}", action);
- args.into_iter()
- .for_each(|a| message.push_str(&format!(" {}", a)));
-
- // TODO: stop being stinky and manage errors
- let _ = stream.write_all(message.as_bytes());
- let mut response = String::new();
-
- // TODO: stop being stinky and manage errors
- let _ = stream.read_to_string(&mut response);
- response
-}
diff --git a/.config/hypr/hyprsome/src/hyprland_ipc/monitor.rs b/.config/hypr/hyprsome/src/hyprland_ipc/monitor.rs
deleted file mode 100644
index f08e4e9..0000000
--- a/.config/hypr/hyprsome/src/hyprland_ipc/monitor.rs
+++ /dev/null
@@ -1,43 +0,0 @@
-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,
- )));
-}
diff --git a/.config/hypr/hyprsome/src/hyprland_ipc/option.rs b/.config/hypr/hyprsome/src/hyprland_ipc/option.rs
deleted file mode 100644
index 368403f..0000000
--- a/.config/hypr/hyprsome/src/hyprland_ipc/option.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-use serde::{Deserialize, Serialize};
-
-const GETOPTIONS: &str = "getoptions";
-const GENERAL_GAPS_OUT: &str = "general:gaps_out";
-
-#[derive(Serialize, Deserialize, Debug)]
-pub struct HyprlandOption {
- pub option: String,
- pub int: i32,
- pub float: f64,
- pub str: String,
-}
-
-pub fn get_gaps() -> i16 {
- let response = super::send_message(GETOPTIONS, vec![GENERAL_GAPS_OUT]);
- let gap_option: HyprlandOption = serde_json::from_str(&response).unwrap();
-
- gap_option.int as i16
-}
diff --git a/.config/hypr/hyprsome/src/hyprland_ipc/workspace.rs b/.config/hypr/hyprsome/src/hyprland_ipc/workspace.rs
deleted file mode 100644
index 82c606c..0000000
--- a/.config/hypr/hyprsome/src/hyprland_ipc/workspace.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-// TODO: change this file to hyprland-rs
-const WORKSPACE: &str = "workspace";
-const DISPATCH: &str = "dispatch";
-const MOVETOWORKSPACESILENT: &str = "movetoworkspacesilent";
-const MOVETOWORKSPACE: &str = "movetoworkspace";
-
-pub fn focus(workspace_number: &u64) {
- let _ = super::send_message(DISPATCH, vec![WORKSPACE, &workspace_number.to_string()]);
-}
-
-pub fn move_to(workspace_number: &u64) {
- super::send_message(
- DISPATCH,
- vec![MOVETOWORKSPACESILENT, &workspace_number.to_string()],
- );
-}
-
-pub fn move_focus(workspace_number: &u64) {
- super::send_message(
- DISPATCH,
- vec![MOVETOWORKSPACE, &workspace_number.to_string()],
- );
-}
diff --git a/.config/hypr/hyprsome/src/main.rs b/.config/hypr/hyprsome/src/main.rs
deleted file mode 100644
index c8f8854..0000000
--- a/.config/hypr/hyprsome/src/main.rs
+++ /dev/null
@@ -1,350 +0,0 @@
-use clap::{Parser, Subcommand, ValueEnum};
-
-mod hyprland_ipc;
-use hyprland::{
- data::{Client, Monitor, Transforms, Workspaces},
- dispatch::Direction, shared::HyprData,
-};
-use hyprland_ipc::{client, monitor, option, workspace};
-
-#[derive(Parser)]
-#[command(name = "hyprsome")]
-#[command(author = "sopa0")]
-#[command(version = "0.1.11")]
-#[command(about = "Makes hyprland workspaces behave like awesome")]
-struct Cli {
- #[command(subcommand)]
- command: Commands,
-}
-
-#[derive(Subcommand)]
-enum Commands {
- Focus { direction: Directions },
- Workspace { workspace_number: u64 },
- Move { workspace_number: u64 },
- Movefocus { workspace_number: u64 },
- MoveEmpty,
- FocusEmpty,
-}
-
-#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, ValueEnum, Debug)]
-enum Directions {
- L,
- R,
- U,
- D,
-}
-
-pub trait MonitorDimensions {
- fn real_width(&self) -> f32;
- fn real_height(&self) -> f32;
-}
-
-impl MonitorDimensions for Monitor {
- fn real_width(&self) -> f32 {
- match self.transform {
- Transforms::Normal
- | Transforms::Normal180
- | Transforms::Flipped
- | Transforms::Flipped180 => self.width as f32 / self.scale,
- Transforms::Normal90 | Transforms::Normal270 | Transforms::Flipped90 => {
- self.height as f32 / self.scale
- }
- _ => self.width as f32,
- }
- }
-
- fn real_height(&self) -> f32 {
- match self.transform {
- Transforms::Normal
- | Transforms::Flipped
- | Transforms::Normal180
- | Transforms::Flipped180 => self.height as f32 / self.scale,
- Transforms::Normal90 | Transforms::Normal270 | Transforms::Flipped90 => {
- self.width as f32 / self.scale
- }
- _ => self.height as f32,
- }
- }
-}
-
-pub fn get_current_monitor() -> Monitor {
- monitor::get().find(|m| m.focused).unwrap()
-}
-
-//TODO: refactor this nonsense
-pub fn select_workspace(workspace_number: &u64) {
- let mon = get_current_monitor();
- match mon.id {
- 0 => workspace::focus(workspace_number),
- _ => {
- workspace::focus(
- &format!("{}{}", mon.id, workspace_number)
- .parse::()
- .unwrap(),
- );
- }
- }
-}
-
-pub fn get_empty_workspace() -> u64 {
- let mon = get_current_monitor();
- let mut found = Vec::new();
- for workspaces in Workspaces::get().iter() {
- for workspace in workspaces.iter() {
- if workspace.monitor == mon.name {
- let mut id = workspace.name.clone();
- if id.len() > 1 {
- id = id.chars().nth(1).unwrap().to_string();
- }
- found.push(id);
- }
- }
- }
- for i in 1..9 {
- if !found.contains(&i.to_string()) {
- return i;
- }
- }
- return 1; // Send to the first workspace if no others are available
-}
-
-//TODO: refactor this nonsense
-pub fn send_to_workspace(workspace_number: &u64) {
- let mon = get_current_monitor();
- match mon.id {
- 0 => workspace::move_to(workspace_number),
- _ => {
- workspace::move_to(
- &format!("{}{}", mon.id, workspace_number)
- .parse::()
- .unwrap(),
- );
- }
- }
-}
-
-//TODO: refactor this nonsense
-pub fn movefocus(workspace_number: &u64) {
- let mon = get_current_monitor();
- match mon.id {
- 0 => workspace::move_focus(workspace_number),
- _ => {
- workspace::move_focus(
- &format!("{}{}", mon.id, workspace_number)
- .parse::()
- .unwrap(),
- );
- }
- }
-}
-
-pub fn get_leftmost_client_for_monitor(mon_id: i16) -> Client {
- let clients = client::get();
-
- clients
- .into_iter()
- .filter(|c| c.monitor == mon_id)
- .min_by_key(|c| c.at.0)
- .unwrap()
-}
-
-pub fn focus_left(aw: Client) {
- let mon = monitor::get_by_id(aw.monitor);
- let is_leftmost_client = is_leftmost_client(&aw, &mon);
-
- if is_leftmost_monitor(&mon) && is_leftmost_client {
- return;
- }
-
- if is_leftmost_client {
- monitor::focus_left();
-
- return;
- }
-
- client::focus_by_direction(Direction::Left);
-}
-
-pub fn focus_right(aw: Client) {
- let mon = monitor::get_by_id(aw.monitor);
-
- if is_rightmost_monitor(&mon) && is_rightmost_client(&aw, &mon) {
- return;
- }
-
- if is_rightmost_client(&aw, &mon) {
- monitor::focus_right();
-
- return;
- }
-
- client::focus_by_direction(Direction::Right);
-}
-
-pub fn focus_up(aw: Client) {
- let mon = monitor::get_by_id(aw.monitor);
- let is_top_client = is_top_client(&aw, &mon);
-
- if is_top_monitor(&mon) && is_top_client {
- return;
- }
-
- if is_top_client {
- monitor::focus_up();
-
- return;
- }
-
- client::focus_by_direction(Direction::Up);
-}
-
-pub fn focus_down(aw: Client) {
- let mon = monitor::get_by_id(aw.monitor);
- let is_bottom_client = is_bottom_client(&aw, &mon);
-
- if is_bottom_monitor(&mon) && is_bottom_client {
- return;
- }
-
- if is_bottom_client {
- monitor::focus_down();
-
- return;
- }
-
- client::focus_by_direction(Direction::Down);
-}
-
-pub fn is_leftmost_client(aw: &Client, mon: &Monitor) -> bool {
- let gaps = option::get_gaps();
-
- if (aw.at.0 - gaps) as i32 == mon.x {
- return true;
- }
-
- false
-}
-
-pub fn is_rightmost_client(aw: &Client, mon: &Monitor) -> bool {
- let gaps = option::get_gaps();
-
- if mon.real_width() + mon.x as f32 - gaps as f32 == aw.size.0 as f32 + aw.at.0 as f32 {
- return true;
- }
-
- false
-}
-
-pub fn is_top_client(aw: &Client, mon: &Monitor) -> bool {
- let gaps = option::get_gaps();
-
- if mon.y + (gaps as i32) + (mon.reserved.1 as i32) == (aw.at.1 as i32) {
- return true;
- }
-
- false
-}
-
-pub fn is_bottom_client(aw: &Client, mon: &Monitor) -> bool {
- let gaps = option::get_gaps();
-
- if mon.real_height() + mon.y as f32 - gaps as f32 - mon.reserved.1 as f32
- == aw.size.1 as f32 + gaps as f32
- {
- return true;
- }
-
- false
-}
-
-pub fn is_rightmost_monitor(mon: &Monitor) -> bool {
- let monitors = monitor::get();
- let max = monitors.into_iter().max_by_key(|m| m.x).unwrap();
- if max.x == mon.x {
- return true;
- }
- false
-}
-
-pub fn is_leftmost_monitor(mon: &Monitor) -> bool {
- let monitors = monitor::get();
- let min = monitors.into_iter().min_by_key(|m| m.x).unwrap();
- if min.x == mon.x {
- return true;
- }
- false
-}
-
-pub fn is_top_monitor(mon: &Monitor) -> bool {
- let monitors = monitor::get();
- let min = monitors.into_iter().min_by_key(|m| m.y).unwrap();
- if min.y == mon.y {
- return true;
- }
- false
-}
-
-pub fn is_bottom_monitor(mon: &Monitor) -> bool {
- let monitors = monitor::get();
- let max = monitors.into_iter().max_by_key(|m| m.y).unwrap();
- if max.y == mon.y {
- return true;
- }
- false
-}
-
-fn main() {
- let cli = Cli::parse();
- match &cli.command {
- Commands::Focus { direction } => match direction {
- Directions::L => {
- let aw = client::get_active();
-
- match aw {
- Some(aw) => focus_left(aw),
- None => monitor::focus_left(),
- };
- }
- Directions::R => {
- let aw = client::get_active();
-
- match aw {
- Some(aw) => focus_right(aw),
- None => monitor::focus_right(),
- };
- }
- Directions::U => {
- let aw = client::get_active();
-
- match aw {
- Some(aw) => focus_up(aw),
- None => monitor::focus_up(),
- };
- }
- Directions::D => {
- let aw = client::get_active();
-
- match aw {
- Some(aw) => focus_down(aw),
- None => monitor::focus_down(),
- };
- }
- },
- Commands::Workspace { workspace_number } => {
- select_workspace(workspace_number);
- }
- Commands::Move { workspace_number } => {
- send_to_workspace(workspace_number);
- }
- Commands::Movefocus { workspace_number } => {
- movefocus(workspace_number);
- }
- Commands::MoveEmpty => {
- movefocus(&get_empty_workspace());
- },
- Commands::FocusEmpty => {
- select_workspace(&get_empty_workspace());
- },
- }
-}