├── .gitignore ├── screenshots └── demo.png ├── .gitmodules ├── Cargo.toml ├── README.md ├── src └── main.rs └── Cargo.lock /.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | *.swp 3 | *.bk 4 | -------------------------------------------------------------------------------- /screenshots/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pierrechevalier83/rust-dwm-status/HEAD/screenshots/demo.png -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "aur/rust-dwm-status"] 2 | path = aur/rust-dwm-status 3 | url = ssh://aur@aur.archlinux.org/rust-dwm-status.git 4 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "rust-dwm-status" 3 | description = "A status bar for tiling window managers with pretty unicode symbols written in rust" 4 | version = "0.5.0" 5 | authors = ["Pierre Chevalier "] 6 | license = "MIT" 7 | 8 | [dependencies] 9 | chan = "0.1.19" 10 | chan-signal = "0.2.0" 11 | chrono = "0.3.0" 12 | notify-rust = "3.4" 13 | systemstat = "0.1.2" 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | rust-dwm-status 2 | --------------- 3 | 4 | A status bar for dwm. 5 | Displays system information such as battery status (on laptops), ram usage, cpu load, date and time. 6 | Handles system notifications. 7 | 8 | - Freely inspired from [gods](https://github.com/schachmat/gods). 9 | - We use [systemstat](https://github.com/myfreeweb/systemstat) for obtaining necessary info from linux system files. 10 | - We use [notify-rust](https://github.com/hoodie/notify-rust) for handling notifications. 11 | 12 | ![alt tag](https://github.com/pierrechevalier83/rust-dwm-status/blob/master/screenshots/demo.png) 13 | 14 | Dependencies 15 | ------------ 16 | - xsetroot 17 | - rust 18 | - A font that supports unicode characters 19 | 20 | Installation 21 | ------------ 22 | - On Arch Linux: 23 | `yaourt -S rust-dwm-status` 24 | 25 | - With cargo 26 | `cargo install rust-dwm-status` 27 | 28 | Usage 29 | ----- 30 | Either run directly or add to your .xinitrc: 31 | `rust-dwm-status &` 32 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | use std::process::Command; 2 | use std::time::Duration; 3 | use std::thread; 4 | 5 | #[macro_use] 6 | extern crate chan; 7 | extern crate chan_signal; 8 | 9 | extern crate chrono; 10 | extern crate notify_rust; 11 | extern crate systemstat; 12 | 13 | use chan_signal::Signal; 14 | use systemstat::{Platform, System}; 15 | 16 | fn plugged(sys: &System) -> String { 17 | if let Ok(plugged) = sys.on_ac_power() { 18 | if plugged { 19 | "🔌 ✓".to_string() 20 | } else { 21 | "🔌 ✘".to_string() 22 | } 23 | } else { 24 | "🔌".to_string() 25 | } 26 | } 27 | 28 | fn battery(sys: &System) -> String { 29 | if let Ok(bat) = sys.battery_life() { 30 | format!("🔋 {:.1}%", bat.remaining_capacity * 100.) 31 | } else { 32 | "".to_string() 33 | } 34 | } 35 | 36 | fn ram(sys: &System) -> String { 37 | if let Ok(mem) = sys.memory() { 38 | let used = mem.total - mem.free; 39 | format!("▯ {}", used) 40 | } else { 41 | "▯ _".to_string() 42 | } 43 | } 44 | 45 | fn cpu(sys: &System) -> String { 46 | if let Ok(load) = sys.load_average() { 47 | format!("⚙ {:.2}", load.one) 48 | } else { 49 | "⚙ _".to_string() 50 | } 51 | } 52 | 53 | fn date() -> String { 54 | chrono::Local::now().format("📆 %a, %d %h ⸱ 🕓 %R").to_string() 55 | } 56 | 57 | fn separated(s: String) -> String { 58 | if s == "" { s } else { s + " ⸱ " } 59 | } 60 | 61 | fn status(sys: &System) -> String { 62 | separated(plugged(sys)) + &separated(battery(sys)) + &separated(ram(sys)) + 63 | &separated(cpu(sys)) + &date() 64 | } 65 | 66 | fn update_status(status: &String) { 67 | // Don't panic if we fail! We'll do better next time! 68 | let _ = Command::new("xsetroot").arg("-name").arg(status).output(); 69 | } 70 | 71 | fn run(_sdone: chan::Sender<()>) { 72 | use notify_rust::server::NotificationServer; 73 | let mut server = NotificationServer::new(); 74 | let sys = System::new(); 75 | 76 | let (sender, receiver) = std::sync::mpsc::channel(); 77 | std::thread::spawn(move || { 78 | server.start(|notification| sender.send(notification.clone()).unwrap()) 79 | }); 80 | let mut banner = String::new(); 81 | loop { 82 | let received = receiver.try_recv(); 83 | if received.is_ok() { 84 | let notification = received.unwrap(); 85 | banner = format!("{} {}", notification.summary, notification.body); 86 | update_status(&banner); 87 | let max_timeout = 60_000; // milliseconds (1 minute) 88 | let mut t = notification.timeout.into(); 89 | if t > max_timeout || t < 0 { 90 | t = max_timeout; 91 | } 92 | thread::sleep(Duration::from_millis(t as u64)); 93 | } 94 | let next_banner = status(&sys); 95 | if next_banner != banner { 96 | banner = next_banner; 97 | update_status(&banner); 98 | } 99 | thread::sleep(Duration::from_millis(500)); 100 | } 101 | } 102 | 103 | fn main() { 104 | // Signal gets a value when the OS sent a INT or TERM signal. 105 | let signal = chan_signal::notify(&[Signal::INT, Signal::TERM]); 106 | // When our work is complete, send a sentinel value on `sdone`. 107 | let (sdone, rdone) = chan::sync(0); 108 | // Run work. 109 | std::thread::spawn(move || run(sdone)); 110 | 111 | // Wait for a signal or for work to be done. 112 | chan_select! { 113 | signal.recv() -> signal => { 114 | update_status(&format!("rust-dwm-status stopped with signal {:?}.", signal)); 115 | }, 116 | rdone.recv() => { 117 | update_status(&"rust-dwm-status: done.".to_string()); 118 | } 119 | } 120 | } 121 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | [root] 2 | name = "rust-dwm-status" 3 | version = "0.5.0" 4 | dependencies = [ 5 | "chan 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", 6 | "chan-signal 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 7 | "chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 8 | "notify-rust 3.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 9 | "systemstat 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 10 | ] 11 | 12 | [[package]] 13 | name = "backtrace" 14 | version = "0.3.2" 15 | source = "registry+https://github.com/rust-lang/crates.io-index" 16 | dependencies = [ 17 | "backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", 18 | "cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 19 | "dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 20 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 21 | "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", 22 | "rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 23 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 24 | ] 25 | 26 | [[package]] 27 | name = "backtrace-sys" 28 | version = "0.1.11" 29 | source = "registry+https://github.com/rust-lang/crates.io-index" 30 | dependencies = [ 31 | "gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", 32 | "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", 33 | ] 34 | 35 | [[package]] 36 | name = "bit-set" 37 | version = "0.4.0" 38 | source = "registry+https://github.com/rust-lang/crates.io-index" 39 | dependencies = [ 40 | "bit-vec 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", 41 | ] 42 | 43 | [[package]] 44 | name = "bit-vec" 45 | version = "0.4.3" 46 | source = "registry+https://github.com/rust-lang/crates.io-index" 47 | 48 | [[package]] 49 | name = "block" 50 | version = "0.1.6" 51 | source = "registry+https://github.com/rust-lang/crates.io-index" 52 | 53 | [[package]] 54 | name = "bytesize" 55 | version = "0.1.3" 56 | source = "registry+https://github.com/rust-lang/crates.io-index" 57 | 58 | [[package]] 59 | name = "cfg-if" 60 | version = "0.1.1" 61 | source = "registry+https://github.com/rust-lang/crates.io-index" 62 | 63 | [[package]] 64 | name = "chan" 65 | version = "0.1.19" 66 | source = "registry+https://github.com/rust-lang/crates.io-index" 67 | dependencies = [ 68 | "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", 69 | ] 70 | 71 | [[package]] 72 | name = "chan-signal" 73 | version = "0.2.0" 74 | source = "registry+https://github.com/rust-lang/crates.io-index" 75 | dependencies = [ 76 | "bit-set 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 77 | "chan 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", 78 | "lazy_static 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", 79 | "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", 80 | ] 81 | 82 | [[package]] 83 | name = "chrono" 84 | version = "0.3.0" 85 | source = "registry+https://github.com/rust-lang/crates.io-index" 86 | dependencies = [ 87 | "num 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", 88 | "time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", 89 | ] 90 | 91 | [[package]] 92 | name = "chrono" 93 | version = "0.4.0" 94 | source = "registry+https://github.com/rust-lang/crates.io-index" 95 | dependencies = [ 96 | "num 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", 97 | "time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", 98 | ] 99 | 100 | [[package]] 101 | name = "dbghelp-sys" 102 | version = "0.2.0" 103 | source = "registry+https://github.com/rust-lang/crates.io-index" 104 | dependencies = [ 105 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 106 | "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 107 | ] 108 | 109 | [[package]] 110 | name = "dbus" 111 | version = "0.4.1" 112 | source = "registry+https://github.com/rust-lang/crates.io-index" 113 | dependencies = [ 114 | "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", 115 | "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 116 | ] 117 | 118 | [[package]] 119 | name = "error-chain" 120 | version = "0.10.0" 121 | source = "registry+https://github.com/rust-lang/crates.io-index" 122 | dependencies = [ 123 | "backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 124 | ] 125 | 126 | [[package]] 127 | name = "gcc" 128 | version = "0.3.51" 129 | source = "registry+https://github.com/rust-lang/crates.io-index" 130 | 131 | [[package]] 132 | name = "kernel32-sys" 133 | version = "0.2.2" 134 | source = "registry+https://github.com/rust-lang/crates.io-index" 135 | dependencies = [ 136 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 137 | "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 138 | ] 139 | 140 | [[package]] 141 | name = "lazy_static" 142 | version = "0.2.4" 143 | source = "registry+https://github.com/rust-lang/crates.io-index" 144 | 145 | [[package]] 146 | name = "libc" 147 | version = "0.2.21" 148 | source = "registry+https://github.com/rust-lang/crates.io-index" 149 | 150 | [[package]] 151 | name = "mac-notification-sys" 152 | version = "0.1.3" 153 | source = "registry+https://github.com/rust-lang/crates.io-index" 154 | dependencies = [ 155 | "chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 156 | "error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", 157 | "gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", 158 | "objc-foundation 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 159 | ] 160 | 161 | [[package]] 162 | name = "malloc_buf" 163 | version = "0.0.6" 164 | source = "registry+https://github.com/rust-lang/crates.io-index" 165 | dependencies = [ 166 | "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", 167 | ] 168 | 169 | [[package]] 170 | name = "notify-rust" 171 | version = "3.4.0" 172 | source = "registry+https://github.com/rust-lang/crates.io-index" 173 | dependencies = [ 174 | "dbus 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", 175 | "error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", 176 | "mac-notification-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 177 | ] 178 | 179 | [[package]] 180 | name = "num" 181 | version = "0.1.37" 182 | source = "registry+https://github.com/rust-lang/crates.io-index" 183 | dependencies = [ 184 | "num-integer 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)", 185 | "num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)", 186 | "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", 187 | ] 188 | 189 | [[package]] 190 | name = "num-integer" 191 | version = "0.1.33" 192 | source = "registry+https://github.com/rust-lang/crates.io-index" 193 | dependencies = [ 194 | "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", 195 | ] 196 | 197 | [[package]] 198 | name = "num-iter" 199 | version = "0.1.33" 200 | source = "registry+https://github.com/rust-lang/crates.io-index" 201 | dependencies = [ 202 | "num-integer 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)", 203 | "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", 204 | ] 205 | 206 | [[package]] 207 | name = "num-traits" 208 | version = "0.1.37" 209 | source = "registry+https://github.com/rust-lang/crates.io-index" 210 | 211 | [[package]] 212 | name = "objc" 213 | version = "0.2.2" 214 | source = "registry+https://github.com/rust-lang/crates.io-index" 215 | dependencies = [ 216 | "malloc_buf 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)", 217 | ] 218 | 219 | [[package]] 220 | name = "objc-foundation" 221 | version = "0.1.1" 222 | source = "registry+https://github.com/rust-lang/crates.io-index" 223 | dependencies = [ 224 | "block 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", 225 | "objc 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 226 | "objc_id 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 227 | ] 228 | 229 | [[package]] 230 | name = "objc_id" 231 | version = "0.1.0" 232 | source = "registry+https://github.com/rust-lang/crates.io-index" 233 | dependencies = [ 234 | "objc 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 235 | ] 236 | 237 | [[package]] 238 | name = "pkg-config" 239 | version = "0.3.9" 240 | source = "registry+https://github.com/rust-lang/crates.io-index" 241 | 242 | [[package]] 243 | name = "rand" 244 | version = "0.3.15" 245 | source = "registry+https://github.com/rust-lang/crates.io-index" 246 | dependencies = [ 247 | "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", 248 | ] 249 | 250 | [[package]] 251 | name = "redox_syscall" 252 | version = "0.1.16" 253 | source = "registry+https://github.com/rust-lang/crates.io-index" 254 | 255 | [[package]] 256 | name = "rustc-demangle" 257 | version = "0.1.4" 258 | source = "registry+https://github.com/rust-lang/crates.io-index" 259 | 260 | [[package]] 261 | name = "systemstat" 262 | version = "0.1.2" 263 | source = "registry+https://github.com/rust-lang/crates.io-index" 264 | dependencies = [ 265 | "bytesize 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 266 | "chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 267 | "lazy_static 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", 268 | "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", 269 | "time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", 270 | ] 271 | 272 | [[package]] 273 | name = "time" 274 | version = "0.1.36" 275 | source = "registry+https://github.com/rust-lang/crates.io-index" 276 | dependencies = [ 277 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 278 | "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", 279 | "redox_syscall 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", 280 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 281 | ] 282 | 283 | [[package]] 284 | name = "winapi" 285 | version = "0.2.8" 286 | source = "registry+https://github.com/rust-lang/crates.io-index" 287 | 288 | [[package]] 289 | name = "winapi-build" 290 | version = "0.1.1" 291 | source = "registry+https://github.com/rust-lang/crates.io-index" 292 | 293 | [metadata] 294 | "checksum backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "72f9b4182546f4b04ebc4ab7f84948953a118bd6021a1b6a6c909e3e94f6be76" 295 | "checksum backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "3a0d842ea781ce92be2bf78a9b38883948542749640b8378b3b2f03d1fd9f1ff" 296 | "checksum bit-set 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9bf6104718e80d7b26a68fdbacff3481cfc05df670821affc7e9cbc1884400c" 297 | "checksum bit-vec 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "5b97c2c8e8bbb4251754f559df8af22fb264853c7d009084a576cdf12565089d" 298 | "checksum block 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" 299 | "checksum bytesize 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "16d794c5fe594cfa8fbe8ae274de4048176c69f2d9ac5e637166e73b71d460b8" 300 | "checksum cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c47d456a36ebf0536a6705c83c1cbbcb9255fbc1d905a6ded104f479268a29" 301 | "checksum chan 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)" = "f93bfe971116428a9066c1c3c69a09ae3ef69432f8418be28ab50f96783e6a50" 302 | "checksum chan-signal 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0f3bb6c3bc387004ad914f0c5b7f33ace8bf7604bbec35f228b1a017f52cd3a0" 303 | "checksum chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "158b0bd7d75cbb6bf9c25967a48a2e9f77da95876b858eadfabaa99cd069de6e" 304 | "checksum chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7c20ebe0b2b08b0aeddba49c609fe7957ba2e33449882cb186a180bc60682fa9" 305 | "checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850" 306 | "checksum dbus 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "58ec7b4cac6f79f36af1cd9cfdb9b935fc5a4e899f494ee03a3a6165f7d10b4b" 307 | "checksum error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8" 308 | "checksum gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)" = "120d07f202dcc3f72859422563522b66fe6463a4c513df062874daad05f85f0a" 309 | "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" 310 | "checksum lazy_static 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7291b1dd97d331f752620b02dfdbc231df7fc01bf282a00769e1cdb963c460dc" 311 | "checksum libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)" = "88ee81885f9f04bff991e306fea7c1c60a5f0f9e409e99f6b40e3311a3363135" 312 | "checksum mac-notification-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6a3639b6caa2db7443e5df80e12c450982f77fc3c140f53d6e48be91f965ea66" 313 | "checksum malloc_buf 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" 314 | "checksum notify-rust 3.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff5d5377df6eaac5ce767b4d8b5f8bdd426d0bb5bdd428d23e4cb30df5a06dd1" 315 | "checksum num 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "98b15ba84e910ea7a1973bccd3df7b31ae282bf9d8bd2897779950c9b8303d40" 316 | "checksum num-integer 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)" = "21e4df1098d1d797d27ef0c69c178c3fab64941559b290fcae198e0825c9c8b5" 317 | "checksum num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)" = "f7d1891bd7b936f12349b7d1403761c8a0b85a18b148e9da4429d5d102c1a41e" 318 | "checksum num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "e1cbfa3781f3fe73dc05321bed52a06d2d491eaa764c52335cf4399f046ece99" 319 | "checksum objc 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "877f30f37acef6749b1841cceab289707f211aecfc756553cd63976190e6cc2e" 320 | "checksum objc-foundation 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" 321 | "checksum objc_id 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e4730aa1c64d722db45f7ccc4113a3e2c465d018de6db4d3e7dfe031e8c8a297" 322 | "checksum pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903" 323 | "checksum rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "022e0636ec2519ddae48154b028864bdce4eaf7d35226ab8e65c611be97b189d" 324 | "checksum redox_syscall 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "8dd35cc9a8bdec562c757e3d43c1526b5c6d2653e23e2315065bc25556550753" 325 | "checksum rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3058a43ada2c2d0b92b3ae38007a2d0fa5e9db971be260e0171408a4ff471c95" 326 | "checksum systemstat 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5f83ce464592bfc22c3226a4595faca97e964939151a88a82dcca40290c8480b" 327 | "checksum time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)" = "211b63c112206356ef1ff9b19355f43740fc3f85960c598a93d3a3d3ba7beade" 328 | "checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" 329 | "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" 330 | --------------------------------------------------------------------------------