From ea96e73a335d2d8d0e038f5021d3f2fa21c49782 Mon Sep 17 00:00:00 2001 From: neoarz Date: Wed, 7 Jan 2026 21:36:47 -0500 Subject: [PATCH] feat: image support --- Cargo.lock | 938 +++++++++++++++++++++++++++++++++++++++++++- Cargo.toml | 2 + assets/logo.png | Bin 0 -> 137002 bytes src/helpers/host.rs | 1 - src/main.rs | 85 ++-- src/output/image.rs | 203 ++++++++++ src/output/mod.rs | 1 + 7 files changed, 1183 insertions(+), 47 deletions(-) create mode 100644 assets/logo.png create mode 100644 src/output/image.rs diff --git a/Cargo.lock b/Cargo.lock index 49511af..5a696bd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,12 +2,129 @@ # It is not intended for manual editing. version = 4 +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "aligned" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee4508988c62edf04abd8d92897fca0c2995d907ce1dfeaf369dac3716a40685" +dependencies = [ + "as-slice", +] + +[[package]] +name = "aligned-vec" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc890384c8602f339876ded803c97ad529f3842aba97f6392b3dba0dd171769b" +dependencies = [ + "equator", +] + +[[package]] +name = "anyhow" +version = "1.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" + +[[package]] +name = "arbitrary" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" + +[[package]] +name = "arg_enum_proc_macro" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "as-slice" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "516b6b4f0e40d50dcda9365d53964ec74560ad4284da2e7fc97122cd83174516" +dependencies = [ + "stable_deref_trait", +] + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "av-scenechange" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f321d77c20e19b92c39e7471cf986812cbb46659d2af674adc4331ef3f18394" +dependencies = [ + "aligned", + "anyhow", + "arg_enum_proc_macro", + "arrayvec", + "log", + "num-rational", + "num-traits", + "pastey", + "rayon", + "thiserror", + "v_frame", + "y4m", +] + +[[package]] +name = "av1-grain" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cfddb07216410377231960af4fcab838eaa12e013417781b78bd95ee22077f8" +dependencies = [ + "anyhow", + "arrayvec", + "log", + "nom", + "num-rational", + "v_frame", +] + +[[package]] +name = "avif-serialize" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47c8fbc0f831f4519fe8b810b6a7a91410ec83031b8233f730a0480029f6a23f" +dependencies = [ + "arrayvec", +] + [[package]] name = "base64" version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "bit_field" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6" + [[package]] name = "bitflags" version = "1.3.2" @@ -20,6 +137,15 @@ version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +[[package]] +name = "bitstream-io" +version = "4.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60d4bd9d1db2c6bdf285e223a7fa369d5ce98ec767dec949c6ca62863ce61757" +dependencies = [ + "core2", +] + [[package]] name = "block2" version = "0.6.2" @@ -29,12 +155,36 @@ dependencies = [ "objc2", ] +[[package]] +name = "built" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4ad8f11f288f48ca24471bbd51ac257aaeaaa07adae295591266b792902ae64" + +[[package]] +name = "bumpalo" +version = "3.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" + +[[package]] +name = "bytemuck" +version = "1.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" + [[package]] name = "byteorder" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + [[package]] name = "cc" version = "1.2.51" @@ -42,18 +192,81 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a0aeaff4ff1a90589618835a598e545176939b97874f7abc7851caa0618f203" dependencies = [ "find-msvc-tools", + "jobserver", + "libc", "shlex", ] +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + [[package]] name = "colored" version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e" dependencies = [ - "windows-sys", + "windows-sys 0.59.0", ] +[[package]] +name = "core2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" +dependencies = [ + "memchr", +] + +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + [[package]] name = "cursor-icon" version = "1.2.0" @@ -106,6 +319,32 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + +[[package]] +name = "equator" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4711b213838dfee0117e3be6ac926007d7f433d7bbe33595975d4190cb07e6fc" +dependencies = [ + "equator-macro", +] + +[[package]] +name = "equator-macro" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "equivalent" version = "1.0.2" @@ -119,7 +358,51 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "exr" +version = "1.74.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4300e043a56aa2cb633c01af81ca8f699a321879a7854d3896a0ba89056363be" +dependencies = [ + "bit_field", + "half", + "lebe", + "miniz_oxide", + "rayon-core", + "smallvec", + "zune-inflate", +] + +[[package]] +name = "fax" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f05de7d48f37cd6730705cbca900770cab77a89f413d23e100ad7fad7795a0ab" +dependencies = [ + "fax_derive", +] + +[[package]] +name = "fax_derive" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", ] [[package]] @@ -128,6 +411,16 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "645cbb3a84e60b7531617d5ae4e57f7e27308f6445f5abf653209ea76dec8dff" +[[package]] +name = "flate2" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + [[package]] name = "fxhash" version = "0.2.1" @@ -137,6 +430,39 @@ dependencies = [ "byteorder", ] +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasip2", +] + +[[package]] +name = "gif" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5df2ba84018d80c213569363bdcd0c64e6933c67fe4c1d60ecf822971a3c35e" +dependencies = [ + "color_quant", + "weezl", +] + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + [[package]] name = "hashbrown" version = "0.16.1" @@ -144,27 +470,113 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" [[package]] -name = "indexmap" -version = "2.12.1" +name = "image" +version = "0.25.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" +checksum = "e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a" +dependencies = [ + "bytemuck", + "byteorder-lite", + "color_quant", + "exr", + "gif", + "image-webp", + "moxcms", + "num-traits", + "png", + "qoi", + "ravif", + "rayon", + "rgb", + "tiff", + "zune-core 0.5.0", + "zune-jpeg 0.5.8", +] + +[[package]] +name = "image-webp" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3" +dependencies = [ + "byteorder-lite", + "quick-error", +] + +[[package]] +name = "imgref" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c5cedc30da3a610cac6b4ba17597bdf7152cf974e8aab3afb3d54455e371c8" + +[[package]] +name = "indexmap" +version = "2.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", "hashbrown", ] +[[package]] +name = "interpolate_name" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" +[[package]] +name = "jobserver" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +dependencies = [ + "getrandom", + "libc", +] + +[[package]] +name = "lebe" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a79a3332a6609480d7d0c9eab957bca6b455b91bb84e66d19f5ff66294b85b8" + [[package]] name = "libc" version = "0.2.179" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c5a2d376baa530d1238d133232d15e239abad80d05838b4b59354e5268af431f" +[[package]] +name = "libfuzzer-sys" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5037190e1f70cbeef565bd267599242926f724d3b8a9f510fd7e0b540cfa4404" +dependencies = [ + "arbitrary", + "cc", +] + [[package]] name = "linux-raw-sys" version = "0.11.0" @@ -177,6 +589,25 @@ version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +[[package]] +name = "loop9" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062" +dependencies = [ + "imgref", +] + +[[package]] +name = "maybe-rayon" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519" +dependencies = [ + "cfg-if", + "rayon", +] + [[package]] name = "memchr" version = "2.7.6" @@ -192,12 +623,34 @@ dependencies = [ "libc", ] +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "moxcms" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac9557c559cd6fc9867e122e20d2cbefc9ca29d80d027a8e39310920ed2f0a97" +dependencies = [ + "num-traits", + "pxfm", +] + [[package]] name = "neo64fetch" version = "0.1.0" dependencies = [ + "base64", "colored", "display-info", + "image", "libc", "objc2", "objc2-app-kit", @@ -206,6 +659,27 @@ dependencies = [ "sysinfo", ] +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "nom" +version = "8.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" +dependencies = [ + "memchr", +] + +[[package]] +name = "noop_proc_macro" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" + [[package]] name = "ntapi" version = "0.4.2" @@ -215,12 +689,62 @@ dependencies = [ "winapi", ] +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + [[package]] name = "num-conv" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + [[package]] name = "objc2" version = "0.6.3" @@ -399,6 +923,24 @@ dependencies = [ "objc2-foundation", ] +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "pastey" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35fb2e5f958ec131621fdd531e9fc186ed768cbe395337403ae56c17a74c68ec" + [[package]] name = "pkg-config" version = "0.3.32" @@ -418,6 +960,19 @@ dependencies = [ "time", ] +[[package]] +name = "png" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0" +dependencies = [ + "bitflags 2.10.0", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -425,14 +980,66 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] -name = "proc-macro2" -version = "1.0.104" +name = "ppv-lite86" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9695f8df41bb4f3d222c95a67532365f569318332d03d5f3f67f37b20e6ebdf0" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "proc-macro2" +version = "1.0.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "535d180e0ecab6268a3e718bb9fd44db66bbbc256257165fc699dadf70d16fe7" dependencies = [ "unicode-ident", ] +[[package]] +name = "profiling" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773" +dependencies = [ + "profiling-procmacros", +] + +[[package]] +name = "profiling-procmacros" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b" +dependencies = [ + "quote", + "syn", +] + +[[package]] +name = "pxfm" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7186d3822593aa4393561d186d1393b3923e9d6163d3fbfd6e825e3e6cf3e6a8" +dependencies = [ + "num-traits", +] + +[[package]] +name = "qoi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "quick-error" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" + [[package]] name = "quick-xml" version = "0.30.0" @@ -453,13 +1060,124 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.42" +version = "1.0.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" +checksum = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a" dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rav1e" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43b6dd56e85d9483277cde964fd1bdb0428de4fec5ebba7540995639a21cb32b" +dependencies = [ + "aligned-vec", + "arbitrary", + "arg_enum_proc_macro", + "arrayvec", + "av-scenechange", + "av1-grain", + "bitstream-io", + "built", + "cfg-if", + "interpolate_name", + "itertools", + "libc", + "libfuzzer-sys", + "log", + "maybe-rayon", + "new_debug_unreachable", + "noop_proc_macro", + "num-derive", + "num-traits", + "paste", + "profiling", + "rand", + "rand_chacha", + "simd_helpers", + "thiserror", + "v_frame", + "wasm-bindgen", +] + +[[package]] +name = "ravif" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef69c1990ceef18a116855938e74793a5f7496ee907562bd0857b6ac734ab285" +dependencies = [ + "avif-serialize", + "imgref", + "loop9", + "quick-error", + "rav1e", + "rayon", + "rgb", +] + +[[package]] +name = "rayon" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "rgb" +version = "0.8.52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce" + [[package]] name = "rustix" version = "1.1.3" @@ -470,9 +1188,15 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys", + "windows-sys 0.61.2", ] +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + [[package]] name = "scopeguard" version = "1.2.0" @@ -514,6 +1238,21 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "simd-adler32" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" + +[[package]] +name = "simd_helpers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6" +dependencies = [ + "quote", +] + [[package]] name = "smallvec" version = "1.15.1" @@ -546,10 +1285,16 @@ dependencies = [ ] [[package]] -name = "syn" -version = "2.0.113" +name = "stable_deref_trait" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678faa00651c9eb72dd2020cbdf275d92eccb2400d568e419efdd64838145cb4" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "syn" +version = "2.0.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" dependencies = [ "proc-macro2", "quote", @@ -590,6 +1335,20 @@ dependencies = [ "syn", ] +[[package]] +name = "tiff" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af9605de7fee8d9551863fd692cce7637f548dbd9db9180fcc07ccc6d26c336f" +dependencies = [ + "fax", + "flate2", + "half", + "quick-error", + "weezl", + "zune-jpeg 0.4.21", +] + [[package]] name = "time" version = "0.3.44" @@ -627,6 +1386,71 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +[[package]] +name = "v_frame" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "666b7727c8875d6ab5db9533418d7c764233ac9c0cff1d469aec8fa127597be2" +dependencies = [ + "aligned-vec", + "num-traits", + "wasm-bindgen", +] + +[[package]] +name = "wasip2" +version = "1.0.1+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4" +dependencies = [ + "unicode-ident", +] + [[package]] name = "wayland-backend" version = "0.3.12" @@ -745,6 +1569,12 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "weezl" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" + [[package]] name = "widestring" version = "1.2.1" @@ -963,6 +1793,15 @@ dependencies = [ "windows-targets", ] +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link 0.2.1", +] + [[package]] name = "windows-targets" version = "0.52.6" @@ -1045,6 +1884,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "wit-bindgen" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" + [[package]] name = "xcb" version = "1.7.0" @@ -1067,3 +1912,68 @@ name = "xkeysym" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" + +[[package]] +name = "y4m" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5a4b21e1a62b67a2970e6831bc091d7b87e119e7f9791aef9702e3bef04448" + +[[package]] +name = "zerocopy" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668f5168d10b9ee831de31933dc111a459c97ec93225beb307aed970d1372dfd" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zune-core" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" + +[[package]] +name = "zune-core" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "111f7d9820f05fd715df3144e254d6fc02ee4088b0644c0ffd0efc9e6d9d2773" + +[[package]] +name = "zune-inflate" +version = "0.2.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "zune-jpeg" +version = "0.4.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713" +dependencies = [ + "zune-core 0.4.12", +] + +[[package]] +name = "zune-jpeg" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35aee689668bf9bd6f6f3a6c60bb29ba1244b3b43adfd50edd554a371da37d5" +dependencies = [ + "zune-core 0.5.0", +] diff --git a/Cargo.toml b/Cargo.toml index d234f04..f3e33fb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,9 +6,11 @@ edition = "2024" [dependencies] colored = "3.0.0" display-info = "0.5.7" +image = "0.25.9" libc = "0.2.179" objc2 = "0.6.3" objc2-app-kit = "0.3.2" objc2-foundation = "0.3.2" plist = "1.8.0" sysinfo = "0.37.2" +base64 = "0.22.1" diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d7abad68dfa36890b304beebcf0206aa8ddac0d0 GIT binary patch literal 137002 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
%MY*%e;2fq&8W%IfgSUZvu{Cf7gPagSl#Y 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

kao?67;%5;C4j1s;H zP=R~%9j)N?db%2l=3Rs92&*SBBrGOT9k&JCReuWqH_dUAE$+$bV<}=4U9_ ?$D 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 Option { "15,10" => "MacBook Pro (14-inch, M3 Max, 2023)", "15,8" => "MacBook Pro (14-inch, M3 Pro, 2023)", "15,6" | "15,7" => "MacBook Pro (16-inch, M2 Max, 2023)", - "15,4" | "15,5" => "MacBook Pro (16-inch, M2 Pro, 2023)", "15,3" => "MacBook Pro (14-inch, M2 Max, 2023)", "14,10" | "14,6" => "MacBook Pro (16-inch, M2 Pro/Max, 2023)", "14,9" | "14,5" => "MacBook Pro (14-inch, M2 Pro/Max, 2023)", diff --git a/src/main.rs b/src/main.rs index 86b3c87..7e2f6bc 100644 --- a/src/main.rs +++ b/src/main.rs @@ -7,7 +7,7 @@ use sysinfo::System; mod helpers; mod output; -use output::colors; +use output::{colors, image}; struct Stats { // Neoarz[at]Mac @@ -38,14 +38,15 @@ struct Stats { locale: String, // Extra fields - architecture: String, + architecture: String, // appended to os } -fn main() { + +fn get_system_stats() -> Stats { let mut sys = System::new_all(); sys.refresh_all(); - let stats = Stats { + Stats { hostname: System::host_name().unwrap_or_else(|| "".to_owned()), // This would be the real username of the system but I just want to print out Neoarz for my case // Uncoment the line below to use the real username @@ -78,40 +79,60 @@ fn main() { ip: helpers::ip::get_ip_info(), battery: helpers::battery::get_battery_info(), locale: helpers::locale::get_locale_info(), - }; + } +} + + +fn print_stats(stats: &Stats, offset: usize) { + let mut lines = Vec::new(); // user@host - println!("{}", colors::title(&stats.username, &stats.hostname)); + lines.push(colors::title(&stats.username, &stats.hostname)); // separator - println!("{}", colors::separator(stats.username.len() + stats.hostname.len() + 1)); + lines.push(colors::separator(stats.username.len() + stats.hostname.len() + 1)); // info - println!("{}", colors::info("OS", &format!("{} {}", stats.os, stats.architecture))); - println!("{}", colors::info("Host", &stats.host)); - println!("{}", colors::info("Kernel", &stats.kernel)); - println!("{}", colors::info("Uptime", &stats.uptime)); - println!("{}", colors::info("Packages", &stats.packages)); - println!("{}", colors::info("Shell", &stats.shell)); - println!("{}", colors::info("Display", &stats.display)); - println!("{}", colors::info("DE", &stats.desktop_env)); - println!("{}", colors::info("WM", &stats.window_manager)); - println!("{}", colors::info("WM Theme", &stats.window_manager_theme)); - println!("{}", colors::info("Font", &stats.font)); - println!("{}", colors::info("Cursor", &stats.cursor)); - println!("{}", colors::info("Terminal", &stats.terminal)); - println!("{}", colors::info("Terminal Font", &stats.terminal_font)); - println!("{}", colors::info("CPU", &stats.cpu)); - println!("{}", colors::info("GPU", &stats.gpu)); - println!("{}", colors::info("Memory", &stats.memory)); - println!("{}", colors::info("Swap", &stats.swap)); - println!("{}", colors::info("Disk (/)", &stats.storage)); - // Don't wanna show print this lolol - // println!("{}", colors::info("Local IP", &stats.ip)); - println!("{}", colors::info(&format!("Battery {}", stats.battery.0), &stats.battery.1)); - println!("{}", colors::info("Locale", &stats.locale)); + lines.push(colors::info("OS", &format!("{} {}", stats.os, stats.architecture))); + lines.push(colors::info("Host", &stats.host)); + lines.push(colors::info("Kernel", &stats.kernel)); + lines.push(colors::info("Uptime", &stats.uptime)); + lines.push(colors::info("Packages", &stats.packages)); + lines.push(colors::info("Shell", &stats.shell)); + lines.push(colors::info("Display", &stats.display)); + // lines.push(colors::info("DE", &stats.desktop_env)); + // lines.push(colors::info("WM", &stats.window_manager)); + // lines.push(colors::info("WM Theme", &stats.window_manager_theme)); + lines.push(colors::info("Font", &stats.font)); + lines.push(colors::info("Cursor", &stats.cursor)); + lines.push(colors::info("Terminal", &stats.terminal)); + lines.push(colors::info("Terminal Font", &stats.terminal_font)); + lines.push(colors::info("CPU", &stats.cpu)); + lines.push(colors::info("GPU", &stats.gpu)); + lines.push(colors::info("Memory", &stats.memory)); + lines.push(colors::info("Swap", &stats.swap)); + lines.push(colors::info("Disk (/)", &stats.storage)); + // lines.push(colors::info("Local IP", &stats.ip)); + lines.push(colors::info(&format!("Battery {}", stats.battery.0), &stats.battery.1)); + // lines.push(colors::info("Locale", &stats.locale)); // color blocks - println!(); - println!("{}", colors::color_blocks()); + lines.push(String::new()); + for line in colors::color_blocks().lines() { + lines.push(line.to_string()); + } + + for line in lines { + image::offset_println!(offset, "{}", line); + } } + + + +fn main() { + let stats = get_system_stats(); + let (offset, img_rows) = image::print_image_and_setup("assets/logo.png", 700); + // ^^^ size of the image change it here + print_stats(&stats, offset); + image::finish_printing(offset, 24, img_rows); +} \ No newline at end of file diff --git a/src/output/image.rs b/src/output/image.rs new file mode 100644 index 0000000..fe409c3 --- /dev/null +++ b/src/output/image.rs @@ -0,0 +1,203 @@ +// Kitty Graphics Protocol implementation for terminal image display +// +// Inspired ~~stolen~~ by swiftfetch's implementation: +// https://github.com/Ly-sec/swiftfetch/blob/main/src/display.rs +// +// Images are base64-encoded and chunked copying what swiftfetch does +// Compatible terminals: Any terminals which use Kitty protocol, like Ghostty, Kitty, Wezterm + +use base64::{engine::general_purpose::STANDARD as BASE64, Engine}; +use image::{GenericImageView, ImageFormat}; +use libc::{ioctl, winsize, STDOUT_FILENO, TIOCGWINSZ}; +use std::env; +use std::io::{Cursor, Write}; +use std::mem; +use std::path::Path; + +// Terminal cell metrics fallback values (pixels per character cell) +// See: https://github.com/Ly-sec/swiftfetch/blob/main/src/display.rs#L417-L418 +const DEFAULT_CHAR_WIDTH: f32 = 10.0; +const DEFAULT_CHAR_HEIGHT: f32 = 20.0; + +// Horizontal spacing between image and text (in terminal columns) +// See: https://github.com/Ly-sec/swiftfetch/blob/main/src/display.rs#L419 +const DEFAULT_GAP_COLUMNS: usize = 2; + +// Maximum bytes per Kitty protocol chunk +// See: https://github.com/Ly-sec/swiftfetch/blob/main/src/display.rs#L557 +const CHUNK_SIZE: usize = 4096; + +// Detects Kitty Graphics Protocol support via environment variables. +// +// See: https://github.com/Ly-sec/swiftfetch/blob/main/src/display.rs#L422-L460 +// +// Returns false for unsupported terminals +// Right now it just doenst print anything +pub fn terminal_supports_kitty() -> bool { + if matches!( + env::var("NEO64FETCH_FORCE_KITTY"), + Ok(v) if v == "1" || v.eq_ignore_ascii_case("true") + ) { + return true; + } + + if env::var("KITTY_WINDOW_ID").is_ok() { return true; } + if env::var("WEZTERM_PANE").is_ok() { return true; } + + if let Ok(term_program) = env::var("TERM_PROGRAM") { + let t = term_program.to_lowercase(); + if t.contains("kitty") || t.contains("wezterm") || t.contains("ghostty") { + return true; + } + } + + if let Ok(term) = env::var("TERM") { + if term.to_lowercase().contains("kitty") { return true; } + } + + false +} + +// Queries terminal for character cell dimensions using ioctl(TIOCGWINSZ). +// +// See: https://github.com/Ly-sec/swiftfetch/blob/main/src/display.rs#L462-L477 +fn terminal_cell_metrics() -> (f32, f32) { + unsafe { + let mut ws: winsize = mem::zeroed(); + if ioctl(STDOUT_FILENO, TIOCGWINSZ, &mut ws) == 0 + && ws.ws_col > 0 && ws.ws_row > 0 + && ws.ws_xpixel > 0 && ws.ws_ypixel > 0 + { + return ( + ws.ws_xpixel as f32 / ws.ws_col as f32, + ws.ws_ypixel as f32 / ws.ws_row as f32, + ); + } + } + (DEFAULT_CHAR_WIDTH, DEFAULT_CHAR_HEIGHT) +} + +// Loads, resizes, and displays an image via Kitty Graphics Protocol. +// Loading Logic: +// See: https://github.com/Ly-sec/swiftfetch/blob/main/src/display.rs#L479-L527 +// +// Resize logic: +// See: https://github.com/Ly-sec/swiftfetch/blob/main/src/display.rs#L530-L545 +// +// Transmission logic: +// See: https://github.com/Ly-sec/swiftfetch/blob/main/src/display.rs#L547-L578 +// +// Returns (column_offset, total_rows) for side-by-side text printing. +// Returns (0, 0) on failure; unsupported terminal or image load error (skill issue) +pub fn print_image_and_setup(path: &str, target_height: u32) -> (usize, usize) { + if !terminal_supports_kitty() { + return (0, 0); + } + + // Load and proportionally resize to target height + let image = match image::open(Path::new(path)) { + Ok(img) => { + let ratio = target_height as f32 / img.height() as f32; + let w = ((img.width() as f32 * ratio).round().max(1.0)) as u32; + img.resize_exact(w, target_height, image::imageops::FilterType::Lanczos3) + } + Err(_) => return (0, 0), + }; + + let (width, height) = image.dimensions(); + + // Kitty protocol requires PNG format, even for JPEG/WebP sources + // See: https://github.com/Ly-sec/swiftfetch/blob/main/src/display.rs#L495-L501 + let mut png_bytes = Vec::new(); + if image.write_to(&mut Cursor::new(&mut png_bytes), ImageFormat::Png).is_err() { + return (0, 0); + } + + let encoded = BASE64.encode(&png_bytes); + let mut output = String::new(); + let mut start = 0; + let mut first = true; + + while start < encoded.len() { + let end = (start + CHUNK_SIZE).min(encoded.len()); + let chunk = &encoded[start..end]; + let more = if end < encoded.len() { 1 } else { 0 }; + + if first { + output.push_str(&format!("\x1b_Ga=T,f=100,s={},v={},m={};", width, height, more)); + first = false; + } else { + output.push_str(&format!("\x1b_Gm={};", more)); + } + output.push_str(chunk); + output.push_str("\x1b\\"); + start = end; + } + + // Convert pixel dimensions to terminal columns/rows + // See: https://github.com/Ly-sec/swiftfetch/blob/main/src/display.rs#L503-L511 + let (char_w, char_h) = terminal_cell_metrics(); + let cols = ((width as f32 / char_w).ceil() as usize).max(1) + DEFAULT_GAP_COLUMNS; + let rows = ((height as f32 / char_h).ceil() as usize).max(1); + let padding_top = 0; + let total_rows = rows + padding_top; + + for _ in 0..total_rows { + println!(); + } + + // use cursor positioning to place image + // swiftfetch uses a different approach with save/restore but lowk didnt work for me + // https://github.com/Ly-sec/swiftfetch/blob/main/src/display.rs#L225-L253 + print!("\x1b[{}A", total_rows); + + if padding_top > 0 { + print!("\x1b[{}B", padding_top); + } + + print!("\x1b[s"); + print!("{}", output); + std::io::stdout().flush().ok(); + + print!("\x1b[u"); + + if padding_top > 0 { + print!("\x1b[{}A", padding_top); + } + std::io::stdout().flush().ok(); + + (cols, total_rows) +} + +// Prints text at a horizontal offset for side-by-side layout with image. +// +// swiftfetch uses space padding instead of cursor movement: +// See: https://github.com/Ly-sec/swiftfetch/blob/main/src/display.rs#L236-L245 +pub fn print_with_offset(offset: usize, text: &str) { + if offset > 0 { + print!("\r\x1b[{}C{}\n", offset, text); + } else { + println!("{}", text); + } +} + +// Fills remaining vertical space if text is shorter than image height. +// +// Called after all info lines are printed to make sure the image is not cut off. +// See: https://github.com/Ly-sec/swiftfetch/blob/main/src/display.rs#L338-L348 +pub fn finish_printing(offset: usize, lines_printed: usize, image_rows: usize) { + if offset > 0 && lines_printed < image_rows { + for _ in 0..(image_rows - lines_printed) { + println!(); + } + } +} + +#[macro_export] +macro_rules! offset_println { + ($offset:expr, $($arg:tt)*) => { + $crate::output::image::print_with_offset($offset, &format!($($arg)*)) + }; +} + +pub use offset_println; diff --git a/src/output/mod.rs b/src/output/mod.rs index 40fd5c1..f4c0776 100644 --- a/src/output/mod.rs +++ b/src/output/mod.rs @@ -1 +1,2 @@ pub mod colors; +pub mod image;