Compare commits

..

1 Commits

Author SHA1 Message Date
LGUG2Z
7a6905b9e8 fix(wm): forcibly disable transparency on un/stack-all 2025-10-30 16:12:00 -07:00
32 changed files with 1152 additions and 2047 deletions

View File

@@ -55,7 +55,6 @@ body:
label: Hotkey Configuration label: Hotkey Configuration
description: > description: >
Please provide your whkdrc or komorebi.ahk hotkey configuration file Please provide your whkdrc or komorebi.ahk hotkey configuration file
render: shell
- type: textarea - type: textarea
validations: validations:
required: true required: true
@@ -63,4 +62,3 @@ body:
label: Output of komorebic check label: Output of komorebic check
description: > description: >
Please provide the output of `komorebic check` Please provide the output of `komorebic check`
render: shell

View File

@@ -21,7 +21,7 @@ jobs:
cargo-deny: cargo-deny:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v5
with: with:
fetch-depth: 0 fetch-depth: 0
- uses: EmbarkStudios/cargo-deny-action@v2 - uses: EmbarkStudios/cargo-deny-action@v2
@@ -43,7 +43,7 @@ jobs:
RUSTFLAGS: -Ctarget-feature=+crt-static -Dwarnings RUSTFLAGS: -Ctarget-feature=+crt-static -Dwarnings
GH_TOKEN: ${{ github.token }} GH_TOKEN: ${{ github.token }}
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v5
with: with:
fetch-depth: 0 fetch-depth: 0
- run: rustup toolchain install stable --profile minimal - run: rustup toolchain install stable --profile minimal
@@ -82,7 +82,7 @@ jobs:
env: env:
GH_TOKEN: ${{ github.token }} GH_TOKEN: ${{ github.token }}
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v5
with: with:
fetch-depth: 0 fetch-depth: 0
- shell: bash - shell: bash
@@ -129,7 +129,7 @@ jobs:
env: env:
GH_TOKEN: ${{ github.token }} GH_TOKEN: ${{ github.token }}
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v5
with: with:
fetch-depth: 0 fetch-depth: 0
- shell: bash - shell: bash
@@ -171,7 +171,7 @@ jobs:
env: env:
GH_TOKEN: ${{ github.token }} GH_TOKEN: ${{ github.token }}
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v5
with: with:
fetch-depth: 0 fetch-depth: 0
- shell: bash - shell: bash

1151
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -19,8 +19,8 @@ chrono = "0.4"
crossbeam-channel = "0.5" crossbeam-channel = "0.5"
crossbeam-utils = "0.8" crossbeam-utils = "0.8"
color-eyre = "0.6" color-eyre = "0.6"
eframe = "0.33" eframe = "0.32"
egui_extras = "0.33" egui_extras = "0.32"
dirs = "6" dirs = "6"
dunce = "1" dunce = "1"
hotwatch = "0.5" hotwatch = "0.5"

View File

@@ -29,20 +29,6 @@ Tiling Window Management for Windows.
![screenshot](https://user-images.githubusercontent.com/13164844/184027064-f5a6cec2-2865-4d65-a549-a1f1da589abf.png) ![screenshot](https://user-images.githubusercontent.com/13164844/184027064-f5a6cec2-2865-4d65-a549-a1f1da589abf.png)
## Note: komorebi for Mac
If you made your way to this repo looking for [komorebi for
Mac](https://github.com/KomoCorp/komorebi-for-mac), the project is currently
being developed in private with [early access available to GitHub
Sponsors](https://github.com/sponsors/LGUG2Z).
If you want to see how far along development is before signing up for early
access (spoiler: it's very far along!) there is an overview video you can watch
[here](https://www.youtube.com/watch?v=u3eJcsa_MJk).
Sponsors with early access can install komorebi for Mac either by compiling
from source, by using Homebrew, or by using the project's Nix Flake.
## Overview ## Overview
_komorebi_ is a tiling window manager that works as an extension to Microsoft's _komorebi_ is a tiling window manager that works as an extension to Microsoft's
@@ -408,7 +394,7 @@ every `WindowManagerEvent` and `SocketMessage` handled by `komorebi` in a Rust c
Below is a simple example of how to use `komorebi-client` in a basic Rust application. Below is a simple example of how to use `komorebi-client` in a basic Rust application.
```rust ```rust
// komorebi-client = { git = "https://github.com/LGUG2Z/komorebi", tag = "v0.1.39"} // komorebi-client = { git = "https://github.com/LGUG2Z/komorebi", tag = "v0.1.38"}
use anyhow::Result; use anyhow::Result;
use komorebi_client::Notification; use komorebi_client::Notification;

View File

@@ -95,11 +95,6 @@ crate = "base16-egui-themes"
expression = "MIT" expression = "MIT"
license-files = [] license-files = []
[[licenses.clarify]]
crate = "win32-display-data"
expression = "0BSD"
license-files = []
[bans] [bans]
multiple-versions = "allow" multiple-versions = "allow"
wildcards = "allow" wildcards = "allow"
@@ -118,6 +113,5 @@ allow-git = [
"https://github.com/LGUG2Z/flavours", "https://github.com/LGUG2Z/flavours",
"https://github.com/LGUG2Z/base16_color_scheme", "https://github.com/LGUG2Z/base16_color_scheme",
"https://github.com/LGUG2Z/whkd", "https://github.com/LGUG2Z/whkd",
"https://github.com/LGUG2Z/catppuccin-egui", # "https://github.com/LGUG2Z/catppuccin-egui",
"https://github.com/amPerl/egui-phosphor",
] ]

View File

@@ -13,59 +13,57 @@
[ [
"ab_glyph 0.2.32 registry+https://github.com/rust-lang/crates.io-index", "ab_glyph 0.2.32 registry+https://github.com/rust-lang/crates.io-index",
"ab_glyph_rasterizer 0.1.10 registry+https://github.com/rust-lang/crates.io-index", "ab_glyph_rasterizer 0.1.10 registry+https://github.com/rust-lang/crates.io-index",
"accesskit 0.21.1 registry+https://github.com/rust-lang/crates.io-index", "accesskit 0.19.0 registry+https://github.com/rust-lang/crates.io-index",
"accesskit_consumer 0.31.0 registry+https://github.com/rust-lang/crates.io-index", "accesskit_consumer 0.28.0 registry+https://github.com/rust-lang/crates.io-index",
"accesskit_windows 0.29.2 registry+https://github.com/rust-lang/crates.io-index", "accesskit_windows 0.27.0 registry+https://github.com/rust-lang/crates.io-index",
"accesskit_winit 0.29.2 registry+https://github.com/rust-lang/crates.io-index", "accesskit_winit 0.27.0 registry+https://github.com/rust-lang/crates.io-index",
"adler 1.0.2 registry+https://github.com/rust-lang/crates.io-index", "adler 1.0.2 registry+https://github.com/rust-lang/crates.io-index",
"adler2 2.0.1 registry+https://github.com/rust-lang/crates.io-index", "adler2 2.0.1 registry+https://github.com/rust-lang/crates.io-index",
"ahash 0.8.12 registry+https://github.com/rust-lang/crates.io-index", "ahash 0.8.12 registry+https://github.com/rust-lang/crates.io-index",
"aligned 0.4.2 registry+https://github.com/rust-lang/crates.io-index",
"allocator-api2 0.2.21 registry+https://github.com/rust-lang/crates.io-index", "allocator-api2 0.2.21 registry+https://github.com/rust-lang/crates.io-index",
"anstream 0.6.21 registry+https://github.com/rust-lang/crates.io-index", "anstream 0.6.21 registry+https://github.com/rust-lang/crates.io-index",
"anstyle 1.0.13 registry+https://github.com/rust-lang/crates.io-index", "anstyle 1.0.13 registry+https://github.com/rust-lang/crates.io-index",
"anstyle-parse 0.2.7 registry+https://github.com/rust-lang/crates.io-index", "anstyle-parse 0.2.7 registry+https://github.com/rust-lang/crates.io-index",
"anstyle-query 1.1.5 registry+https://github.com/rust-lang/crates.io-index", "anstyle-query 1.1.4 registry+https://github.com/rust-lang/crates.io-index",
"anstyle-wincon 3.0.11 registry+https://github.com/rust-lang/crates.io-index", "anstyle-wincon 3.0.10 registry+https://github.com/rust-lang/crates.io-index",
"anyhow 1.0.100 registry+https://github.com/rust-lang/crates.io-index", "anyhow 1.0.100 registry+https://github.com/rust-lang/crates.io-index",
"approx 0.3.2 registry+https://github.com/rust-lang/crates.io-index", "approx 0.3.2 registry+https://github.com/rust-lang/crates.io-index",
"arboard 3.6.1 registry+https://github.com/rust-lang/crates.io-index", "arboard 3.6.1 registry+https://github.com/rust-lang/crates.io-index",
"arrayvec 0.7.6 registry+https://github.com/rust-lang/crates.io-index", "arrayvec 0.7.6 registry+https://github.com/rust-lang/crates.io-index",
"as-slice 0.2.1 registry+https://github.com/rust-lang/crates.io-index",
"atomic-waker 1.1.2 registry+https://github.com/rust-lang/crates.io-index", "atomic-waker 1.1.2 registry+https://github.com/rust-lang/crates.io-index",
"autocfg 1.5.0 registry+https://github.com/rust-lang/crates.io-index", "autocfg 1.5.0 registry+https://github.com/rust-lang/crates.io-index",
"backtrace 0.3.76 registry+https://github.com/rust-lang/crates.io-index", "backtrace 0.3.76 registry+https://github.com/rust-lang/crates.io-index",
"backtrace-ext 0.2.1 registry+https://github.com/rust-lang/crates.io-index", "backtrace-ext 0.2.1 registry+https://github.com/rust-lang/crates.io-index",
"base16_color_scheme 0.3.2 git+https://github.com/LGUG2Z/base16_color_scheme", "base16_color_scheme 0.3.2 git+https://github.com/LGUG2Z/base16_color_scheme",
"base64 0.21.7 registry+https://github.com/rust-lang/crates.io-index",
"base64 0.22.1 registry+https://github.com/rust-lang/crates.io-index", "base64 0.22.1 registry+https://github.com/rust-lang/crates.io-index",
"beef 0.5.2 registry+https://github.com/rust-lang/crates.io-index", "beef 0.5.2 registry+https://github.com/rust-lang/crates.io-index",
"bit_field 0.10.3 registry+https://github.com/rust-lang/crates.io-index", "bit_field 0.10.3 registry+https://github.com/rust-lang/crates.io-index",
"bitflags 1.3.2 registry+https://github.com/rust-lang/crates.io-index", "bitflags 1.3.2 registry+https://github.com/rust-lang/crates.io-index",
"bitflags 2.10.0 registry+https://github.com/rust-lang/crates.io-index", "bitflags 2.10.0 registry+https://github.com/rust-lang/crates.io-index",
"bitstream-io 4.9.0 registry+https://github.com/rust-lang/crates.io-index", "bitstream-io 2.6.0 registry+https://github.com/rust-lang/crates.io-index",
"block-buffer 0.10.4 registry+https://github.com/rust-lang/crates.io-index", "block-buffer 0.10.4 registry+https://github.com/rust-lang/crates.io-index",
"bytemuck 1.24.0 registry+https://github.com/rust-lang/crates.io-index", "bytemuck 1.24.0 registry+https://github.com/rust-lang/crates.io-index",
"bytemuck_derive 1.10.2 registry+https://github.com/rust-lang/crates.io-index", "bytemuck_derive 1.10.2 registry+https://github.com/rust-lang/crates.io-index",
"cc 1.2.49 registry+https://github.com/rust-lang/crates.io-index", "cc 1.2.43 registry+https://github.com/rust-lang/crates.io-index",
"cfg-if 0.1.10 registry+https://github.com/rust-lang/crates.io-index", "cfg-if 0.1.10 registry+https://github.com/rust-lang/crates.io-index",
"cfg-if 1.0.4 registry+https://github.com/rust-lang/crates.io-index", "cfg-if 1.0.4 registry+https://github.com/rust-lang/crates.io-index",
"chrono 0.4.42 registry+https://github.com/rust-lang/crates.io-index", "chrono 0.4.42 registry+https://github.com/rust-lang/crates.io-index",
"chrono-tz 0.10.4 registry+https://github.com/rust-lang/crates.io-index", "chrono-tz 0.10.4 registry+https://github.com/rust-lang/crates.io-index",
"clap 4.5.53 registry+https://github.com/rust-lang/crates.io-index", "clap 4.5.50 registry+https://github.com/rust-lang/crates.io-index",
"clap_builder 4.5.53 registry+https://github.com/rust-lang/crates.io-index", "clap_builder 4.5.50 registry+https://github.com/rust-lang/crates.io-index",
"clap_derive 4.5.49 registry+https://github.com/rust-lang/crates.io-index", "clap_derive 4.5.49 registry+https://github.com/rust-lang/crates.io-index",
"clap_lex 0.7.6 registry+https://github.com/rust-lang/crates.io-index", "clap_lex 0.7.6 registry+https://github.com/rust-lang/crates.io-index",
"color-eyre 0.6.5 registry+https://github.com/rust-lang/crates.io-index", "color-eyre 0.6.5 registry+https://github.com/rust-lang/crates.io-index",
"color-spantrace 0.3.0 registry+https://github.com/rust-lang/crates.io-index", "color-spantrace 0.3.0 registry+https://github.com/rust-lang/crates.io-index",
"colorchoice 1.0.4 registry+https://github.com/rust-lang/crates.io-index", "colorchoice 1.0.4 registry+https://github.com/rust-lang/crates.io-index",
"core2 0.4.0 registry+https://github.com/rust-lang/crates.io-index",
"cpufeatures 0.2.17 registry+https://github.com/rust-lang/crates.io-index", "cpufeatures 0.2.17 registry+https://github.com/rust-lang/crates.io-index",
"crc32fast 1.5.0 registry+https://github.com/rust-lang/crates.io-index", "crc32fast 1.5.0 registry+https://github.com/rust-lang/crates.io-index",
"crossbeam-channel 0.5.15 registry+https://github.com/rust-lang/crates.io-index", "crossbeam-channel 0.5.15 registry+https://github.com/rust-lang/crates.io-index",
"crossbeam-deque 0.8.6 registry+https://github.com/rust-lang/crates.io-index", "crossbeam-deque 0.8.6 registry+https://github.com/rust-lang/crates.io-index",
"crossbeam-epoch 0.9.18 registry+https://github.com/rust-lang/crates.io-index", "crossbeam-epoch 0.9.18 registry+https://github.com/rust-lang/crates.io-index",
"crossbeam-utils 0.8.21 registry+https://github.com/rust-lang/crates.io-index", "crossbeam-utils 0.8.21 registry+https://github.com/rust-lang/crates.io-index",
"crypto-common 0.1.7 registry+https://github.com/rust-lang/crates.io-index", "crypto-common 0.1.6 registry+https://github.com/rust-lang/crates.io-index",
"ctrlc 3.5.1 registry+https://github.com/rust-lang/crates.io-index", "ctrlc 3.5.1 registry+https://github.com/rust-lang/crates.io-index",
"cursor-icon 1.2.0 registry+https://github.com/rust-lang/crates.io-index", "cursor-icon 1.2.0 registry+https://github.com/rust-lang/crates.io-index",
"curve25519-dalek-derive 0.1.1 registry+https://github.com/rust-lang/crates.io-index", "curve25519-dalek-derive 0.1.1 registry+https://github.com/rust-lang/crates.io-index",
@@ -82,29 +80,29 @@
"dpi 0.1.2 registry+https://github.com/rust-lang/crates.io-index", "dpi 0.1.2 registry+https://github.com/rust-lang/crates.io-index",
"dunce 1.0.5 registry+https://github.com/rust-lang/crates.io-index", "dunce 1.0.5 registry+https://github.com/rust-lang/crates.io-index",
"dyn-clone 1.0.20 registry+https://github.com/rust-lang/crates.io-index", "dyn-clone 1.0.20 registry+https://github.com/rust-lang/crates.io-index",
"ecolor 0.33.2 registry+https://github.com/rust-lang/crates.io-index", "ecolor 0.32.3 registry+https://github.com/rust-lang/crates.io-index",
"ed25519 2.2.3 registry+https://github.com/rust-lang/crates.io-index", "ed25519 2.2.3 registry+https://github.com/rust-lang/crates.io-index",
"eframe 0.33.2 registry+https://github.com/rust-lang/crates.io-index", "eframe 0.32.3 registry+https://github.com/rust-lang/crates.io-index",
"egui 0.33.2 registry+https://github.com/rust-lang/crates.io-index", "egui 0.32.3 registry+https://github.com/rust-lang/crates.io-index",
"egui-phosphor 0.10.0 git+https://github.com/amPerl/egui-phosphor?rev=d13688738478ecd12b426e3e74c59d6577a85b59", "egui-phosphor 0.10.0 registry+https://github.com/rust-lang/crates.io-index",
"egui-winit 0.33.2 registry+https://github.com/rust-lang/crates.io-index", "egui-winit 0.32.3 registry+https://github.com/rust-lang/crates.io-index",
"egui_extras 0.33.2 registry+https://github.com/rust-lang/crates.io-index", "egui_extras 0.32.3 registry+https://github.com/rust-lang/crates.io-index",
"egui_glow 0.33.2 registry+https://github.com/rust-lang/crates.io-index", "egui_glow 0.32.3 registry+https://github.com/rust-lang/crates.io-index",
"either 1.15.0 registry+https://github.com/rust-lang/crates.io-index", "either 1.15.0 registry+https://github.com/rust-lang/crates.io-index",
"emath 0.33.2 registry+https://github.com/rust-lang/crates.io-index", "emath 0.32.3 registry+https://github.com/rust-lang/crates.io-index",
"encoding_rs 0.8.35 registry+https://github.com/rust-lang/crates.io-index", "encoding_rs 0.8.35 registry+https://github.com/rust-lang/crates.io-index",
"enum-map 2.7.3 registry+https://github.com/rust-lang/crates.io-index", "enum-map 2.7.3 registry+https://github.com/rust-lang/crates.io-index",
"enum-map-derive 0.17.0 registry+https://github.com/rust-lang/crates.io-index", "enum-map-derive 0.17.0 registry+https://github.com/rust-lang/crates.io-index",
"env_home 0.1.0 registry+https://github.com/rust-lang/crates.io-index", "env_home 0.1.0 registry+https://github.com/rust-lang/crates.io-index",
"epaint 0.33.2 registry+https://github.com/rust-lang/crates.io-index", "epaint 0.32.3 registry+https://github.com/rust-lang/crates.io-index",
"epaint_default_fonts 0.33.2 registry+https://github.com/rust-lang/crates.io-index", "epaint_default_fonts 0.32.3 registry+https://github.com/rust-lang/crates.io-index",
"equivalent 1.0.2 registry+https://github.com/rust-lang/crates.io-index", "equivalent 1.0.2 registry+https://github.com/rust-lang/crates.io-index",
"eyre 0.6.12 registry+https://github.com/rust-lang/crates.io-index", "eyre 0.6.12 registry+https://github.com/rust-lang/crates.io-index",
"fastrand 2.3.0 registry+https://github.com/rust-lang/crates.io-index", "fastrand 2.3.0 registry+https://github.com/rust-lang/crates.io-index",
"fdeflate 0.3.7 registry+https://github.com/rust-lang/crates.io-index", "fdeflate 0.3.7 registry+https://github.com/rust-lang/crates.io-index",
"filetime 0.2.26 registry+https://github.com/rust-lang/crates.io-index", "filetime 0.2.26 registry+https://github.com/rust-lang/crates.io-index",
"find-msvc-tools 0.1.5 registry+https://github.com/rust-lang/crates.io-index", "find-msvc-tools 0.1.4 registry+https://github.com/rust-lang/crates.io-index",
"flate2 1.1.7 registry+https://github.com/rust-lang/crates.io-index", "flate2 1.1.5 registry+https://github.com/rust-lang/crates.io-index",
"fnv 1.0.7 registry+https://github.com/rust-lang/crates.io-index", "fnv 1.0.7 registry+https://github.com/rust-lang/crates.io-index",
"form_urlencoded 1.2.2 registry+https://github.com/rust-lang/crates.io-index", "form_urlencoded 1.2.2 registry+https://github.com/rust-lang/crates.io-index",
"futures 0.3.31 registry+https://github.com/rust-lang/crates.io-index", "futures 0.3.31 registry+https://github.com/rust-lang/crates.io-index",
@@ -120,8 +118,8 @@
"getrandom 0.2.16 registry+https://github.com/rust-lang/crates.io-index", "getrandom 0.2.16 registry+https://github.com/rust-lang/crates.io-index",
"getrandom 0.3.4 registry+https://github.com/rust-lang/crates.io-index", "getrandom 0.3.4 registry+https://github.com/rust-lang/crates.io-index",
"gif 0.11.4 registry+https://github.com/rust-lang/crates.io-index", "gif 0.11.4 registry+https://github.com/rust-lang/crates.io-index",
"gif 0.14.1 registry+https://github.com/rust-lang/crates.io-index", "gif 0.13.3 registry+https://github.com/rust-lang/crates.io-index",
"git2 0.20.3 registry+https://github.com/rust-lang/crates.io-index", "git2 0.20.2 registry+https://github.com/rust-lang/crates.io-index",
"gl_generator 0.14.0 registry+https://github.com/rust-lang/crates.io-index", "gl_generator 0.14.0 registry+https://github.com/rust-lang/crates.io-index",
"glob 0.3.3 registry+https://github.com/rust-lang/crates.io-index", "glob 0.3.3 registry+https://github.com/rust-lang/crates.io-index",
"glow 0.16.0 registry+https://github.com/rust-lang/crates.io-index", "glow 0.16.0 registry+https://github.com/rust-lang/crates.io-index",
@@ -132,41 +130,42 @@
"hashbrown 0.12.3 registry+https://github.com/rust-lang/crates.io-index", "hashbrown 0.12.3 registry+https://github.com/rust-lang/crates.io-index",
"hashbrown 0.14.5 registry+https://github.com/rust-lang/crates.io-index", "hashbrown 0.14.5 registry+https://github.com/rust-lang/crates.io-index",
"hashbrown 0.15.5 registry+https://github.com/rust-lang/crates.io-index", "hashbrown 0.15.5 registry+https://github.com/rust-lang/crates.io-index",
"hashbrown 0.16.1 registry+https://github.com/rust-lang/crates.io-index", "hashbrown 0.16.0 registry+https://github.com/rust-lang/crates.io-index",
"heck 0.5.0 registry+https://github.com/rust-lang/crates.io-index", "heck 0.5.0 registry+https://github.com/rust-lang/crates.io-index",
"hex 0.4.3 registry+https://github.com/rust-lang/crates.io-index", "hex 0.4.3 registry+https://github.com/rust-lang/crates.io-index",
"hex_color 3.0.0 registry+https://github.com/rust-lang/crates.io-index", "hex_color 3.0.0 registry+https://github.com/rust-lang/crates.io-index",
"hotwatch 0.5.0 registry+https://github.com/rust-lang/crates.io-index", "hotwatch 0.5.0 registry+https://github.com/rust-lang/crates.io-index",
"http 1.4.0 registry+https://github.com/rust-lang/crates.io-index", "http 1.3.1 registry+https://github.com/rust-lang/crates.io-index",
"httparse 1.10.1 registry+https://github.com/rust-lang/crates.io-index", "httparse 1.10.1 registry+https://github.com/rust-lang/crates.io-index",
"hyper-tls 0.6.0 registry+https://github.com/rust-lang/crates.io-index", "hyper-tls 0.6.0 registry+https://github.com/rust-lang/crates.io-index",
"iana-time-zone 0.1.64 registry+https://github.com/rust-lang/crates.io-index", "iana-time-zone 0.1.64 registry+https://github.com/rust-lang/crates.io-index",
"ident_case 1.0.1 registry+https://github.com/rust-lang/crates.io-index", "ident_case 1.0.1 registry+https://github.com/rust-lang/crates.io-index",
"idna 1.1.0 registry+https://github.com/rust-lang/crates.io-index", "idna 1.1.0 registry+https://github.com/rust-lang/crates.io-index",
"idna_adapter 1.2.1 registry+https://github.com/rust-lang/crates.io-index", "idna_adapter 1.2.1 registry+https://github.com/rust-lang/crates.io-index",
"image 0.25.9 registry+https://github.com/rust-lang/crates.io-index", "image 0.25.8 registry+https://github.com/rust-lang/crates.io-index",
"image-webp 0.2.4 registry+https://github.com/rust-lang/crates.io-index", "image-webp 0.2.4 registry+https://github.com/rust-lang/crates.io-index",
"imgref 1.12.0 registry+https://github.com/rust-lang/crates.io-index", "imgref 1.12.0 registry+https://github.com/rust-lang/crates.io-index",
"indenter 0.3.4 registry+https://github.com/rust-lang/crates.io-index", "indenter 0.3.4 registry+https://github.com/rust-lang/crates.io-index",
"indexmap 1.9.3 registry+https://github.com/rust-lang/crates.io-index", "indexmap 1.9.3 registry+https://github.com/rust-lang/crates.io-index",
"indexmap 2.12.1 registry+https://github.com/rust-lang/crates.io-index", "indexmap 2.12.0 registry+https://github.com/rust-lang/crates.io-index",
"ipnet 2.11.0 registry+https://github.com/rust-lang/crates.io-index", "ipnet 2.11.0 registry+https://github.com/rust-lang/crates.io-index",
"iri-string 0.7.9 registry+https://github.com/rust-lang/crates.io-index", "iri-string 0.7.8 registry+https://github.com/rust-lang/crates.io-index",
"is_debug 1.1.0 registry+https://github.com/rust-lang/crates.io-index", "is_debug 1.1.0 registry+https://github.com/rust-lang/crates.io-index",
"is_terminal_polyfill 1.70.2 registry+https://github.com/rust-lang/crates.io-index", "is_terminal_polyfill 1.70.2 registry+https://github.com/rust-lang/crates.io-index",
"itertools 0.12.1 registry+https://github.com/rust-lang/crates.io-index",
"itertools 0.14.0 registry+https://github.com/rust-lang/crates.io-index", "itertools 0.14.0 registry+https://github.com/rust-lang/crates.io-index",
"itoa 1.0.15 registry+https://github.com/rust-lang/crates.io-index", "itoa 1.0.15 registry+https://github.com/rust-lang/crates.io-index",
"jobserver 0.1.34 registry+https://github.com/rust-lang/crates.io-index", "jobserver 0.1.34 registry+https://github.com/rust-lang/crates.io-index",
"jpeg-decoder 0.1.22 registry+https://github.com/rust-lang/crates.io-index", "jpeg-decoder 0.1.22 registry+https://github.com/rust-lang/crates.io-index",
"khronos_api 3.1.0 registry+https://github.com/rust-lang/crates.io-index", "khronos_api 3.1.0 registry+https://github.com/rust-lang/crates.io-index",
"lazy_static 1.5.0 registry+https://github.com/rust-lang/crates.io-index", "lazy_static 1.5.0 registry+https://github.com/rust-lang/crates.io-index",
"libc 0.2.178 registry+https://github.com/rust-lang/crates.io-index", "libc 0.2.177 registry+https://github.com/rust-lang/crates.io-index",
"libgit2-sys 0.18.3+1.9.2 registry+https://github.com/rust-lang/crates.io-index", "libgit2-sys 0.18.2+1.9.1 registry+https://github.com/rust-lang/crates.io-index",
"libz-sys 1.1.23 registry+https://github.com/rust-lang/crates.io-index", "libz-sys 1.1.22 registry+https://github.com/rust-lang/crates.io-index",
"linked-hash-map 0.5.6 registry+https://github.com/rust-lang/crates.io-index", "linked-hash-map 0.5.6 registry+https://github.com/rust-lang/crates.io-index",
"litrs 1.0.0 registry+https://github.com/rust-lang/crates.io-index", "litrs 1.0.0 registry+https://github.com/rust-lang/crates.io-index",
"lock_api 0.4.14 registry+https://github.com/rust-lang/crates.io-index", "lock_api 0.4.14 registry+https://github.com/rust-lang/crates.io-index",
"log 0.4.29 registry+https://github.com/rust-lang/crates.io-index", "log 0.4.28 registry+https://github.com/rust-lang/crates.io-index",
"logos 0.14.4 registry+https://github.com/rust-lang/crates.io-index", "logos 0.14.4 registry+https://github.com/rust-lang/crates.io-index",
"logos-codegen 0.14.4 registry+https://github.com/rust-lang/crates.io-index", "logos-codegen 0.14.4 registry+https://github.com/rust-lang/crates.io-index",
"logos-derive 0.14.4 registry+https://github.com/rust-lang/crates.io-index", "logos-derive 0.14.4 registry+https://github.com/rust-lang/crates.io-index",
@@ -177,7 +176,7 @@
"miniz_oxide 0.4.4 registry+https://github.com/rust-lang/crates.io-index", "miniz_oxide 0.4.4 registry+https://github.com/rust-lang/crates.io-index",
"miniz_oxide 0.8.9 registry+https://github.com/rust-lang/crates.io-index", "miniz_oxide 0.8.9 registry+https://github.com/rust-lang/crates.io-index",
"miow 0.6.1 registry+https://github.com/rust-lang/crates.io-index", "miow 0.6.1 registry+https://github.com/rust-lang/crates.io-index",
"moxcms 0.7.10 registry+https://github.com/rust-lang/crates.io-index", "moxcms 0.7.9 registry+https://github.com/rust-lang/crates.io-index",
"native-tls 0.2.14 registry+https://github.com/rust-lang/crates.io-index", "native-tls 0.2.14 registry+https://github.com/rust-lang/crates.io-index",
"net2 0.2.39 registry+https://github.com/rust-lang/crates.io-index", "net2 0.2.39 registry+https://github.com/rust-lang/crates.io-index",
"nohash-hasher 0.2.0 registry+https://github.com/rust-lang/crates.io-index", "nohash-hasher 0.2.0 registry+https://github.com/rust-lang/crates.io-index",
@@ -201,7 +200,6 @@
"parking_lot 0.12.5 registry+https://github.com/rust-lang/crates.io-index", "parking_lot 0.12.5 registry+https://github.com/rust-lang/crates.io-index",
"parking_lot_core 0.9.12 registry+https://github.com/rust-lang/crates.io-index", "parking_lot_core 0.9.12 registry+https://github.com/rust-lang/crates.io-index",
"paste 1.0.15 registry+https://github.com/rust-lang/crates.io-index", "paste 1.0.15 registry+https://github.com/rust-lang/crates.io-index",
"pastey 0.1.1 registry+https://github.com/rust-lang/crates.io-index",
"percent-encoding 2.3.2 registry+https://github.com/rust-lang/crates.io-index", "percent-encoding 2.3.2 registry+https://github.com/rust-lang/crates.io-index",
"pin-project-lite 0.2.16 registry+https://github.com/rust-lang/crates.io-index", "pin-project-lite 0.2.16 registry+https://github.com/rust-lang/crates.io-index",
"pin-utils 0.1.0 registry+https://github.com/rust-lang/crates.io-index", "pin-utils 0.1.0 registry+https://github.com/rust-lang/crates.io-index",
@@ -214,10 +212,10 @@
"profiling 1.0.17 registry+https://github.com/rust-lang/crates.io-index", "profiling 1.0.17 registry+https://github.com/rust-lang/crates.io-index",
"profiling-procmacros 1.0.17 registry+https://github.com/rust-lang/crates.io-index", "profiling-procmacros 1.0.17 registry+https://github.com/rust-lang/crates.io-index",
"psm 0.1.28 registry+https://github.com/rust-lang/crates.io-index", "psm 0.1.28 registry+https://github.com/rust-lang/crates.io-index",
"pxfm 0.1.27 registry+https://github.com/rust-lang/crates.io-index", "pxfm 0.1.25 registry+https://github.com/rust-lang/crates.io-index",
"qoi 0.4.1 registry+https://github.com/rust-lang/crates.io-index", "qoi 0.4.1 registry+https://github.com/rust-lang/crates.io-index",
"quick-error 2.0.1 registry+https://github.com/rust-lang/crates.io-index", "quick-error 2.0.1 registry+https://github.com/rust-lang/crates.io-index",
"quote 1.0.42 registry+https://github.com/rust-lang/crates.io-index", "quote 1.0.41 registry+https://github.com/rust-lang/crates.io-index",
"rand 0.7.3 registry+https://github.com/rust-lang/crates.io-index", "rand 0.7.3 registry+https://github.com/rust-lang/crates.io-index",
"rand 0.8.5 registry+https://github.com/rust-lang/crates.io-index", "rand 0.8.5 registry+https://github.com/rust-lang/crates.io-index",
"rand 0.9.2 registry+https://github.com/rust-lang/crates.io-index", "rand 0.9.2 registry+https://github.com/rust-lang/crates.io-index",
@@ -238,7 +236,7 @@
"roxmltree 0.20.0 registry+https://github.com/rust-lang/crates.io-index", "roxmltree 0.20.0 registry+https://github.com/rust-lang/crates.io-index",
"rustc-demangle 0.1.26 registry+https://github.com/rust-lang/crates.io-index", "rustc-demangle 0.1.26 registry+https://github.com/rust-lang/crates.io-index",
"rustc_version 0.4.1 registry+https://github.com/rust-lang/crates.io-index", "rustc_version 0.4.1 registry+https://github.com/rust-lang/crates.io-index",
"rustls-pki-types 1.13.1 registry+https://github.com/rust-lang/crates.io-index", "rustls-pki-types 1.13.0 registry+https://github.com/rust-lang/crates.io-index",
"ryu 1.0.20 registry+https://github.com/rust-lang/crates.io-index", "ryu 1.0.20 registry+https://github.com/rust-lang/crates.io-index",
"scopeguard 1.2.0 registry+https://github.com/rust-lang/crates.io-index", "scopeguard 1.2.0 registry+https://github.com/rust-lang/crates.io-index",
"semver 1.0.27 registry+https://github.com/rust-lang/crates.io-index", "semver 1.0.27 registry+https://github.com/rust-lang/crates.io-index",
@@ -250,8 +248,8 @@
"serde_json_lenient 0.2.4 registry+https://github.com/rust-lang/crates.io-index", "serde_json_lenient 0.2.4 registry+https://github.com/rust-lang/crates.io-index",
"serde_urlencoded 0.7.1 registry+https://github.com/rust-lang/crates.io-index", "serde_urlencoded 0.7.1 registry+https://github.com/rust-lang/crates.io-index",
"serde_variant 0.1.3 registry+https://github.com/rust-lang/crates.io-index", "serde_variant 0.1.3 registry+https://github.com/rust-lang/crates.io-index",
"serde_with 3.16.1 registry+https://github.com/rust-lang/crates.io-index", "serde_with 3.15.1 registry+https://github.com/rust-lang/crates.io-index",
"serde_with_macros 3.16.1 registry+https://github.com/rust-lang/crates.io-index", "serde_with_macros 3.15.1 registry+https://github.com/rust-lang/crates.io-index",
"serde_yaml 0.8.26 registry+https://github.com/rust-lang/crates.io-index", "serde_yaml 0.8.26 registry+https://github.com/rust-lang/crates.io-index",
"serde_yaml 0.9.34+deprecated registry+https://github.com/rust-lang/crates.io-index", "serde_yaml 0.9.34+deprecated registry+https://github.com/rust-lang/crates.io-index",
"sha2 0.10.9 registry+https://github.com/rust-lang/crates.io-index", "sha2 0.10.9 registry+https://github.com/rust-lang/crates.io-index",
@@ -272,11 +270,13 @@
"supports-hyperlinks 3.1.0 registry+https://github.com/rust-lang/crates.io-index", "supports-hyperlinks 3.1.0 registry+https://github.com/rust-lang/crates.io-index",
"supports-unicode 3.0.0 registry+https://github.com/rust-lang/crates.io-index", "supports-unicode 3.0.0 registry+https://github.com/rust-lang/crates.io-index",
"syn 1.0.109 registry+https://github.com/rust-lang/crates.io-index", "syn 1.0.109 registry+https://github.com/rust-lang/crates.io-index",
"syn 2.0.111 registry+https://github.com/rust-lang/crates.io-index", "syn 2.0.108 registry+https://github.com/rust-lang/crates.io-index",
"sync_wrapper 1.0.2 registry+https://github.com/rust-lang/crates.io-index", "sync_wrapper 1.0.2 registry+https://github.com/rust-lang/crates.io-index",
"tempfile 3.23.0 registry+https://github.com/rust-lang/crates.io-index", "tempfile 3.23.0 registry+https://github.com/rust-lang/crates.io-index",
"terminal_size 0.4.3 registry+https://github.com/rust-lang/crates.io-index", "terminal_size 0.4.3 registry+https://github.com/rust-lang/crates.io-index",
"thiserror 1.0.69 registry+https://github.com/rust-lang/crates.io-index",
"thiserror 2.0.17 registry+https://github.com/rust-lang/crates.io-index", "thiserror 2.0.17 registry+https://github.com/rust-lang/crates.io-index",
"thiserror-impl 1.0.69 registry+https://github.com/rust-lang/crates.io-index",
"thiserror-impl 2.0.17 registry+https://github.com/rust-lang/crates.io-index", "thiserror-impl 2.0.17 registry+https://github.com/rust-lang/crates.io-index",
"thread_local 1.1.9 registry+https://github.com/rust-lang/crates.io-index", "thread_local 1.1.9 registry+https://github.com/rust-lang/crates.io-index",
"time 0.3.44 registry+https://github.com/rust-lang/crates.io-index", "time 0.3.44 registry+https://github.com/rust-lang/crates.io-index",
@@ -288,7 +288,7 @@
"tzdb 0.7.2 registry+https://github.com/rust-lang/crates.io-index", "tzdb 0.7.2 registry+https://github.com/rust-lang/crates.io-index",
"tzdb_data 0.2.2 registry+https://github.com/rust-lang/crates.io-index", "tzdb_data 0.2.2 registry+https://github.com/rust-lang/crates.io-index",
"unicase 2.8.1 registry+https://github.com/rust-lang/crates.io-index", "unicase 2.8.1 registry+https://github.com/rust-lang/crates.io-index",
"unicode-ident 1.0.22 registry+https://github.com/rust-lang/crates.io-index", "unicode-ident 1.0.20 registry+https://github.com/rust-lang/crates.io-index",
"unicode-linebreak 0.1.5 registry+https://github.com/rust-lang/crates.io-index", "unicode-linebreak 0.1.5 registry+https://github.com/rust-lang/crates.io-index",
"unicode-segmentation 1.12.0 registry+https://github.com/rust-lang/crates.io-index", "unicode-segmentation 1.12.0 registry+https://github.com/rust-lang/crates.io-index",
"unicode-width 0.1.14 registry+https://github.com/rust-lang/crates.io-index", "unicode-width 0.1.14 registry+https://github.com/rust-lang/crates.io-index",
@@ -302,7 +302,7 @@
"version_check 0.9.5 registry+https://github.com/rust-lang/crates.io-index", "version_check 0.9.5 registry+https://github.com/rust-lang/crates.io-index",
"web-time 1.1.0 registry+https://github.com/rust-lang/crates.io-index", "web-time 1.1.0 registry+https://github.com/rust-lang/crates.io-index",
"webbrowser 1.0.6 registry+https://github.com/rust-lang/crates.io-index", "webbrowser 1.0.6 registry+https://github.com/rust-lang/crates.io-index",
"weezl 0.1.12 registry+https://github.com/rust-lang/crates.io-index", "weezl 0.1.10 registry+https://github.com/rust-lang/crates.io-index",
"win-msgbox 0.2.1 registry+https://github.com/rust-lang/crates.io-index", "win-msgbox 0.2.1 registry+https://github.com/rust-lang/crates.io-index",
"winapi 0.3.9 registry+https://github.com/rust-lang/crates.io-index", "winapi 0.3.9 registry+https://github.com/rust-lang/crates.io-index",
"windows 0.57.0 registry+https://github.com/rust-lang/crates.io-index", "windows 0.57.0 registry+https://github.com/rust-lang/crates.io-index",
@@ -333,7 +333,7 @@
"windows-numerics 0.1.1 registry+https://github.com/rust-lang/crates.io-index", "windows-numerics 0.1.1 registry+https://github.com/rust-lang/crates.io-index",
"windows-numerics 0.2.0 registry+https://github.com/rust-lang/crates.io-index", "windows-numerics 0.2.0 registry+https://github.com/rust-lang/crates.io-index",
"windows-numerics 0.3.1 registry+https://github.com/rust-lang/crates.io-index", "windows-numerics 0.3.1 registry+https://github.com/rust-lang/crates.io-index",
"windows-registry 0.6.1 registry+https://github.com/rust-lang/crates.io-index", "windows-registry 0.5.3 registry+https://github.com/rust-lang/crates.io-index",
"windows-result 0.1.2 registry+https://github.com/rust-lang/crates.io-index", "windows-result 0.1.2 registry+https://github.com/rust-lang/crates.io-index",
"windows-result 0.2.0 registry+https://github.com/rust-lang/crates.io-index", "windows-result 0.2.0 registry+https://github.com/rust-lang/crates.io-index",
"windows-result 0.3.4 registry+https://github.com/rust-lang/crates.io-index", "windows-result 0.3.4 registry+https://github.com/rust-lang/crates.io-index",
@@ -364,14 +364,12 @@
"winit 0.30.12 registry+https://github.com/rust-lang/crates.io-index", "winit 0.30.12 registry+https://github.com/rust-lang/crates.io-index",
"wmi 0.15.2 registry+https://github.com/rust-lang/crates.io-index", "wmi 0.15.2 registry+https://github.com/rust-lang/crates.io-index",
"yaml-rust 0.4.5 registry+https://github.com/rust-lang/crates.io-index", "yaml-rust 0.4.5 registry+https://github.com/rust-lang/crates.io-index",
"zerocopy 0.8.31 registry+https://github.com/rust-lang/crates.io-index", "zerocopy 0.8.27 registry+https://github.com/rust-lang/crates.io-index",
"zerocopy-derive 0.8.31 registry+https://github.com/rust-lang/crates.io-index", "zerocopy-derive 0.8.27 registry+https://github.com/rust-lang/crates.io-index",
"zeroize 1.8.2 registry+https://github.com/rust-lang/crates.io-index", "zeroize 1.8.2 registry+https://github.com/rust-lang/crates.io-index",
"zune-core 0.4.12 registry+https://github.com/rust-lang/crates.io-index", "zune-core 0.4.12 registry+https://github.com/rust-lang/crates.io-index",
"zune-core 0.5.0 registry+https://github.com/rust-lang/crates.io-index",
"zune-inflate 0.2.54 registry+https://github.com/rust-lang/crates.io-index", "zune-inflate 0.2.54 registry+https://github.com/rust-lang/crates.io-index",
"zune-jpeg 0.4.21 registry+https://github.com/rust-lang/crates.io-index", "zune-jpeg 0.4.21 registry+https://github.com/rust-lang/crates.io-index"
"zune-jpeg 0.5.5 registry+https://github.com/rust-lang/crates.io-index"
] ]
], ],
[ [
@@ -391,10 +389,10 @@
"BSD-2-Clause", "BSD-2-Clause",
[ [
"av1-grain 0.2.5 registry+https://github.com/rust-lang/crates.io-index", "av1-grain 0.2.5 registry+https://github.com/rust-lang/crates.io-index",
"rav1e 0.8.1 registry+https://github.com/rust-lang/crates.io-index", "rav1e 0.7.1 registry+https://github.com/rust-lang/crates.io-index",
"v_frame 0.3.9 registry+https://github.com/rust-lang/crates.io-index", "v_frame 0.3.9 registry+https://github.com/rust-lang/crates.io-index",
"zerocopy 0.8.31 registry+https://github.com/rust-lang/crates.io-index", "zerocopy 0.8.27 registry+https://github.com/rust-lang/crates.io-index",
"zerocopy-derive 0.8.31 registry+https://github.com/rust-lang/crates.io-index" "zerocopy-derive 0.8.27 registry+https://github.com/rust-lang/crates.io-index"
] ]
], ],
[ [
@@ -408,11 +406,11 @@
"curve25519-dalek 4.1.3 registry+https://github.com/rust-lang/crates.io-index", "curve25519-dalek 4.1.3 registry+https://github.com/rust-lang/crates.io-index",
"ed25519-dalek 2.2.0 registry+https://github.com/rust-lang/crates.io-index", "ed25519-dalek 2.2.0 registry+https://github.com/rust-lang/crates.io-index",
"encoding_rs 0.8.35 registry+https://github.com/rust-lang/crates.io-index", "encoding_rs 0.8.35 registry+https://github.com/rust-lang/crates.io-index",
"exr 1.74.0 registry+https://github.com/rust-lang/crates.io-index", "exr 1.73.0 registry+https://github.com/rust-lang/crates.io-index",
"lebe 0.5.3 registry+https://github.com/rust-lang/crates.io-index", "lebe 0.5.3 registry+https://github.com/rust-lang/crates.io-index",
"moxcms 0.7.10 registry+https://github.com/rust-lang/crates.io-index", "moxcms 0.7.9 registry+https://github.com/rust-lang/crates.io-index",
"pxfm 0.1.27 registry+https://github.com/rust-lang/crates.io-index", "pxfm 0.1.25 registry+https://github.com/rust-lang/crates.io-index",
"ravif 0.12.0 registry+https://github.com/rust-lang/crates.io-index", "ravif 0.11.20 registry+https://github.com/rust-lang/crates.io-index",
"subtle 2.6.1 registry+https://github.com/rust-lang/crates.io-index" "subtle 2.6.1 registry+https://github.com/rust-lang/crates.io-index"
] ]
], ],
@@ -445,59 +443,57 @@
[ [
"MIT", "MIT",
[ [
"accesskit 0.21.1 registry+https://github.com/rust-lang/crates.io-index", "accesskit 0.19.0 registry+https://github.com/rust-lang/crates.io-index",
"accesskit_consumer 0.31.0 registry+https://github.com/rust-lang/crates.io-index", "accesskit_consumer 0.28.0 registry+https://github.com/rust-lang/crates.io-index",
"accesskit_windows 0.29.2 registry+https://github.com/rust-lang/crates.io-index", "accesskit_windows 0.27.0 registry+https://github.com/rust-lang/crates.io-index",
"adler 1.0.2 registry+https://github.com/rust-lang/crates.io-index", "adler 1.0.2 registry+https://github.com/rust-lang/crates.io-index",
"adler2 2.0.1 registry+https://github.com/rust-lang/crates.io-index", "adler2 2.0.1 registry+https://github.com/rust-lang/crates.io-index",
"ahash 0.8.12 registry+https://github.com/rust-lang/crates.io-index", "ahash 0.8.12 registry+https://github.com/rust-lang/crates.io-index",
"aho-corasick 1.1.4 registry+https://github.com/rust-lang/crates.io-index", "aho-corasick 1.1.4 registry+https://github.com/rust-lang/crates.io-index",
"aligned 0.4.2 registry+https://github.com/rust-lang/crates.io-index",
"aligned-vec 0.6.4 registry+https://github.com/rust-lang/crates.io-index", "aligned-vec 0.6.4 registry+https://github.com/rust-lang/crates.io-index",
"allocator-api2 0.2.21 registry+https://github.com/rust-lang/crates.io-index", "allocator-api2 0.2.21 registry+https://github.com/rust-lang/crates.io-index",
"anstream 0.6.21 registry+https://github.com/rust-lang/crates.io-index", "anstream 0.6.21 registry+https://github.com/rust-lang/crates.io-index",
"anstyle 1.0.13 registry+https://github.com/rust-lang/crates.io-index", "anstyle 1.0.13 registry+https://github.com/rust-lang/crates.io-index",
"anstyle-parse 0.2.7 registry+https://github.com/rust-lang/crates.io-index", "anstyle-parse 0.2.7 registry+https://github.com/rust-lang/crates.io-index",
"anstyle-query 1.1.5 registry+https://github.com/rust-lang/crates.io-index", "anstyle-query 1.1.4 registry+https://github.com/rust-lang/crates.io-index",
"anstyle-wincon 3.0.11 registry+https://github.com/rust-lang/crates.io-index", "anstyle-wincon 3.0.10 registry+https://github.com/rust-lang/crates.io-index",
"anyhow 1.0.100 registry+https://github.com/rust-lang/crates.io-index", "anyhow 1.0.100 registry+https://github.com/rust-lang/crates.io-index",
"arboard 3.6.1 registry+https://github.com/rust-lang/crates.io-index", "arboard 3.6.1 registry+https://github.com/rust-lang/crates.io-index",
"arg_enum_proc_macro 0.3.4 registry+https://github.com/rust-lang/crates.io-index", "arg_enum_proc_macro 0.3.4 registry+https://github.com/rust-lang/crates.io-index",
"arrayvec 0.7.6 registry+https://github.com/rust-lang/crates.io-index", "arrayvec 0.7.6 registry+https://github.com/rust-lang/crates.io-index",
"as-slice 0.2.1 registry+https://github.com/rust-lang/crates.io-index",
"atomic-waker 1.1.2 registry+https://github.com/rust-lang/crates.io-index", "atomic-waker 1.1.2 registry+https://github.com/rust-lang/crates.io-index",
"autocfg 1.5.0 registry+https://github.com/rust-lang/crates.io-index", "autocfg 1.5.0 registry+https://github.com/rust-lang/crates.io-index",
"av-scenechange 0.14.1 registry+https://github.com/rust-lang/crates.io-index",
"backtrace 0.3.76 registry+https://github.com/rust-lang/crates.io-index", "backtrace 0.3.76 registry+https://github.com/rust-lang/crates.io-index",
"backtrace-ext 0.2.1 registry+https://github.com/rust-lang/crates.io-index", "backtrace-ext 0.2.1 registry+https://github.com/rust-lang/crates.io-index",
"base16_color_scheme 0.3.2 git+https://github.com/LGUG2Z/base16_color_scheme", "base16_color_scheme 0.3.2 git+https://github.com/LGUG2Z/base16_color_scheme",
"base64 0.21.7 registry+https://github.com/rust-lang/crates.io-index",
"base64 0.22.1 registry+https://github.com/rust-lang/crates.io-index", "base64 0.22.1 registry+https://github.com/rust-lang/crates.io-index",
"beef 0.5.2 registry+https://github.com/rust-lang/crates.io-index", "beef 0.5.2 registry+https://github.com/rust-lang/crates.io-index",
"bit_field 0.10.3 registry+https://github.com/rust-lang/crates.io-index", "bit_field 0.10.3 registry+https://github.com/rust-lang/crates.io-index",
"bitflags 1.3.2 registry+https://github.com/rust-lang/crates.io-index", "bitflags 1.3.2 registry+https://github.com/rust-lang/crates.io-index",
"bitflags 2.10.0 registry+https://github.com/rust-lang/crates.io-index", "bitflags 2.10.0 registry+https://github.com/rust-lang/crates.io-index",
"bitstream-io 4.9.0 registry+https://github.com/rust-lang/crates.io-index", "bitstream-io 2.6.0 registry+https://github.com/rust-lang/crates.io-index",
"block-buffer 0.10.4 registry+https://github.com/rust-lang/crates.io-index", "block-buffer 0.10.4 registry+https://github.com/rust-lang/crates.io-index",
"brotli 8.0.2 registry+https://github.com/rust-lang/crates.io-index", "brotli 8.0.2 registry+https://github.com/rust-lang/crates.io-index",
"brotli-decompressor 5.0.0 registry+https://github.com/rust-lang/crates.io-index", "brotli-decompressor 5.0.0 registry+https://github.com/rust-lang/crates.io-index",
"built 0.8.0 registry+https://github.com/rust-lang/crates.io-index", "built 0.7.7 registry+https://github.com/rust-lang/crates.io-index",
"bytemuck 1.24.0 registry+https://github.com/rust-lang/crates.io-index", "bytemuck 1.24.0 registry+https://github.com/rust-lang/crates.io-index",
"bytemuck_derive 1.10.2 registry+https://github.com/rust-lang/crates.io-index", "bytemuck_derive 1.10.2 registry+https://github.com/rust-lang/crates.io-index",
"byteorder 1.5.0 registry+https://github.com/rust-lang/crates.io-index", "byteorder 1.5.0 registry+https://github.com/rust-lang/crates.io-index",
"byteorder-lite 0.1.0 registry+https://github.com/rust-lang/crates.io-index", "byteorder-lite 0.1.0 registry+https://github.com/rust-lang/crates.io-index",
"bytes 1.11.0 registry+https://github.com/rust-lang/crates.io-index", "bytes 1.10.1 registry+https://github.com/rust-lang/crates.io-index",
"calm_io 0.1.1 registry+https://github.com/rust-lang/crates.io-index", "calm_io 0.1.1 registry+https://github.com/rust-lang/crates.io-index",
"calmio_filters 0.1.0 registry+https://github.com/rust-lang/crates.io-index", "calmio_filters 0.1.0 registry+https://github.com/rust-lang/crates.io-index",
"catppuccin-egui 5.6.0 git+https://github.com/LGUG2Z/catppuccin-egui?rev=b2f95cbf441d1dd99f3c955ef10dcb84ce23c20a", "catppuccin-egui 5.6.0 registry+https://github.com/rust-lang/crates.io-index",
"cc 1.2.49 registry+https://github.com/rust-lang/crates.io-index", "cc 1.2.43 registry+https://github.com/rust-lang/crates.io-index",
"cfg-if 0.1.10 registry+https://github.com/rust-lang/crates.io-index", "cfg-if 0.1.10 registry+https://github.com/rust-lang/crates.io-index",
"cfg-if 1.0.4 registry+https://github.com/rust-lang/crates.io-index", "cfg-if 1.0.4 registry+https://github.com/rust-lang/crates.io-index",
"cfg_aliases 0.2.1 registry+https://github.com/rust-lang/crates.io-index", "cfg_aliases 0.2.1 registry+https://github.com/rust-lang/crates.io-index",
"chrono 0.4.42 registry+https://github.com/rust-lang/crates.io-index", "chrono 0.4.42 registry+https://github.com/rust-lang/crates.io-index",
"chrono-tz 0.10.4 registry+https://github.com/rust-lang/crates.io-index", "chrono-tz 0.10.4 registry+https://github.com/rust-lang/crates.io-index",
"chumsky 0.9.3 registry+https://github.com/rust-lang/crates.io-index", "chumsky 0.9.3 registry+https://github.com/rust-lang/crates.io-index",
"clap 4.5.53 registry+https://github.com/rust-lang/crates.io-index", "clap 4.5.50 registry+https://github.com/rust-lang/crates.io-index",
"clap_builder 4.5.53 registry+https://github.com/rust-lang/crates.io-index", "clap_builder 4.5.50 registry+https://github.com/rust-lang/crates.io-index",
"clap_derive 4.5.49 registry+https://github.com/rust-lang/crates.io-index", "clap_derive 4.5.49 registry+https://github.com/rust-lang/crates.io-index",
"clap_lex 0.7.6 registry+https://github.com/rust-lang/crates.io-index", "clap_lex 0.7.6 registry+https://github.com/rust-lang/crates.io-index",
"color-eyre 0.6.5 registry+https://github.com/rust-lang/crates.io-index", "color-eyre 0.6.5 registry+https://github.com/rust-lang/crates.io-index",
@@ -505,14 +501,13 @@
"color-thief 0.2.2 registry+https://github.com/rust-lang/crates.io-index", "color-thief 0.2.2 registry+https://github.com/rust-lang/crates.io-index",
"color_quant 1.1.0 registry+https://github.com/rust-lang/crates.io-index", "color_quant 1.1.0 registry+https://github.com/rust-lang/crates.io-index",
"colorchoice 1.0.4 registry+https://github.com/rust-lang/crates.io-index", "colorchoice 1.0.4 registry+https://github.com/rust-lang/crates.io-index",
"core2 0.4.0 registry+https://github.com/rust-lang/crates.io-index",
"cpufeatures 0.2.17 registry+https://github.com/rust-lang/crates.io-index", "cpufeatures 0.2.17 registry+https://github.com/rust-lang/crates.io-index",
"crc32fast 1.5.0 registry+https://github.com/rust-lang/crates.io-index", "crc32fast 1.5.0 registry+https://github.com/rust-lang/crates.io-index",
"crossbeam-channel 0.5.15 registry+https://github.com/rust-lang/crates.io-index", "crossbeam-channel 0.5.15 registry+https://github.com/rust-lang/crates.io-index",
"crossbeam-deque 0.8.6 registry+https://github.com/rust-lang/crates.io-index", "crossbeam-deque 0.8.6 registry+https://github.com/rust-lang/crates.io-index",
"crossbeam-epoch 0.9.18 registry+https://github.com/rust-lang/crates.io-index", "crossbeam-epoch 0.9.18 registry+https://github.com/rust-lang/crates.io-index",
"crossbeam-utils 0.8.21 registry+https://github.com/rust-lang/crates.io-index", "crossbeam-utils 0.8.21 registry+https://github.com/rust-lang/crates.io-index",
"crypto-common 0.1.7 registry+https://github.com/rust-lang/crates.io-index", "crypto-common 0.1.6 registry+https://github.com/rust-lang/crates.io-index",
"ctrlc 3.5.1 registry+https://github.com/rust-lang/crates.io-index", "ctrlc 3.5.1 registry+https://github.com/rust-lang/crates.io-index",
"cursor-icon 1.2.0 registry+https://github.com/rust-lang/crates.io-index", "cursor-icon 1.2.0 registry+https://github.com/rust-lang/crates.io-index",
"curve25519-dalek-derive 0.1.1 registry+https://github.com/rust-lang/crates.io-index", "curve25519-dalek-derive 0.1.1 registry+https://github.com/rust-lang/crates.io-index",
@@ -531,22 +526,22 @@
"document-features 0.2.12 registry+https://github.com/rust-lang/crates.io-index", "document-features 0.2.12 registry+https://github.com/rust-lang/crates.io-index",
"dpi 0.1.2 registry+https://github.com/rust-lang/crates.io-index", "dpi 0.1.2 registry+https://github.com/rust-lang/crates.io-index",
"dyn-clone 1.0.20 registry+https://github.com/rust-lang/crates.io-index", "dyn-clone 1.0.20 registry+https://github.com/rust-lang/crates.io-index",
"ecolor 0.33.2 registry+https://github.com/rust-lang/crates.io-index", "ecolor 0.32.3 registry+https://github.com/rust-lang/crates.io-index",
"ed25519 2.2.3 registry+https://github.com/rust-lang/crates.io-index", "ed25519 2.2.3 registry+https://github.com/rust-lang/crates.io-index",
"eframe 0.33.2 registry+https://github.com/rust-lang/crates.io-index", "eframe 0.32.3 registry+https://github.com/rust-lang/crates.io-index",
"egui 0.33.2 registry+https://github.com/rust-lang/crates.io-index", "egui 0.32.3 registry+https://github.com/rust-lang/crates.io-index",
"egui-phosphor 0.10.0 git+https://github.com/amPerl/egui-phosphor?rev=d13688738478ecd12b426e3e74c59d6577a85b59", "egui-phosphor 0.10.0 registry+https://github.com/rust-lang/crates.io-index",
"egui-winit 0.33.2 registry+https://github.com/rust-lang/crates.io-index", "egui-winit 0.32.3 registry+https://github.com/rust-lang/crates.io-index",
"egui_extras 0.33.2 registry+https://github.com/rust-lang/crates.io-index", "egui_extras 0.32.3 registry+https://github.com/rust-lang/crates.io-index",
"egui_glow 0.33.2 registry+https://github.com/rust-lang/crates.io-index", "egui_glow 0.32.3 registry+https://github.com/rust-lang/crates.io-index",
"either 1.15.0 registry+https://github.com/rust-lang/crates.io-index", "either 1.15.0 registry+https://github.com/rust-lang/crates.io-index",
"emath 0.33.2 registry+https://github.com/rust-lang/crates.io-index", "emath 0.32.3 registry+https://github.com/rust-lang/crates.io-index",
"encoding_rs 0.8.35 registry+https://github.com/rust-lang/crates.io-index", "encoding_rs 0.8.35 registry+https://github.com/rust-lang/crates.io-index",
"enum-map 2.7.3 registry+https://github.com/rust-lang/crates.io-index", "enum-map 2.7.3 registry+https://github.com/rust-lang/crates.io-index",
"enum-map-derive 0.17.0 registry+https://github.com/rust-lang/crates.io-index", "enum-map-derive 0.17.0 registry+https://github.com/rust-lang/crates.io-index",
"env_home 0.1.0 registry+https://github.com/rust-lang/crates.io-index", "env_home 0.1.0 registry+https://github.com/rust-lang/crates.io-index",
"epaint 0.33.2 registry+https://github.com/rust-lang/crates.io-index", "epaint 0.32.3 registry+https://github.com/rust-lang/crates.io-index",
"epaint_default_fonts 0.33.2 registry+https://github.com/rust-lang/crates.io-index", "epaint_default_fonts 0.32.3 registry+https://github.com/rust-lang/crates.io-index",
"equator 0.4.2 registry+https://github.com/rust-lang/crates.io-index", "equator 0.4.2 registry+https://github.com/rust-lang/crates.io-index",
"equator-macro 0.4.2 registry+https://github.com/rust-lang/crates.io-index", "equator-macro 0.4.2 registry+https://github.com/rust-lang/crates.io-index",
"equivalent 1.0.2 registry+https://github.com/rust-lang/crates.io-index", "equivalent 1.0.2 registry+https://github.com/rust-lang/crates.io-index",
@@ -556,8 +551,8 @@
"fax_derive 0.2.0 registry+https://github.com/rust-lang/crates.io-index", "fax_derive 0.2.0 registry+https://github.com/rust-lang/crates.io-index",
"fdeflate 0.3.7 registry+https://github.com/rust-lang/crates.io-index", "fdeflate 0.3.7 registry+https://github.com/rust-lang/crates.io-index",
"filetime 0.2.26 registry+https://github.com/rust-lang/crates.io-index", "filetime 0.2.26 registry+https://github.com/rust-lang/crates.io-index",
"find-msvc-tools 0.1.5 registry+https://github.com/rust-lang/crates.io-index", "find-msvc-tools 0.1.4 registry+https://github.com/rust-lang/crates.io-index",
"flate2 1.1.7 registry+https://github.com/rust-lang/crates.io-index", "flate2 1.1.5 registry+https://github.com/rust-lang/crates.io-index",
"flavours 0.7.2 git+https://github.com/LGUG2Z/flavours", "flavours 0.7.2 git+https://github.com/LGUG2Z/flavours",
"fnv 1.0.7 registry+https://github.com/rust-lang/crates.io-index", "fnv 1.0.7 registry+https://github.com/rust-lang/crates.io-index",
"font-loader 0.11.0 registry+https://github.com/rust-lang/crates.io-index", "font-loader 0.11.0 registry+https://github.com/rust-lang/crates.io-index",
@@ -572,13 +567,13 @@
"futures-sink 0.3.31 registry+https://github.com/rust-lang/crates.io-index", "futures-sink 0.3.31 registry+https://github.com/rust-lang/crates.io-index",
"futures-task 0.3.31 registry+https://github.com/rust-lang/crates.io-index", "futures-task 0.3.31 registry+https://github.com/rust-lang/crates.io-index",
"futures-util 0.3.31 registry+https://github.com/rust-lang/crates.io-index", "futures-util 0.3.31 registry+https://github.com/rust-lang/crates.io-index",
"generic-array 0.14.7 registry+https://github.com/rust-lang/crates.io-index", "generic-array 0.14.9 registry+https://github.com/rust-lang/crates.io-index",
"getrandom 0.1.16 registry+https://github.com/rust-lang/crates.io-index", "getrandom 0.1.16 registry+https://github.com/rust-lang/crates.io-index",
"getrandom 0.2.16 registry+https://github.com/rust-lang/crates.io-index", "getrandom 0.2.16 registry+https://github.com/rust-lang/crates.io-index",
"getrandom 0.3.4 registry+https://github.com/rust-lang/crates.io-index", "getrandom 0.3.4 registry+https://github.com/rust-lang/crates.io-index",
"gif 0.11.4 registry+https://github.com/rust-lang/crates.io-index", "gif 0.11.4 registry+https://github.com/rust-lang/crates.io-index",
"gif 0.14.1 registry+https://github.com/rust-lang/crates.io-index", "gif 0.13.3 registry+https://github.com/rust-lang/crates.io-index",
"git2 0.20.3 registry+https://github.com/rust-lang/crates.io-index", "git2 0.20.2 registry+https://github.com/rust-lang/crates.io-index",
"glob 0.3.3 registry+https://github.com/rust-lang/crates.io-index", "glob 0.3.3 registry+https://github.com/rust-lang/crates.io-index",
"glow 0.16.0 registry+https://github.com/rust-lang/crates.io-index", "glow 0.16.0 registry+https://github.com/rust-lang/crates.io-index",
"glutin-winit 0.5.0 registry+https://github.com/rust-lang/crates.io-index", "glutin-winit 0.5.0 registry+https://github.com/rust-lang/crates.io-index",
@@ -587,49 +582,49 @@
"hashbrown 0.12.3 registry+https://github.com/rust-lang/crates.io-index", "hashbrown 0.12.3 registry+https://github.com/rust-lang/crates.io-index",
"hashbrown 0.14.5 registry+https://github.com/rust-lang/crates.io-index", "hashbrown 0.14.5 registry+https://github.com/rust-lang/crates.io-index",
"hashbrown 0.15.5 registry+https://github.com/rust-lang/crates.io-index", "hashbrown 0.15.5 registry+https://github.com/rust-lang/crates.io-index",
"hashbrown 0.16.1 registry+https://github.com/rust-lang/crates.io-index", "hashbrown 0.16.0 registry+https://github.com/rust-lang/crates.io-index",
"heck 0.5.0 registry+https://github.com/rust-lang/crates.io-index", "heck 0.5.0 registry+https://github.com/rust-lang/crates.io-index",
"hex 0.4.3 registry+https://github.com/rust-lang/crates.io-index", "hex 0.4.3 registry+https://github.com/rust-lang/crates.io-index",
"hex_color 3.0.0 registry+https://github.com/rust-lang/crates.io-index", "hex_color 3.0.0 registry+https://github.com/rust-lang/crates.io-index",
"hotwatch 0.5.0 registry+https://github.com/rust-lang/crates.io-index", "hotwatch 0.5.0 registry+https://github.com/rust-lang/crates.io-index",
"http 1.4.0 registry+https://github.com/rust-lang/crates.io-index", "http 1.3.1 registry+https://github.com/rust-lang/crates.io-index",
"http-body 1.0.1 registry+https://github.com/rust-lang/crates.io-index", "http-body 1.0.1 registry+https://github.com/rust-lang/crates.io-index",
"http-body-util 0.1.3 registry+https://github.com/rust-lang/crates.io-index", "http-body-util 0.1.3 registry+https://github.com/rust-lang/crates.io-index",
"httparse 1.10.1 registry+https://github.com/rust-lang/crates.io-index", "httparse 1.10.1 registry+https://github.com/rust-lang/crates.io-index",
"hyper 1.8.1 registry+https://github.com/rust-lang/crates.io-index", "hyper 1.7.0 registry+https://github.com/rust-lang/crates.io-index",
"hyper-tls 0.6.0 registry+https://github.com/rust-lang/crates.io-index", "hyper-tls 0.6.0 registry+https://github.com/rust-lang/crates.io-index",
"hyper-util 0.1.19 registry+https://github.com/rust-lang/crates.io-index", "hyper-util 0.1.17 registry+https://github.com/rust-lang/crates.io-index",
"iana-time-zone 0.1.64 registry+https://github.com/rust-lang/crates.io-index", "iana-time-zone 0.1.64 registry+https://github.com/rust-lang/crates.io-index",
"ident_case 1.0.1 registry+https://github.com/rust-lang/crates.io-index", "ident_case 1.0.1 registry+https://github.com/rust-lang/crates.io-index",
"idna 1.1.0 registry+https://github.com/rust-lang/crates.io-index", "idna 1.1.0 registry+https://github.com/rust-lang/crates.io-index",
"idna_adapter 1.2.1 registry+https://github.com/rust-lang/crates.io-index", "idna_adapter 1.2.1 registry+https://github.com/rust-lang/crates.io-index",
"image 0.23.14 registry+https://github.com/rust-lang/crates.io-index", "image 0.23.14 registry+https://github.com/rust-lang/crates.io-index",
"image 0.25.9 registry+https://github.com/rust-lang/crates.io-index", "image 0.25.8 registry+https://github.com/rust-lang/crates.io-index",
"image-webp 0.2.4 registry+https://github.com/rust-lang/crates.io-index", "image-webp 0.2.4 registry+https://github.com/rust-lang/crates.io-index",
"indenter 0.3.4 registry+https://github.com/rust-lang/crates.io-index", "indenter 0.3.4 registry+https://github.com/rust-lang/crates.io-index",
"indexmap 1.9.3 registry+https://github.com/rust-lang/crates.io-index", "indexmap 1.9.3 registry+https://github.com/rust-lang/crates.io-index",
"indexmap 2.12.1 registry+https://github.com/rust-lang/crates.io-index", "indexmap 2.12.0 registry+https://github.com/rust-lang/crates.io-index",
"ipnet 2.11.0 registry+https://github.com/rust-lang/crates.io-index", "ipnet 2.11.0 registry+https://github.com/rust-lang/crates.io-index",
"iri-string 0.7.9 registry+https://github.com/rust-lang/crates.io-index", "iri-string 0.7.8 registry+https://github.com/rust-lang/crates.io-index",
"is_debug 1.1.0 registry+https://github.com/rust-lang/crates.io-index", "is_debug 1.1.0 registry+https://github.com/rust-lang/crates.io-index",
"is_terminal_polyfill 1.70.2 registry+https://github.com/rust-lang/crates.io-index", "is_terminal_polyfill 1.70.2 registry+https://github.com/rust-lang/crates.io-index",
"itertools 0.12.1 registry+https://github.com/rust-lang/crates.io-index",
"itertools 0.14.0 registry+https://github.com/rust-lang/crates.io-index", "itertools 0.14.0 registry+https://github.com/rust-lang/crates.io-index",
"itoa 1.0.15 registry+https://github.com/rust-lang/crates.io-index", "itoa 1.0.15 registry+https://github.com/rust-lang/crates.io-index",
"jobserver 0.1.34 registry+https://github.com/rust-lang/crates.io-index", "jobserver 0.1.34 registry+https://github.com/rust-lang/crates.io-index",
"jpeg-decoder 0.1.22 registry+https://github.com/rust-lang/crates.io-index", "jpeg-decoder 0.1.22 registry+https://github.com/rust-lang/crates.io-index",
"lazy_static 1.5.0 registry+https://github.com/rust-lang/crates.io-index", "lazy_static 1.5.0 registry+https://github.com/rust-lang/crates.io-index",
"libc 0.2.178 registry+https://github.com/rust-lang/crates.io-index", "libc 0.2.177 registry+https://github.com/rust-lang/crates.io-index",
"libgit2-sys 0.18.3+1.9.2 registry+https://github.com/rust-lang/crates.io-index", "libgit2-sys 0.18.2+1.9.1 registry+https://github.com/rust-lang/crates.io-index",
"libz-sys 1.1.23 registry+https://github.com/rust-lang/crates.io-index", "libz-sys 1.1.22 registry+https://github.com/rust-lang/crates.io-index",
"linked-hash-map 0.5.6 registry+https://github.com/rust-lang/crates.io-index", "linked-hash-map 0.5.6 registry+https://github.com/rust-lang/crates.io-index",
"litrs 1.0.0 registry+https://github.com/rust-lang/crates.io-index", "litrs 1.0.0 registry+https://github.com/rust-lang/crates.io-index",
"lock_api 0.4.14 registry+https://github.com/rust-lang/crates.io-index", "lock_api 0.4.14 registry+https://github.com/rust-lang/crates.io-index",
"log 0.4.29 registry+https://github.com/rust-lang/crates.io-index", "log 0.4.28 registry+https://github.com/rust-lang/crates.io-index",
"logos 0.14.4 registry+https://github.com/rust-lang/crates.io-index", "logos 0.14.4 registry+https://github.com/rust-lang/crates.io-index",
"logos-codegen 0.14.4 registry+https://github.com/rust-lang/crates.io-index", "logos-codegen 0.14.4 registry+https://github.com/rust-lang/crates.io-index",
"logos-derive 0.14.4 registry+https://github.com/rust-lang/crates.io-index", "logos-derive 0.14.4 registry+https://github.com/rust-lang/crates.io-index",
"loop9 0.1.5 registry+https://github.com/rust-lang/crates.io-index", "loop9 0.1.5 registry+https://github.com/rust-lang/crates.io-index",
"mac-addr 0.3.0 registry+https://github.com/rust-lang/crates.io-index",
"matchers 0.2.0 registry+https://github.com/rust-lang/crates.io-index", "matchers 0.2.0 registry+https://github.com/rust-lang/crates.io-index",
"maybe-rayon 0.1.1 registry+https://github.com/rust-lang/crates.io-index", "maybe-rayon 0.1.1 registry+https://github.com/rust-lang/crates.io-index",
"memchr 2.7.6 registry+https://github.com/rust-lang/crates.io-index", "memchr 2.7.6 registry+https://github.com/rust-lang/crates.io-index",
@@ -640,12 +635,12 @@
"miniz_oxide 0.3.7 registry+https://github.com/rust-lang/crates.io-index", "miniz_oxide 0.3.7 registry+https://github.com/rust-lang/crates.io-index",
"miniz_oxide 0.4.4 registry+https://github.com/rust-lang/crates.io-index", "miniz_oxide 0.4.4 registry+https://github.com/rust-lang/crates.io-index",
"miniz_oxide 0.8.9 registry+https://github.com/rust-lang/crates.io-index", "miniz_oxide 0.8.9 registry+https://github.com/rust-lang/crates.io-index",
"mio 1.1.1 registry+https://github.com/rust-lang/crates.io-index", "mio 1.1.0 registry+https://github.com/rust-lang/crates.io-index",
"miow 0.6.1 registry+https://github.com/rust-lang/crates.io-index", "miow 0.6.1 registry+https://github.com/rust-lang/crates.io-index",
"nanoid 0.4.0 registry+https://github.com/rust-lang/crates.io-index", "nanoid 0.4.0 registry+https://github.com/rust-lang/crates.io-index",
"native-tls 0.2.14 registry+https://github.com/rust-lang/crates.io-index", "native-tls 0.2.14 registry+https://github.com/rust-lang/crates.io-index",
"net2 0.2.39 registry+https://github.com/rust-lang/crates.io-index", "net2 0.2.39 registry+https://github.com/rust-lang/crates.io-index",
"netdev 0.39.0 registry+https://github.com/rust-lang/crates.io-index", "netdev 0.36.0 registry+https://github.com/rust-lang/crates.io-index",
"new_debug_unreachable 1.0.6 registry+https://github.com/rust-lang/crates.io-index", "new_debug_unreachable 1.0.6 registry+https://github.com/rust-lang/crates.io-index",
"nohash-hasher 0.2.0 registry+https://github.com/rust-lang/crates.io-index", "nohash-hasher 0.2.0 registry+https://github.com/rust-lang/crates.io-index",
"nom 7.1.3 registry+https://github.com/rust-lang/crates.io-index", "nom 7.1.3 registry+https://github.com/rust-lang/crates.io-index",
@@ -666,15 +661,14 @@
"object 0.32.2 registry+https://github.com/rust-lang/crates.io-index", "object 0.32.2 registry+https://github.com/rust-lang/crates.io-index",
"once_cell 1.21.3 registry+https://github.com/rust-lang/crates.io-index", "once_cell 1.21.3 registry+https://github.com/rust-lang/crates.io-index",
"once_cell_polyfill 1.70.2 registry+https://github.com/rust-lang/crates.io-index", "once_cell_polyfill 1.70.2 registry+https://github.com/rust-lang/crates.io-index",
"open 5.3.3 registry+https://github.com/rust-lang/crates.io-index", "open 5.3.2 registry+https://github.com/rust-lang/crates.io-index",
"os_info 3.13.0 registry+https://github.com/rust-lang/crates.io-index", "os_info 3.12.0 registry+https://github.com/rust-lang/crates.io-index",
"owo-colors 4.2.3 registry+https://github.com/rust-lang/crates.io-index", "owo-colors 4.2.3 registry+https://github.com/rust-lang/crates.io-index",
"palette 0.5.0 registry+https://github.com/rust-lang/crates.io-index", "palette 0.5.0 registry+https://github.com/rust-lang/crates.io-index",
"palette_derive 0.5.0 registry+https://github.com/rust-lang/crates.io-index", "palette_derive 0.5.0 registry+https://github.com/rust-lang/crates.io-index",
"parking_lot 0.12.5 registry+https://github.com/rust-lang/crates.io-index", "parking_lot 0.12.5 registry+https://github.com/rust-lang/crates.io-index",
"parking_lot_core 0.9.12 registry+https://github.com/rust-lang/crates.io-index", "parking_lot_core 0.9.12 registry+https://github.com/rust-lang/crates.io-index",
"paste 1.0.15 registry+https://github.com/rust-lang/crates.io-index", "paste 1.0.15 registry+https://github.com/rust-lang/crates.io-index",
"pastey 0.1.1 registry+https://github.com/rust-lang/crates.io-index",
"percent-encoding 2.3.2 registry+https://github.com/rust-lang/crates.io-index", "percent-encoding 2.3.2 registry+https://github.com/rust-lang/crates.io-index",
"phf 0.11.3 registry+https://github.com/rust-lang/crates.io-index", "phf 0.11.3 registry+https://github.com/rust-lang/crates.io-index",
"phf 0.12.1 registry+https://github.com/rust-lang/crates.io-index", "phf 0.12.1 registry+https://github.com/rust-lang/crates.io-index",
@@ -698,7 +692,7 @@
"psm 0.1.28 registry+https://github.com/rust-lang/crates.io-index", "psm 0.1.28 registry+https://github.com/rust-lang/crates.io-index",
"qoi 0.4.1 registry+https://github.com/rust-lang/crates.io-index", "qoi 0.4.1 registry+https://github.com/rust-lang/crates.io-index",
"quick-error 2.0.1 registry+https://github.com/rust-lang/crates.io-index", "quick-error 2.0.1 registry+https://github.com/rust-lang/crates.io-index",
"quote 1.0.42 registry+https://github.com/rust-lang/crates.io-index", "quote 1.0.41 registry+https://github.com/rust-lang/crates.io-index",
"rand 0.7.3 registry+https://github.com/rust-lang/crates.io-index", "rand 0.7.3 registry+https://github.com/rust-lang/crates.io-index",
"rand 0.8.5 registry+https://github.com/rust-lang/crates.io-index", "rand 0.8.5 registry+https://github.com/rust-lang/crates.io-index",
"rand 0.9.2 registry+https://github.com/rust-lang/crates.io-index", "rand 0.9.2 registry+https://github.com/rust-lang/crates.io-index",
@@ -721,7 +715,7 @@
"roxmltree 0.20.0 registry+https://github.com/rust-lang/crates.io-index", "roxmltree 0.20.0 registry+https://github.com/rust-lang/crates.io-index",
"rustc-demangle 0.1.26 registry+https://github.com/rust-lang/crates.io-index", "rustc-demangle 0.1.26 registry+https://github.com/rust-lang/crates.io-index",
"rustc_version 0.4.1 registry+https://github.com/rust-lang/crates.io-index", "rustc_version 0.4.1 registry+https://github.com/rust-lang/crates.io-index",
"rustls-pki-types 1.13.1 registry+https://github.com/rust-lang/crates.io-index", "rustls-pki-types 1.13.0 registry+https://github.com/rust-lang/crates.io-index",
"same-file 1.0.6 registry+https://github.com/rust-lang/crates.io-index", "same-file 1.0.6 registry+https://github.com/rust-lang/crates.io-index",
"schannel 0.1.28 registry+https://github.com/rust-lang/crates.io-index", "schannel 0.1.28 registry+https://github.com/rust-lang/crates.io-index",
"schemars 0.8.22 registry+https://github.com/rust-lang/crates.io-index", "schemars 0.8.22 registry+https://github.com/rust-lang/crates.io-index",
@@ -737,8 +731,8 @@
"serde_json_lenient 0.2.4 registry+https://github.com/rust-lang/crates.io-index", "serde_json_lenient 0.2.4 registry+https://github.com/rust-lang/crates.io-index",
"serde_urlencoded 0.7.1 registry+https://github.com/rust-lang/crates.io-index", "serde_urlencoded 0.7.1 registry+https://github.com/rust-lang/crates.io-index",
"serde_variant 0.1.3 registry+https://github.com/rust-lang/crates.io-index", "serde_variant 0.1.3 registry+https://github.com/rust-lang/crates.io-index",
"serde_with 3.16.1 registry+https://github.com/rust-lang/crates.io-index", "serde_with 3.15.1 registry+https://github.com/rust-lang/crates.io-index",
"serde_with_macros 3.16.1 registry+https://github.com/rust-lang/crates.io-index", "serde_with_macros 3.15.1 registry+https://github.com/rust-lang/crates.io-index",
"serde_yaml 0.8.26 registry+https://github.com/rust-lang/crates.io-index", "serde_yaml 0.8.26 registry+https://github.com/rust-lang/crates.io-index",
"serde_yaml 0.9.34+deprecated registry+https://github.com/rust-lang/crates.io-index", "serde_yaml 0.9.34+deprecated registry+https://github.com/rust-lang/crates.io-index",
"sha2 0.10.9 registry+https://github.com/rust-lang/crates.io-index", "sha2 0.10.9 registry+https://github.com/rust-lang/crates.io-index",
@@ -763,14 +757,16 @@
"strum 0.27.2 registry+https://github.com/rust-lang/crates.io-index", "strum 0.27.2 registry+https://github.com/rust-lang/crates.io-index",
"strum_macros 0.27.2 registry+https://github.com/rust-lang/crates.io-index", "strum_macros 0.27.2 registry+https://github.com/rust-lang/crates.io-index",
"syn 1.0.109 registry+https://github.com/rust-lang/crates.io-index", "syn 1.0.109 registry+https://github.com/rust-lang/crates.io-index",
"syn 2.0.111 registry+https://github.com/rust-lang/crates.io-index", "syn 2.0.108 registry+https://github.com/rust-lang/crates.io-index",
"synstructure 0.13.2 registry+https://github.com/rust-lang/crates.io-index", "synstructure 0.13.2 registry+https://github.com/rust-lang/crates.io-index",
"sysinfo 0.33.1 registry+https://github.com/rust-lang/crates.io-index", "sysinfo 0.33.1 registry+https://github.com/rust-lang/crates.io-index",
"sysinfo 0.37.2 registry+https://github.com/rust-lang/crates.io-index", "sysinfo 0.37.2 registry+https://github.com/rust-lang/crates.io-index",
"tempfile 3.23.0 registry+https://github.com/rust-lang/crates.io-index", "tempfile 3.23.0 registry+https://github.com/rust-lang/crates.io-index",
"terminal_size 0.4.3 registry+https://github.com/rust-lang/crates.io-index", "terminal_size 0.4.3 registry+https://github.com/rust-lang/crates.io-index",
"textwrap 0.16.2 registry+https://github.com/rust-lang/crates.io-index", "textwrap 0.16.2 registry+https://github.com/rust-lang/crates.io-index",
"thiserror 1.0.69 registry+https://github.com/rust-lang/crates.io-index",
"thiserror 2.0.17 registry+https://github.com/rust-lang/crates.io-index", "thiserror 2.0.17 registry+https://github.com/rust-lang/crates.io-index",
"thiserror-impl 1.0.69 registry+https://github.com/rust-lang/crates.io-index",
"thiserror-impl 2.0.17 registry+https://github.com/rust-lang/crates.io-index", "thiserror-impl 2.0.17 registry+https://github.com/rust-lang/crates.io-index",
"thread_local 1.1.9 registry+https://github.com/rust-lang/crates.io-index", "thread_local 1.1.9 registry+https://github.com/rust-lang/crates.io-index",
"tiff 0.10.3 registry+https://github.com/rust-lang/crates.io-index", "tiff 0.10.3 registry+https://github.com/rust-lang/crates.io-index",
@@ -779,19 +775,19 @@
"time-core 0.1.6 registry+https://github.com/rust-lang/crates.io-index", "time-core 0.1.6 registry+https://github.com/rust-lang/crates.io-index",
"tokio 1.48.0 registry+https://github.com/rust-lang/crates.io-index", "tokio 1.48.0 registry+https://github.com/rust-lang/crates.io-index",
"tokio-native-tls 0.3.1 registry+https://github.com/rust-lang/crates.io-index", "tokio-native-tls 0.3.1 registry+https://github.com/rust-lang/crates.io-index",
"tokio-util 0.7.17 registry+https://github.com/rust-lang/crates.io-index", "tokio-util 0.7.16 registry+https://github.com/rust-lang/crates.io-index",
"toml 0.5.11 registry+https://github.com/rust-lang/crates.io-index", "toml 0.5.11 registry+https://github.com/rust-lang/crates.io-index",
"tower 0.5.2 registry+https://github.com/rust-lang/crates.io-index", "tower 0.5.2 registry+https://github.com/rust-lang/crates.io-index",
"tower-http 0.6.7 registry+https://github.com/rust-lang/crates.io-index", "tower-http 0.6.6 registry+https://github.com/rust-lang/crates.io-index",
"tower-layer 0.3.3 registry+https://github.com/rust-lang/crates.io-index", "tower-layer 0.3.3 registry+https://github.com/rust-lang/crates.io-index",
"tower-service 0.3.3 registry+https://github.com/rust-lang/crates.io-index", "tower-service 0.3.3 registry+https://github.com/rust-lang/crates.io-index",
"tracing 0.1.43 registry+https://github.com/rust-lang/crates.io-index", "tracing 0.1.41 registry+https://github.com/rust-lang/crates.io-index",
"tracing-appender 0.2.4 registry+https://github.com/rust-lang/crates.io-index", "tracing-appender 0.2.3 registry+https://github.com/rust-lang/crates.io-index",
"tracing-attributes 0.1.31 registry+https://github.com/rust-lang/crates.io-index", "tracing-attributes 0.1.30 registry+https://github.com/rust-lang/crates.io-index",
"tracing-core 0.1.35 registry+https://github.com/rust-lang/crates.io-index", "tracing-core 0.1.34 registry+https://github.com/rust-lang/crates.io-index",
"tracing-error 0.2.1 registry+https://github.com/rust-lang/crates.io-index", "tracing-error 0.2.1 registry+https://github.com/rust-lang/crates.io-index",
"tracing-log 0.2.0 registry+https://github.com/rust-lang/crates.io-index", "tracing-log 0.2.0 registry+https://github.com/rust-lang/crates.io-index",
"tracing-subscriber 0.3.22 registry+https://github.com/rust-lang/crates.io-index", "tracing-subscriber 0.3.20 registry+https://github.com/rust-lang/crates.io-index",
"try-lock 0.2.5 registry+https://github.com/rust-lang/crates.io-index", "try-lock 0.2.5 registry+https://github.com/rust-lang/crates.io-index",
"ttf-parser 0.25.1 registry+https://github.com/rust-lang/crates.io-index", "ttf-parser 0.25.1 registry+https://github.com/rust-lang/crates.io-index",
"typenum 1.19.0 registry+https://github.com/rust-lang/crates.io-index", "typenum 1.19.0 registry+https://github.com/rust-lang/crates.io-index",
@@ -799,7 +795,7 @@
"tzdb_data 0.2.2 registry+https://github.com/rust-lang/crates.io-index", "tzdb_data 0.2.2 registry+https://github.com/rust-lang/crates.io-index",
"uds_windows 1.1.0 registry+https://github.com/rust-lang/crates.io-index", "uds_windows 1.1.0 registry+https://github.com/rust-lang/crates.io-index",
"unicase 2.8.1 registry+https://github.com/rust-lang/crates.io-index", "unicase 2.8.1 registry+https://github.com/rust-lang/crates.io-index",
"unicode-ident 1.0.22 registry+https://github.com/rust-lang/crates.io-index", "unicode-ident 1.0.20 registry+https://github.com/rust-lang/crates.io-index",
"unicode-segmentation 1.12.0 registry+https://github.com/rust-lang/crates.io-index", "unicode-segmentation 1.12.0 registry+https://github.com/rust-lang/crates.io-index",
"unicode-width 0.1.14 registry+https://github.com/rust-lang/crates.io-index", "unicode-width 0.1.14 registry+https://github.com/rust-lang/crates.io-index",
"unicode-width 0.2.2 registry+https://github.com/rust-lang/crates.io-index", "unicode-width 0.2.2 registry+https://github.com/rust-lang/crates.io-index",
@@ -815,7 +811,7 @@
"want 0.3.1 registry+https://github.com/rust-lang/crates.io-index", "want 0.3.1 registry+https://github.com/rust-lang/crates.io-index",
"web-time 1.1.0 registry+https://github.com/rust-lang/crates.io-index", "web-time 1.1.0 registry+https://github.com/rust-lang/crates.io-index",
"webbrowser 1.0.6 registry+https://github.com/rust-lang/crates.io-index", "webbrowser 1.0.6 registry+https://github.com/rust-lang/crates.io-index",
"weezl 0.1.12 registry+https://github.com/rust-lang/crates.io-index", "weezl 0.1.10 registry+https://github.com/rust-lang/crates.io-index",
"which 8.0.0 registry+https://github.com/rust-lang/crates.io-index", "which 8.0.0 registry+https://github.com/rust-lang/crates.io-index",
"win-msgbox 0.2.1 registry+https://github.com/rust-lang/crates.io-index", "win-msgbox 0.2.1 registry+https://github.com/rust-lang/crates.io-index",
"winapi 0.3.9 registry+https://github.com/rust-lang/crates.io-index", "winapi 0.3.9 registry+https://github.com/rust-lang/crates.io-index",
@@ -850,7 +846,7 @@
"windows-numerics 0.1.1 registry+https://github.com/rust-lang/crates.io-index", "windows-numerics 0.1.1 registry+https://github.com/rust-lang/crates.io-index",
"windows-numerics 0.2.0 registry+https://github.com/rust-lang/crates.io-index", "windows-numerics 0.2.0 registry+https://github.com/rust-lang/crates.io-index",
"windows-numerics 0.3.1 registry+https://github.com/rust-lang/crates.io-index", "windows-numerics 0.3.1 registry+https://github.com/rust-lang/crates.io-index",
"windows-registry 0.6.1 registry+https://github.com/rust-lang/crates.io-index", "windows-registry 0.5.3 registry+https://github.com/rust-lang/crates.io-index",
"windows-result 0.1.2 registry+https://github.com/rust-lang/crates.io-index", "windows-result 0.1.2 registry+https://github.com/rust-lang/crates.io-index",
"windows-result 0.2.0 registry+https://github.com/rust-lang/crates.io-index", "windows-result 0.2.0 registry+https://github.com/rust-lang/crates.io-index",
"windows-result 0.3.4 registry+https://github.com/rust-lang/crates.io-index", "windows-result 0.3.4 registry+https://github.com/rust-lang/crates.io-index",
@@ -883,16 +879,13 @@
"winsafe 0.0.19 registry+https://github.com/rust-lang/crates.io-index", "winsafe 0.0.19 registry+https://github.com/rust-lang/crates.io-index",
"wmi 0.15.2 registry+https://github.com/rust-lang/crates.io-index", "wmi 0.15.2 registry+https://github.com/rust-lang/crates.io-index",
"xml-rs 0.8.28 registry+https://github.com/rust-lang/crates.io-index", "xml-rs 0.8.28 registry+https://github.com/rust-lang/crates.io-index",
"y4m 0.8.0 registry+https://github.com/rust-lang/crates.io-index",
"yaml-rust 0.4.5 registry+https://github.com/rust-lang/crates.io-index", "yaml-rust 0.4.5 registry+https://github.com/rust-lang/crates.io-index",
"zerocopy 0.8.31 registry+https://github.com/rust-lang/crates.io-index", "zerocopy 0.8.27 registry+https://github.com/rust-lang/crates.io-index",
"zerocopy-derive 0.8.31 registry+https://github.com/rust-lang/crates.io-index", "zerocopy-derive 0.8.27 registry+https://github.com/rust-lang/crates.io-index",
"zeroize 1.8.2 registry+https://github.com/rust-lang/crates.io-index", "zeroize 1.8.2 registry+https://github.com/rust-lang/crates.io-index",
"zune-core 0.4.12 registry+https://github.com/rust-lang/crates.io-index", "zune-core 0.4.12 registry+https://github.com/rust-lang/crates.io-index",
"zune-core 0.5.0 registry+https://github.com/rust-lang/crates.io-index",
"zune-inflate 0.2.54 registry+https://github.com/rust-lang/crates.io-index", "zune-inflate 0.2.54 registry+https://github.com/rust-lang/crates.io-index",
"zune-jpeg 0.4.21 registry+https://github.com/rust-lang/crates.io-index", "zune-jpeg 0.4.21 registry+https://github.com/rust-lang/crates.io-index"
"zune-jpeg 0.5.5 registry+https://github.com/rust-lang/crates.io-index"
] ]
], ],
[ [
@@ -912,13 +905,13 @@
[ [
"OFL-1.1", "OFL-1.1",
[ [
"epaint_default_fonts 0.33.2 registry+https://github.com/rust-lang/crates.io-index" "epaint_default_fonts 0.32.3 registry+https://github.com/rust-lang/crates.io-index"
] ]
], ],
[ [
"Ubuntu-font-1.0", "Ubuntu-font-1.0",
[ [
"epaint_default_fonts 0.33.2 registry+https://github.com/rust-lang/crates.io-index" "epaint_default_fonts 0.32.3 registry+https://github.com/rust-lang/crates.io-index"
] ]
], ],
[ [
@@ -934,7 +927,7 @@
"litemap 0.8.1 registry+https://github.com/rust-lang/crates.io-index", "litemap 0.8.1 registry+https://github.com/rust-lang/crates.io-index",
"potential_utf 0.1.4 registry+https://github.com/rust-lang/crates.io-index", "potential_utf 0.1.4 registry+https://github.com/rust-lang/crates.io-index",
"tinystr 0.8.2 registry+https://github.com/rust-lang/crates.io-index", "tinystr 0.8.2 registry+https://github.com/rust-lang/crates.io-index",
"unicode-ident 1.0.22 registry+https://github.com/rust-lang/crates.io-index", "unicode-ident 1.0.20 registry+https://github.com/rust-lang/crates.io-index",
"writeable 0.6.2 registry+https://github.com/rust-lang/crates.io-index", "writeable 0.6.2 registry+https://github.com/rust-lang/crates.io-index",
"yoke 0.8.1 registry+https://github.com/rust-lang/crates.io-index", "yoke 0.8.1 registry+https://github.com/rust-lang/crates.io-index",
"yoke-derive 0.8.1 registry+https://github.com/rust-lang/crates.io-index", "yoke-derive 0.8.1 registry+https://github.com/rust-lang/crates.io-index",
@@ -972,10 +965,8 @@
"miniz_oxide 0.8.9 registry+https://github.com/rust-lang/crates.io-index", "miniz_oxide 0.8.9 registry+https://github.com/rust-lang/crates.io-index",
"raw-window-handle 0.6.2 registry+https://github.com/rust-lang/crates.io-index", "raw-window-handle 0.6.2 registry+https://github.com/rust-lang/crates.io-index",
"zune-core 0.4.12 registry+https://github.com/rust-lang/crates.io-index", "zune-core 0.4.12 registry+https://github.com/rust-lang/crates.io-index",
"zune-core 0.5.0 registry+https://github.com/rust-lang/crates.io-index",
"zune-inflate 0.2.54 registry+https://github.com/rust-lang/crates.io-index", "zune-inflate 0.2.54 registry+https://github.com/rust-lang/crates.io-index",
"zune-jpeg 0.4.21 registry+https://github.com/rust-lang/crates.io-index", "zune-jpeg 0.4.21 registry+https://github.com/rust-lang/crates.io-index"
"zune-jpeg 0.5.5 registry+https://github.com/rust-lang/crates.io-index"
] ]
] ]
] ]

View File

@@ -1,12 +0,0 @@
# cancel-preselect
```
Cancel a workspace preselect set by the preselect-direction command, if one exists
Usage: komorebic.exe cancel-preselect
Options:
-h, --help
Print help
```

View File

@@ -1,16 +0,0 @@
# preselect-direction
```
Preselect the specified direction for the next window to be spawned on supported layouts
Usage: komorebic.exe preselect-direction <OPERATION_DIRECTION>
Arguments:
<OPERATION_DIRECTION>
[possible values: left, right, up, down]
Options:
-h, --help
Print help
```

View File

@@ -1,12 +0,0 @@
# promote-swap
```
Promote the focused window to the largest tile by swapping container indices with the largest tile
Usage: komorebic.exe promote-swap
Options:
-h, --help
Print help
```

View File

@@ -1,7 +1,7 @@
# promote # promote
``` ```
Promote the focused window to the largest tile via container removal and re-insertion Promote the focused window to the top of the tree
Usage: komorebic.exe promote Usage: komorebic.exe promote

View File

@@ -48,8 +48,8 @@
{ {
"Network": { "Network": {
"enable": true, "enable": true,
"show_activity": true, "show_total_data_transmitted": true,
"show_total_activity": true "show_network_activity": true
} }
}, },
{ {

View File

@@ -17,12 +17,12 @@ crossbeam-channel = { workspace = true }
dirs = { workspace = true } dirs = { workspace = true }
dunce = { workspace = true } dunce = { workspace = true }
eframe = { workspace = true } eframe = { workspace = true }
egui-phosphor = { git = "https://github.com/amPerl/egui-phosphor", rev = "d13688738478ecd12b426e3e74c59d6577a85b59" } egui-phosphor = "0.10"
font-loader = "0.11" font-loader = "0.11"
hotwatch = { workspace = true } hotwatch = { workspace = true }
image = "0.25" image = "0.25"
lazy_static = { workspace = true } lazy_static = { workspace = true }
netdev = "0.39" netdev = "0.36"
num = "0.4" num = "0.4"
num-derive = "0.4" num-derive = "0.4"
num-traits = "0.2" num-traits = "0.2"

View File

@@ -15,11 +15,6 @@ use serde::Deserialize;
use serde::Serialize; use serde::Serialize;
use std::fmt; use std::fmt;
use std::process::Command; use std::process::Command;
use std::sync::Arc;
use std::sync::Mutex;
use std::sync::atomic::AtomicU64;
use std::sync::atomic::Ordering;
use std::thread;
use std::time::Duration; use std::time::Duration;
use std::time::Instant; use std::time::Instant;
use sysinfo::Networks; use sysinfo::Networks;
@@ -71,25 +66,21 @@ impl From<NetworkConfig> for Network {
show_total_activity: value.show_total_activity, show_total_activity: value.show_total_activity,
show_activity: value.show_activity, show_activity: value.show_activity,
show_default_interface: value.show_default_interface.unwrap_or(true), show_default_interface: value.show_default_interface.unwrap_or(true),
networks_network_activity: Arc::new(Mutex::new(Networks::new_with_refreshed_list())), networks_network_activity: Networks::new_with_refreshed_list(),
default_interface: Arc::new(Mutex::new(String::new())), default_interface: String::new(),
interface_generation: Arc::new(AtomicU64::new(0)),
default_refresh_interval, default_refresh_interval,
data_refresh_interval, data_refresh_interval,
label_prefix: value.label_prefix.unwrap_or(LabelPrefix::Icon), label_prefix: value.label_prefix.unwrap_or(LabelPrefix::Icon),
auto_select: value.auto_select, auto_select: value.auto_select,
activity_left_padding: value.activity_left_padding.unwrap_or_default(), activity_left_padding: value.activity_left_padding.unwrap_or_default(),
last_update_request_default_interface: Instant::now() last_updated_default_interface: Instant::now()
.checked_sub(Duration::from_secs(default_refresh_interval)) .checked_sub(Duration::from_secs(default_refresh_interval))
.unwrap(), .unwrap(),
last_state_total_activity: Arc::new(Mutex::new(vec![])), last_state_total_activity: vec![],
last_state_activity: Arc::new(Mutex::new(vec![])), last_state_activity: vec![],
last_update_request_network_activity: Arc::new(Mutex::new( last_updated_network_activity: Instant::now()
Instant::now()
.checked_sub(Duration::from_secs(data_refresh_interval)) .checked_sub(Duration::from_secs(data_refresh_interval))
.unwrap(), .unwrap(),
)),
activity_generation: Arc::new(AtomicU64::new(0)),
} }
} }
} }
@@ -99,82 +90,63 @@ pub struct Network {
pub show_total_activity: bool, pub show_total_activity: bool,
pub show_activity: bool, pub show_activity: bool,
pub show_default_interface: bool, pub show_default_interface: bool,
networks_network_activity: Arc<Mutex<Networks>>, networks_network_activity: Networks,
default_refresh_interval: u64, default_refresh_interval: u64,
data_refresh_interval: u64, data_refresh_interval: u64,
label_prefix: LabelPrefix, label_prefix: LabelPrefix,
auto_select: Option<NetworkSelectConfig>, auto_select: Option<NetworkSelectConfig>,
default_interface: Arc<Mutex<String>>, default_interface: String,
interface_generation: Arc<AtomicU64>, last_updated_default_interface: Instant,
last_update_request_default_interface: Instant, last_state_total_activity: Vec<NetworkReading>,
activity_generation: Arc<AtomicU64>, last_state_activity: Vec<NetworkReading>,
last_state_activity: Arc<Mutex<Vec<NetworkReading>>>, last_updated_network_activity: Instant,
last_state_total_activity: Arc<Mutex<Vec<NetworkReading>>>,
last_update_request_network_activity: Arc<Mutex<Instant>>,
activity_left_padding: usize, activity_left_padding: usize,
} }
impl Network { impl Network {
fn update_default_interface_async(&mut self) { fn default_interface(&mut self) {
let gen_ = self.interface_generation.fetch_add(1, Ordering::SeqCst) + 1;
let gen_arc = Arc::clone(&self.interface_generation);
let iface_arc = Arc::clone(&self.default_interface);
thread::spawn(move || {
if let Ok(interface) = netdev::get_default_interface()
&& let Some(friendly_name) = &interface.friendly_name
{
// Only update if this is the latest request
if gen_ == gen_arc.load(Ordering::SeqCst)
&& let Ok(mut iface) = iface_arc.lock()
{
*iface = friendly_name.clone();
}
}
});
}
fn default_interface(&mut self) -> String {
let current = self.default_interface.lock().unwrap().clone();
let now = Instant::now(); let now = Instant::now();
if now.duration_since(self.last_update_request_default_interface) if now.duration_since(self.last_updated_default_interface)
> Duration::from_secs(self.default_refresh_interval) > Duration::from_secs(self.default_refresh_interval)
{ {
self.last_update_request_default_interface = now; if let Ok(interface) = netdev::get_default_interface()
self.update_default_interface_async(); && let Some(friendly_name) = &interface.friendly_name
{
self.default_interface.clone_from(friendly_name);
} }
current self.last_updated_default_interface = now;
}
} }
fn update_network_activity_async(&mut self) { fn network_activity(&mut self) -> (Vec<NetworkReading>, Vec<NetworkReading>) {
let gen_ = self.activity_generation.fetch_add(1, Ordering::SeqCst) + 1; let mut activity = self.last_state_activity.clone();
let gen_arc = Arc::clone(&self.activity_generation); let mut total_activity = self.last_state_total_activity.clone();
let activity_arc = Arc::clone(&self.last_state_activity); let now = Instant::now();
let total_activity_arc = Arc::clone(&self.last_state_total_activity);
let data_refresh_interval = self.data_refresh_interval;
let show_activity = self.show_activity;
let show_total_activity = self.show_total_activity;
let networks_network_activity_arc = Arc::clone(&self.networks_network_activity);
thread::spawn(move || { if now.duration_since(self.last_updated_network_activity)
let mut activity = Vec::new(); > Duration::from_secs(self.data_refresh_interval)
let mut total_activity = Vec::new(); {
activity.clear();
total_activity.clear();
if let Ok(interface) = netdev::get_default_interface() if let Ok(interface) = netdev::get_default_interface()
&& let Some(friendly_name) = &interface.friendly_name && let Some(friendly_name) = &interface.friendly_name
&& let Ok(mut networks) = networks_network_activity_arc.lock()
{ {
networks.refresh(true); self.default_interface.clone_from(friendly_name);
for (interface_name, data) in &*networks { self.networks_network_activity.refresh(true);
for (interface_name, data) in &self.networks_network_activity {
if friendly_name.eq(interface_name) { if friendly_name.eq(interface_name) {
if show_activity { if self.show_activity {
let received = let received =
Network::to_pretty_bytes(data.received(), data_refresh_interval); Self::to_pretty_bytes(data.received(), self.data_refresh_interval);
let transmitted = let transmitted = Self::to_pretty_bytes(
Network::to_pretty_bytes(data.transmitted(), data_refresh_interval); data.transmitted(),
self.data_refresh_interval,
);
activity.push(NetworkReading::new( activity.push(NetworkReading::new(
NetworkReadingFormat::Speed, NetworkReadingFormat::Speed,
@@ -183,55 +155,26 @@ impl Network {
)); ));
} }
if show_total_activity { if self.show_total_activity {
let total_received = Network::to_pretty_bytes(data.total_received(), 1); let total_received = Self::to_pretty_bytes(data.total_received(), 1);
let total_transmitted = let total_transmitted =
Network::to_pretty_bytes(data.total_transmitted(), 1); Self::to_pretty_bytes(data.total_transmitted(), 1);
total_activity.push(NetworkReading::new( total_activity.push(NetworkReading::new(
NetworkReadingFormat::Total, NetworkReadingFormat::Total,
ReadingValue::from(total_received), ReadingValue::from(total_received),
ReadingValue::from(total_transmitted), ReadingValue::from(total_transmitted),
)); ))
} }
} }
} }
} }
// Only update if this is the latest request self.last_state_activity.clone_from(&activity);
if gen_ == gen_arc.load(Ordering::SeqCst) { self.last_state_total_activity.clone_from(&total_activity);
if let Ok(mut act) = activity_arc.lock() { self.last_updated_network_activity = now;
*act = activity;
}
if let Ok(mut tot) = total_activity_arc.lock() {
*tot = total_activity;
}
}
});
} }
fn network_activity(&mut self) -> (Vec<NetworkReading>, Vec<NetworkReading>) {
let now = Instant::now();
let should_update = {
let last_update_request = self.last_update_request_network_activity.lock().unwrap();
now.duration_since(*last_update_request)
> Duration::from_secs(self.data_refresh_interval)
};
if should_update {
{
let mut last_updated = self.last_update_request_network_activity.lock().unwrap();
*last_updated = now;
}
self.update_network_activity_async();
}
self.get_network_activity()
}
fn get_network_activity(&self) -> (Vec<NetworkReading>, Vec<NetworkReading>) {
let activity = self.last_state_activity.lock().unwrap().clone();
let total_activity = self.last_state_total_activity.lock().unwrap().clone();
(activity, total_activity) (activity, total_activity)
} }
@@ -502,9 +445,9 @@ impl BarWidget for Network {
} }
if self.show_default_interface { if self.show_default_interface {
let mut self_default_interface = self.default_interface(); self.default_interface();
if !self_default_interface.is_empty() { if !self.default_interface.is_empty() {
let mut layout_job = LayoutJob::simple( let mut layout_job = LayoutJob::simple(
match self.label_prefix { match self.label_prefix {
LabelPrefix::Icon | LabelPrefix::IconAndText => { LabelPrefix::Icon | LabelPrefix::IconAndText => {
@@ -518,11 +461,11 @@ impl BarWidget for Network {
); );
if let LabelPrefix::Text | LabelPrefix::IconAndText = self.label_prefix { if let LabelPrefix::Text | LabelPrefix::IconAndText = self.label_prefix {
self_default_interface.insert_str(0, "NET: "); self.default_interface.insert_str(0, "NET: ");
} }
layout_job.append( layout_job.append(
&self_default_interface, &self.default_interface,
10.0, 10.0,
TextFormat { TextFormat {
font_id: config.text_font_id.clone(), font_id: config.text_font_id.clone(),

View File

@@ -7,26 +7,19 @@ pub use komorebi::AspectRatio;
pub use komorebi::BorderColours; pub use komorebi::BorderColours;
pub use komorebi::Colour; pub use komorebi::Colour;
pub use komorebi::CrossBoundaryBehaviour; pub use komorebi::CrossBoundaryBehaviour;
pub use komorebi::GridLayoutOptions;
pub use komorebi::KomorebiTheme; pub use komorebi::KomorebiTheme;
pub use komorebi::LayoutOptions;
pub use komorebi::MonitorConfig; pub use komorebi::MonitorConfig;
pub use komorebi::Notification; pub use komorebi::Notification;
pub use komorebi::NotificationEvent; pub use komorebi::NotificationEvent;
pub use komorebi::Placement;
pub use komorebi::PredefinedAspectRatio; pub use komorebi::PredefinedAspectRatio;
pub use komorebi::Rgb; pub use komorebi::Rgb;
pub use komorebi::RuleDebug; pub use komorebi::RuleDebug;
pub use komorebi::ScrollingLayoutOptions;
pub use komorebi::StackbarConfig; pub use komorebi::StackbarConfig;
pub use komorebi::StaticConfig; pub use komorebi::StaticConfig;
pub use komorebi::SubscribeOptions; pub use komorebi::SubscribeOptions;
pub use komorebi::TabsConfig; pub use komorebi::TabsConfig;
pub use komorebi::ThemeOptions;
pub use komorebi::VirtualDesktopNotification; pub use komorebi::VirtualDesktopNotification;
pub use komorebi::Wallpaper;
pub use komorebi::WindowContainerBehaviour; pub use komorebi::WindowContainerBehaviour;
pub use komorebi::WindowHandlingBehaviour;
pub use komorebi::WindowsApi; pub use komorebi::WindowsApi;
pub use komorebi::WorkspaceConfig; pub use komorebi::WorkspaceConfig;
pub use komorebi::animation::PerAnimationPrefixConfig; pub use komorebi::animation::PerAnimationPrefixConfig;

View File

@@ -247,7 +247,7 @@ impl eframe::App for KomorebiGui {
egui::CentralPanel::default().show(ctx, |ui| { egui::CentralPanel::default().show(ctx, |ui| {
ctx.set_pixels_per_point(2.0); ctx.set_pixels_per_point(2.0);
egui::ScrollArea::vertical().show(ui, |ui| { egui::ScrollArea::vertical().show(ui, |ui| {
ui.set_width(ctx.content_rect().width()); ui.set_width(ctx.screen_rect().width());
ui.collapsing("Debugging", |ui| { ui.collapsing("Debugging", |ui| {
ui.collapsing("Window Rules", |ui| { ui.collapsing("Window Rules", |ui| {
let window = Window::from(self.debug_hwnd); let window = Window::from(self.debug_hwnd);

View File

@@ -4,8 +4,8 @@ version = "0.1.0"
edition = "2024" edition = "2024"
[dependencies] [dependencies]
whkd-parser = { git = "https://github.com/LGUG2Z/whkd", rev = "v0.2.10" } whkd-parser = { git = "https://github.com/LGUG2Z/whkd", rev = "v0.2.9" }
whkd-core = { git = "https://github.com/LGUG2Z/whkd", rev = "v0.2.10" } whkd-core = { git = "https://github.com/LGUG2Z/whkd", rev = "v0.2.9" }
eframe = { workspace = true } eframe = { workspace = true }
dirs = { workspace = true } dirs = { workspace = true }

View File

@@ -4,9 +4,8 @@ version = "0.1.39"
edition = "2024" edition = "2024"
[dependencies] [dependencies]
base16-egui-themes = { git = "https://github.com/LGUG2Z/base16-egui-themes", rev = "5472b1ab825c48af1a1726e324cfa13b7c385135" } base16-egui-themes = { git = "https://github.com/LGUG2Z/base16-egui-themes", rev = "c9008bd5cfa288c926e9ea3aa18c92073f9281bd" }
#catppuccin-egui = { version = "5", default-features = false, features = ["egui32"] } catppuccin-egui = { version = "5", default-features = false, features = ["egui32"] }
catppuccin-egui = { git = "https://github.com/LGUG2Z/catppuccin-egui", rev = "b2f95cbf441d1dd99f3c955ef10dcb84ce23c20a", default-features = false, features = ["egui33"] }
eframe = { workspace = true } eframe = { workspace = true }
schemars = { workspace = true, optional = true } schemars = { workspace = true, optional = true }
serde = { workspace = true } serde = { workspace = true }

View File

@@ -10,7 +10,7 @@ edition = "2024"
[dependencies] [dependencies]
komorebi-themes = { path = "../komorebi-themes" } komorebi-themes = { path = "../komorebi-themes" }
base64 = "0.22" base64 = "0.21"
bitflags = { version = "2", features = ["serde"] } bitflags = { version = "2", features = ["serde"] }
clap = { workspace = true } clap = { workspace = true }
chrono = { workspace = true } chrono = { workspace = true }

View File

@@ -41,18 +41,6 @@ impl Lockable for Container {
} }
impl Container { impl Container {
pub fn preselect() -> Self {
Self {
id: "PRESELECT".to_string(),
locked: false,
windows: Default::default(),
}
}
pub fn is_preselect(&self) -> bool {
self.id == "PRESELECT"
}
pub fn hide(&self, omit: Option<isize>) { pub fn hide(&self, omit: Option<isize>) {
for window in self.windows().iter().rev() { for window in self.windows().iter().rev() {
let mut should_hide = omit.is_none(); let mut should_hide = omit.is_none();

View File

@@ -52,6 +52,31 @@ impl Arrangement for DefaultLayout {
let column_width = area.right / column_count as i32; let column_width = area.right / column_count as i32;
let mut layouts = Vec::with_capacity(len); let mut layouts = Vec::with_capacity(len);
match len {
// treat < 3 windows the same as the columns layout
len if len < 3 => {
layouts = columns(area, len);
let adjustment = calculate_columns_adjustment(resize_dimensions);
layouts.iter_mut().zip(adjustment.iter()).for_each(
|(layout, adjustment)| {
layout.top += adjustment.top;
layout.bottom += adjustment.bottom;
layout.left += adjustment.left;
layout.right += adjustment.right;
},
);
if matches!(
layout_flip,
Some(Axis::Horizontal | Axis::HorizontalAndVertical)
) && let 2.. = len
{
columns_reverse(&mut layouts);
}
}
// treat >= column_count as scrolling
len => {
let visible_columns = area.right / column_width; let visible_columns = area.right / column_width;
let keep_centered = layout_options let keep_centered = layout_options
.and_then(|o| { .and_then(|o| {
@@ -90,7 +115,9 @@ impl Arrangement for DefaultLayout {
if focused_idx < previous_first_visible { if focused_idx < previous_first_visible {
// focused window is off the left edge, we need to scroll left // focused window is off the left edge, we need to scroll left
focused_idx focused_idx
} else if focused_idx >= previous_first_visible + visible_columns as isize { } else if focused_idx
>= previous_first_visible + visible_columns as isize
{
// focused window is off the right edge, we need to scroll right // focused window is off the right edge, we need to scroll right
// and make sure it's the last visible window // and make sure it's the last visible window
(focused_idx + 1 - visible_columns as isize).max(0) (focused_idx + 1 - visible_columns as isize).max(0)
@@ -119,15 +146,16 @@ impl Arrangement for DefaultLayout {
} }
let adjustment = calculate_scrolling_adjustment(resize_dimensions); let adjustment = calculate_scrolling_adjustment(resize_dimensions);
layouts layouts.iter_mut().zip(adjustment.iter()).for_each(
.iter_mut() |(layout, adjustment)| {
.zip(adjustment.iter())
.for_each(|(layout, adjustment)| {
layout.top += adjustment.top; layout.top += adjustment.top;
layout.bottom += adjustment.bottom; layout.bottom += adjustment.bottom;
layout.left += adjustment.left; layout.left += adjustment.left;
layout.right += adjustment.right; layout.right += adjustment.right;
}); },
);
}
}
layouts layouts
} }

View File

@@ -23,7 +23,7 @@ pub use custom_layout::ColumnSplitWithCapacity;
pub use custom_layout::ColumnWidth; pub use custom_layout::ColumnWidth;
pub use custom_layout::CustomLayout; pub use custom_layout::CustomLayout;
pub use cycle_direction::CycleDirection; pub use cycle_direction::CycleDirection;
pub use default_layout::*; pub use default_layout::DefaultLayout;
pub use direction::Direction; pub use direction::Direction;
pub use layout::Layout; pub use layout::Layout;
pub use operation_direction::OperationDirection; pub use operation_direction::OperationDirection;
@@ -55,8 +55,6 @@ pub enum SocketMessage {
// Window / Container Commands // Window / Container Commands
FocusWindow(OperationDirection), FocusWindow(OperationDirection),
MoveWindow(OperationDirection), MoveWindow(OperationDirection),
PreselectDirection(OperationDirection),
CancelPreselect,
CycleFocusWindow(CycleDirection), CycleFocusWindow(CycleDirection),
CycleMoveWindow(CycleDirection), CycleMoveWindow(CycleDirection),
StackWindow(OperationDirection), StackWindow(OperationDirection),
@@ -89,7 +87,6 @@ pub enum SocketMessage {
Close, Close,
Minimize, Minimize,
Promote, Promote,
PromoteSwap,
PromoteFocus, PromoteFocus,
PromoteWindow(OperationDirection), PromoteWindow(OperationDirection),
EagerFocus(String), EagerFocus(String),

View File

@@ -213,7 +213,6 @@ impl WindowManager {
let mut force_update_borders = false; let mut force_update_borders = false;
match message { match message {
SocketMessage::Promote => self.promote_container_to_front()?, SocketMessage::Promote => self.promote_container_to_front()?,
SocketMessage::PromoteSwap => self.promote_container_swap()?,
SocketMessage::PromoteFocus => self.promote_focus_to_front()?, SocketMessage::PromoteFocus => self.promote_focus_to_front()?,
SocketMessage::PromoteWindow(direction) => { SocketMessage::PromoteWindow(direction) => {
self.focus_container_in_direction(direction)?; self.focus_container_in_direction(direction)?;
@@ -304,28 +303,6 @@ impl WindowManager {
} }
} }
} }
SocketMessage::PreselectDirection(direction) => {
let focused_workspace = self.focused_workspace()?;
let mut update = false;
if focused_workspace.preselected_container_idx.is_some() {
tracing::warn!(
"ignoring command as this workspace already has a direction preselect set"
);
} else if matches!(focused_workspace.layer, WorkspaceLayer::Tiling) {
self.preselect_container_in_direction(direction)?;
update = true;
}
if update {
self.focused_workspace_mut()?.update()?;
}
}
SocketMessage::CancelPreselect => {
let focused_workspace = self.focused_workspace_mut()?;
focused_workspace.cancel_preselect();
focused_workspace.update()?;
}
SocketMessage::MoveWindow(direction) => { SocketMessage::MoveWindow(direction) => {
let focused_workspace = self.focused_workspace()?; let focused_workspace = self.focused_workspace()?;
match focused_workspace.layer { match focused_workspace.layer {

View File

@@ -52,10 +52,8 @@ pub fn listen_for_events(wm: Arc<Mutex<WindowManager>>) {
if mdm && splash::should().map(|f| f.into()).unwrap_or(true) { if mdm && splash::should().map(|f| f.into()).unwrap_or(true) {
let mut args = vec!["splash".to_string()]; let mut args = vec!["splash".to_string()];
if let Some(server) = server { if let Some(server) = server {
if !server.trim().is_empty() {
args.push(server); args.push(server);
} }
}
let _ = Command::new("komorebic").args(&args).spawn(); let _ = Command::new("komorebic").args(&args).spawn();
} }

View File

@@ -272,8 +272,6 @@ impl From<&WindowManager> for State {
globals: workspace.globals, globals: workspace.globals,
wallpaper: workspace.wallpaper.clone(), wallpaper: workspace.wallpaper.clone(),
workspace_config: None, workspace_config: None,
preselected_container_idx: None,
promotion_swap_container_idx: None,
}) })
.collect::<VecDeque<_>>(); .collect::<VecDeque<_>>();
ws.focus(monitor.workspaces.focused_idx()); ws.focus(monitor.workspaces.focused_idx());

View File

@@ -1928,7 +1928,7 @@ mod tests {
let docs = vec![ let docs = vec![
"0.1.20", "0.1.21", "0.1.22", "0.1.23", "0.1.24", "0.1.25", "0.1.26", "0.1.27", "0.1.20", "0.1.21", "0.1.22", "0.1.23", "0.1.24", "0.1.25", "0.1.26", "0.1.27",
"0.1.28", "0.1.29", "0.1.30", "0.1.31", "0.1.32", "0.1.33", "0.1.34", "0.1.35", "0.1.28", "0.1.29", "0.1.30", "0.1.31", "0.1.32", "0.1.33", "0.1.34", "0.1.35",
"0.1.36", "0.1.37", "0.1.38", "0.1.36", "0.1.37",
]; ];
let mut versions = vec![]; let mut versions = vec![];

View File

@@ -17,6 +17,7 @@ use crate::WindowsApi;
use crate::should_act; use crate::should_act;
pub static TRANSPARENCY_ENABLED: AtomicBool = AtomicBool::new(false); pub static TRANSPARENCY_ENABLED: AtomicBool = AtomicBool::new(false);
pub static TRANSPARENCY_ENABLED_OVERRIDE: AtomicBool = AtomicBool::new(false);
pub static TRANSPARENCY_ALPHA: AtomicU8 = AtomicU8::new(200); pub static TRANSPARENCY_ALPHA: AtomicU8 = AtomicU8::new(200);
static KNOWN_HWNDS: OnceLock<Mutex<Vec<isize>>> = OnceLock::new(); static KNOWN_HWNDS: OnceLock<Mutex<Vec<isize>>> = OnceLock::new();

View File

@@ -2042,53 +2042,6 @@ impl WindowManager {
Ok(()) Ok(())
} }
#[tracing::instrument(skip(self))]
pub fn preselect_container_in_direction(
&mut self,
direction: OperationDirection,
) -> eyre::Result<()> {
let workspace = self.focused_workspace_mut()?;
let focused_idx = workspace.focused_container_idx();
if matches!(workspace.layout, Layout::Default(DefaultLayout::Grid)) {
tracing::warn!("preselection is not supported on the grid layout");
return Ok(());
}
tracing::info!("preselecting container");
let new_idx =
if workspace.maximized_window.is_some() || workspace.monocle_container.is_some() {
None
} else {
workspace.new_idx_for_direction(direction)
};
match new_idx {
Some(new_idx) => {
let adjusted_idx = match direction {
OperationDirection::Left | OperationDirection::Up => {
if focused_idx.abs_diff(new_idx) == 1 {
new_idx + 1
} else {
new_idx
}
}
_ => new_idx,
};
workspace.preselect_container_idx(adjusted_idx);
}
None => {
tracing::debug!(
"this is not a valid preselection direction from the current position"
)
}
}
Ok(())
}
#[tracing::instrument(skip(self))] #[tracing::instrument(skip(self))]
pub fn focus_container_in_direction( pub fn focus_container_in_direction(
&mut self, &mut self,
@@ -2729,6 +2682,11 @@ impl WindowManager {
#[tracing::instrument(skip(self))] #[tracing::instrument(skip(self))]
pub fn stack_all(&mut self) -> eyre::Result<()> { pub fn stack_all(&mut self) -> eyre::Result<()> {
if transparency_manager::TRANSPARENCY_ENABLED.load(Ordering::SeqCst) {
transparency_manager::TRANSPARENCY_ENABLED.store(false, Ordering::SeqCst);
transparency_manager::TRANSPARENCY_ENABLED_OVERRIDE.store(true, Ordering::SeqCst);
}
self.handle_unmanaged_window_behaviour()?; self.handle_unmanaged_window_behaviour()?;
tracing::info!("stacking all windows on workspace"); tracing::info!("stacking all windows on workspace");
@@ -2796,6 +2754,11 @@ impl WindowManager {
workspace.focus_container_by_window(hwnd)?; workspace.focus_container_by_window(hwnd)?;
} }
if transparency_manager::TRANSPARENCY_ENABLED_OVERRIDE.load(Ordering::SeqCst) {
transparency_manager::TRANSPARENCY_ENABLED.store(true, Ordering::SeqCst);
transparency_manager::TRANSPARENCY_ENABLED_OVERRIDE.store(false, Ordering::SeqCst);
}
if update_workspace { if update_workspace {
self.update_focused_workspace(self.mouse_follows_focus, true)?; self.update_focused_workspace(self.mouse_follows_focus, true)?;
} }
@@ -2892,39 +2855,6 @@ impl WindowManager {
self.update_focused_workspace(self.mouse_follows_focus, true) self.update_focused_workspace(self.mouse_follows_focus, true)
} }
#[tracing::instrument(skip(self))]
pub fn promote_container_swap(&mut self) -> eyre::Result<()> {
self.handle_unmanaged_window_behaviour()?;
let workspace = self.focused_workspace_mut()?;
let focused_container_idx = workspace.focused_container_idx();
let primary_idx = match &workspace.layout {
Layout::Default(_) => 0,
Layout::Custom(layout) => layout.first_container_idx(
layout
.primary_idx()
.ok_or_eyre("this custom layout does not have a primary column")?,
),
};
if matches!(workspace.layout, Layout::Default(DefaultLayout::Grid)) {
tracing::debug!("ignoring promote-swap command for grid layout");
return Ok(());
}
let primary_tile_is_focused = focused_container_idx == primary_idx;
if primary_tile_is_focused && let Some(swap_idx) = workspace.promotion_swap_container_idx {
workspace.swap_containers(focused_container_idx, swap_idx);
} else {
workspace.promotion_swap_container_idx = Some(focused_container_idx);
workspace.swap_containers(focused_container_idx, primary_idx);
}
self.update_focused_workspace(self.mouse_follows_focus, true)
}
#[tracing::instrument(skip(self))] #[tracing::instrument(skip(self))]
pub fn promote_focus_to_front(&mut self) -> eyre::Result<()> { pub fn promote_focus_to_front(&mut self) -> eyre::Result<()> {
self.handle_unmanaged_window_behaviour()?; self.handle_unmanaged_window_behaviour()?;

View File

@@ -78,10 +78,6 @@ pub struct Workspace {
pub wallpaper: Option<Wallpaper>, pub wallpaper: Option<Wallpaper>,
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
pub workspace_config: Option<WorkspaceConfig>, pub workspace_config: Option<WorkspaceConfig>,
#[serde(skip_serializing_if = "Option::is_none")]
pub preselected_container_idx: Option<usize>,
#[serde(skip_serializing_if = "Option::is_none")]
pub promotion_swap_container_idx: Option<usize>,
} }
#[derive(Debug, Default, Copy, Clone, Serialize, Deserialize, PartialEq, Eq)] #[derive(Debug, Default, Copy, Clone, Serialize, Deserialize, PartialEq, Eq)]
@@ -133,8 +129,6 @@ impl Default for Workspace {
globals: Default::default(), globals: Default::default(),
workspace_config: None, workspace_config: None,
wallpaper: None, wallpaper: None,
preselected_container_idx: None,
promotion_swap_container_idx: None,
} }
} }
} }
@@ -452,8 +446,7 @@ impl Workspace {
} }
// make sure we are never holding on to empty containers // make sure we are never holding on to empty containers
self.containers_mut() self.containers_mut().retain(|c| !c.windows().is_empty());
.retain(|c| c.is_preselect() || !c.windows().is_empty());
let container_padding = self let container_padding = self
.container_padding .container_padding
@@ -825,10 +818,9 @@ impl Workspace {
} }
pub fn promote_container(&mut self) -> eyre::Result<()> { pub fn promote_container(&mut self) -> eyre::Result<()> {
let focused_idx = self.focused_container_idx(); let resize = self.resize_dimensions.remove(0);
let container = self let container = self
.containers_mut() .remove_focused_container()
.remove_respecting_locks(focused_idx)
.ok_or_eyre("there is no container")?; .ok_or_eyre("there is no container")?;
let primary_idx = match &self.layout { let primary_idx = match &self.layout {
@@ -840,10 +832,9 @@ impl Workspace {
), ),
}; };
let insertion_idx = self let insertion_idx = self.insert_container_at_idx(primary_idx, container);
.containers_mut() self.resize_dimensions[insertion_idx] = resize;
.insert_respecting_locks(primary_idx, container); self.focus_container(primary_idx);
self.focus_container(insertion_idx);
Ok(()) Ok(())
} }
@@ -985,18 +976,6 @@ impl Workspace {
container container
} }
pub fn preselect_container_idx(&mut self, insertion_idx: usize) {
self.preselected_container_idx = Some(insertion_idx);
self.insert_container_at_idx(insertion_idx, Container::preselect());
}
pub fn cancel_preselect(&mut self) {
if let Some(idx) = self.preselected_container_idx {
self.containers_mut().remove_respecting_locks(idx);
self.preselected_container_idx = None;
}
}
pub fn new_idx_for_direction(&self, direction: OperationDirection) -> Option<usize> { pub fn new_idx_for_direction(&self, direction: OperationDirection) -> Option<usize> {
let len = NonZeroUsize::new(self.containers().len())?; let len = NonZeroUsize::new(self.containers().len())?;
@@ -1096,12 +1075,7 @@ impl Workspace {
} }
pub fn new_container_for_window(&mut self, window: Window) { pub fn new_container_for_window(&mut self, window: Window) {
let next_idx = if let Some(idx) = self.preselected_container_idx { let next_idx = if self.containers().is_empty() {
let next = idx;
self.preselected_container_idx = None;
self.remove_container_by_idx(next);
next
} else if self.containers().is_empty() {
0 0
} else { } else {
self.focused_container_idx() + 1 self.focused_container_idx() + 1

File diff suppressed because it is too large Load Diff

View File

@@ -111,8 +111,6 @@ nav:
- cli/load-resize.md - cli/load-resize.md
- cli/focus.md - cli/focus.md
- cli/move.md - cli/move.md
- cli/preselect-direction.md
- cli/cancel-preselect.md
- cli/minimize.md - cli/minimize.md
- cli/close.md - cli/close.md
- cli/force-focus.md - cli/force-focus.md
@@ -172,7 +170,6 @@ nav:
- cli/scrolling-layout-columns.md - cli/scrolling-layout-columns.md
- cli/flip-layout.md - cli/flip-layout.md
- cli/promote.md - cli/promote.md
- cli/promote-swap.md
- cli/promote-focus.md - cli/promote-focus.md
- cli/promote-window.md - cli/promote-window.md
- cli/retile.md - cli/retile.md

View File

@@ -3191,44 +3191,6 @@
} }
} }
}, },
{
"type": "object",
"required": [
"content",
"type"
],
"properties": {
"content": {
"type": "string",
"enum": [
"Left",
"Right",
"Up",
"Down"
]
},
"type": {
"type": "string",
"enum": [
"PreselectDirection"
]
}
}
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"CancelPreselect"
]
}
}
},
{ {
"type": "object", "type": "object",
"required": [ "required": [
@@ -3892,20 +3854,6 @@
} }
} }
}, },
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"PromoteSwap"
]
}
}
},
{ {
"type": "object", "type": "object",
"required": [ "required": [
@@ -9384,44 +9332,6 @@
} }
} }
}, },
{
"type": "object",
"required": [
"content",
"type"
],
"properties": {
"content": {
"type": "string",
"enum": [
"Left",
"Right",
"Up",
"Down"
]
},
"type": {
"type": "string",
"enum": [
"PreselectDirection"
]
}
}
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"CancelPreselect"
]
}
}
},
{ {
"type": "object", "type": "object",
"required": [ "required": [
@@ -10085,20 +9995,6 @@
} }
} }
}, },
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"PromoteSwap"
]
}
}
},
{ {
"type": "object", "type": "object",
"required": [ "required": [
@@ -15577,44 +15473,6 @@
} }
} }
}, },
{
"type": "object",
"required": [
"content",
"type"
],
"properties": {
"content": {
"type": "string",
"enum": [
"Left",
"Right",
"Up",
"Down"
]
},
"type": {
"type": "string",
"enum": [
"PreselectDirection"
]
}
}
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"CancelPreselect"
]
}
}
},
{ {
"type": "object", "type": "object",
"required": [ "required": [
@@ -16278,20 +16136,6 @@
} }
} }
}, },
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"PromoteSwap"
]
}
}
},
{ {
"type": "object", "type": "object",
"required": [ "required": [
@@ -21770,44 +21614,6 @@
} }
} }
}, },
{
"type": "object",
"required": [
"content",
"type"
],
"properties": {
"content": {
"type": "string",
"enum": [
"Left",
"Right",
"Up",
"Down"
]
},
"type": {
"type": "string",
"enum": [
"PreselectDirection"
]
}
}
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"CancelPreselect"
]
}
}
},
{ {
"type": "object", "type": "object",
"required": [ "required": [
@@ -22471,20 +22277,6 @@
} }
} }
}, },
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"PromoteSwap"
]
}
}
},
{ {
"type": "object", "type": "object",
"required": [ "required": [
@@ -27963,44 +27755,6 @@
} }
} }
}, },
{
"type": "object",
"required": [
"content",
"type"
],
"properties": {
"content": {
"type": "string",
"enum": [
"Left",
"Right",
"Up",
"Down"
]
},
"type": {
"type": "string",
"enum": [
"PreselectDirection"
]
}
}
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"CancelPreselect"
]
}
}
},
{ {
"type": "object", "type": "object",
"required": [ "required": [
@@ -28664,20 +28418,6 @@
} }
} }
}, },
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"PromoteSwap"
]
}
}
},
{ {
"type": "object", "type": "object",
"required": [ "required": [
@@ -34156,44 +33896,6 @@
} }
} }
}, },
{
"type": "object",
"required": [
"content",
"type"
],
"properties": {
"content": {
"type": "string",
"enum": [
"Left",
"Right",
"Up",
"Down"
]
},
"type": {
"type": "string",
"enum": [
"PreselectDirection"
]
}
}
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"CancelPreselect"
]
}
}
},
{ {
"type": "object", "type": "object",
"required": [ "required": [
@@ -34857,20 +34559,6 @@
} }
} }
}, },
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"PromoteSwap"
]
}
}
},
{ {
"type": "object", "type": "object",
"required": [ "required": [
@@ -40349,44 +40037,6 @@
} }
} }
}, },
{
"type": "object",
"required": [
"content",
"type"
],
"properties": {
"content": {
"type": "string",
"enum": [
"Left",
"Right",
"Up",
"Down"
]
},
"type": {
"type": "string",
"enum": [
"PreselectDirection"
]
}
}
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"CancelPreselect"
]
}
}
},
{ {
"type": "object", "type": "object",
"required": [ "required": [
@@ -41050,20 +40700,6 @@
} }
} }
}, },
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"PromoteSwap"
]
}
}
},
{ {
"type": "object", "type": "object",
"required": [ "required": [
@@ -46542,44 +46178,6 @@
} }
} }
}, },
{
"type": "object",
"required": [
"content",
"type"
],
"properties": {
"content": {
"type": "string",
"enum": [
"Left",
"Right",
"Up",
"Down"
]
},
"type": {
"type": "string",
"enum": [
"PreselectDirection"
]
}
}
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"CancelPreselect"
]
}
}
},
{ {
"type": "object", "type": "object",
"required": [ "required": [
@@ -47243,20 +46841,6 @@
} }
} }
}, },
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"PromoteSwap"
]
}
}
},
{ {
"type": "object", "type": "object",
"required": [ "required": [
@@ -52735,44 +52319,6 @@
} }
} }
}, },
{
"type": "object",
"required": [
"content",
"type"
],
"properties": {
"content": {
"type": "string",
"enum": [
"Left",
"Right",
"Up",
"Down"
]
},
"type": {
"type": "string",
"enum": [
"PreselectDirection"
]
}
}
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"CancelPreselect"
]
}
}
},
{ {
"type": "object", "type": "object",
"required": [ "required": [
@@ -53436,20 +52982,6 @@
} }
} }
}, },
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"PromoteSwap"
]
}
}
},
{ {
"type": "object", "type": "object",
"required": [ "required": [