From de900d6521709c80cc6ecf9f3e6c59192de46c4b Mon Sep 17 00:00:00 2001 From: fedario Date: Wed, 27 Mar 2019 19:58:00 +0100 Subject: [PATCH 01/10] first steps --- src/blocks/sound.rs | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/blocks/sound.rs b/src/blocks/sound.rs index 34b9fde47f..f799d1d106 100644 --- a/src/blocks/sound.rs +++ b/src/blocks/sound.rs @@ -347,7 +347,7 @@ impl PulseAudioClient { // subscribe thread::spawn(move || { let connection = new_connection(send_result2); - + // subcribe for events connection.context.borrow_mut().set_subscribe_callback(Some(Box::new(PulseAudioClient::subscribe_callback))); connection.context.borrow_mut().subscribe( @@ -539,6 +539,10 @@ pub struct SoundConfig { #[serde(default = "SoundDriver::default")] pub driver: SoundDriver, + /// whether the this block specifies an audio input or output + #[serde(default = "Direction::default")] + pub direction: Direction, + /// ALSA / PulseAudio sound device name #[serde(default = "SoundConfig::default_name")] pub name: Option, @@ -566,6 +570,19 @@ impl Default for SoundDriver { } } +#[derive(Deserialize, Copy, Clone, Debug)] +#[serde(rename_all = "lowercase")] +pub enum Direction { + Input, + Output, +} + +impl Default for Direction { + fn default() -> Self { + Direction::Output + } +} + impl SoundConfig { fn default_name() -> Option { None @@ -635,7 +652,7 @@ impl ConfigBlock for Sound { "PulseAudio feature or driver disabled".into(), )) }; - + // prefere PulseAudio if available and selected, fallback to ALSA let device: Box = match pulseaudio_device { Ok(dev) => Box::new(dev), From 61d7718e3a9c41bdd3595bf396608038fc799b5e Mon Sep 17 00:00:00 2001 From: fedario Date: Thu, 28 Mar 2019 02:40:37 +0100 Subject: [PATCH 02/10] direction field seems to work --- Cargo.lock | 17 +-- src/blocks/sound.rs | 267 +++++++++++++++++++++++++++++++++++++------- 2 files changed, 236 insertions(+), 48 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9630139a6f..d9a555ceee 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -253,7 +253,7 @@ dependencies = [ "i3ipc 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "inotify 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libpulse-binding 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libpulse-binding 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "maildir 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "num 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", @@ -324,19 +324,20 @@ dependencies = [ [[package]] name = "libpulse-binding" -version = "2.2.1" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", - "libpulse-sys 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "libpulse-sys 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "libpulse-sys" -version = "1.3.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -794,8 +795,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c8f31047daa365f19be14b47c29df4f7c3b581832407daabe6ae77397619237d" "checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d" "checksum libdbus-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8720f9274907052cb50313f91201597868da9d625f8dd125f2aca5bddb7e83a1" -"checksum libpulse-binding 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "94cf8d18cd66838e8a2d049ea3b3ae6942e88ad007c2d593def703a1e7470e52" -"checksum libpulse-sys 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a5e1843312173214a21c7f7dabd0e2de467033355ed57366f64aadb2a288f47b" +"checksum libpulse-binding 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49e7378bffd76492e876a0afb9a016359379a6b5a859fecd039248f76ce719fb" +"checksum libpulse-sys 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dcac117c7e9fb50fe162d5fbc6b3818819bd173922f648fae017f913de68520" "checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" "checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" "checksum maildir 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "83d9b449b6ff23db5eda044963296380c74941ac9480fc629840d7405e436c73" diff --git a/src/blocks/sound.rs b/src/blocks/sound.rs index f799d1d106..cd0f184302 100644 --- a/src/blocks/sound.rs +++ b/src/blocks/sound.rs @@ -33,7 +33,17 @@ use pulse::mainloop::standard::Mainloop; #[cfg(feature = "pulseaudio")] use pulse::callbacks::ListResult; #[cfg(feature = "pulseaudio")] -use pulse::context::{Context, flags, State as PulseState, introspect::SinkInfo, introspect::ServerInfo, subscribe::Facility, subscribe::Operation as SubscribeOperation, subscribe::subscription_masks}; +use pulse::context::{ + Context, + flags, + State as PulseState, + introspect::SinkInfo, + introspect::SourceInfo, + introspect::ServerInfo, + subscribe::Facility, + subscribe::Operation as SubscribeOperation, + subscribe::subscription_masks +}; #[cfg(feature = "pulseaudio")] use pulse::proplist::{properties, Proplist}; #[cfg(feature = "pulseaudio")] @@ -181,6 +191,7 @@ struct PulseAudioClient { #[cfg(feature = "pulseaudio")] struct PulseAudioSoundDevice { name: Option, + direction: Direction, volume: Option, volume_avg: u32, muted: bool, @@ -193,22 +204,37 @@ struct PulseAudioSinkInfo { mute: bool, } +#[cfg(feature = "pulseaudio")] +#[derive(Debug)] +struct PulseAudioSourceInfo { + volume: ChannelVolumes, + mute: bool, +} + #[cfg(feature = "pulseaudio")] #[derive(Debug)] enum PulseAudioClientRequest { - GetDefaultDevice, + GetDefaultSink, GetSinkInfoByIndex(u32), GetSinkInfoByName(String), SetSinkVolumeByName(String, ChannelVolumes), SetSinkMuteByName(String, bool), + GetDefaultSource, + GetSourceInfoByIndex(u32), + GetSourceInfoByName(String), + SetSourceVolumeByName(String, ChannelVolumes), + SetSourceMuteByName(String, bool), } #[cfg(feature = "pulseaudio")] lazy_static! { - static ref PULSEAUDIO_CLIENT: Result = PulseAudioClient::new(); + static ref PULSEAUDIO_CLIENT_SINK: Result = PulseAudioClient::new(Direction::Output); + static ref PULSEAUDIO_CLIENT_SOURCE: Result = PulseAudioClient::new(Direction::Input); static ref PULSEAUDIO_EVENT_LISTENER: Mutex>> = Mutex::new(HashMap::new()); static ref PULSEAUDIO_DEFAULT_SINK: Mutex = Mutex::new("@DEFAULT_SINK@".into()); static ref PULSEAUDIO_SINKS: Mutex> = Mutex::new(HashMap::new()); + static ref PULSEAUDIO_DEFAULT_SOURCE: Mutex = Mutex::new("@DEFAULT_SOURCE@".into()); + static ref PULSEAUDIO_SOURCES: Mutex> = Mutex::new(HashMap::new()); } #[cfg(feature = "pulseaudio")] @@ -273,7 +299,7 @@ impl PulseAudioConnection { #[cfg(feature = "pulseaudio")] impl PulseAudioClient { - fn new() -> Result { + fn new(direction: Direction) -> Result { let (send_req, recv_req) = async(); let (send_result, recv_result) = sync(0); let send_result2 = send_result.clone(); @@ -318,8 +344,8 @@ impl PulseAudioClient { let mut introspector = connection.context.borrow_mut().introspect(); match req { - PulseAudioClientRequest::GetDefaultDevice => { - introspector.get_server_info(PulseAudioClient::server_info_callback); + PulseAudioClientRequest::GetDefaultSink => { + introspector.get_server_info(PulseAudioClient::server_info_callback_sink); }, PulseAudioClientRequest::GetSinkInfoByIndex(index) => { introspector.get_sink_info_by_index(index, PulseAudioClient::sink_info_callback); @@ -333,6 +359,21 @@ impl PulseAudioClient { PulseAudioClientRequest::SetSinkMuteByName(name, mute) => { introspector.set_sink_mute_by_name(&name, mute, None); }, + PulseAudioClientRequest::GetDefaultSource => { + introspector.get_server_info(PulseAudioClient::server_info_callback_source); + }, + PulseAudioClientRequest::GetSourceInfoByIndex(index) => { + introspector.get_source_info_by_index(index, PulseAudioClient::source_info_callback); + }, + PulseAudioClientRequest::GetSourceInfoByName(name) => { + introspector.get_source_info_by_name(&name, PulseAudioClient::source_info_callback); + }, + PulseAudioClientRequest::SetSourceVolumeByName(name, volumes) => { + introspector.set_source_volume_by_name(&name, &volumes, None); + }, + PulseAudioClientRequest::SetSourceMuteByName(name, mute) => { + introspector.set_source_mute_by_name(&name, mute, None); + }, }; // send request and receive response @@ -349,12 +390,25 @@ impl PulseAudioClient { let connection = new_connection(send_result2); // subcribe for events - connection.context.borrow_mut().set_subscribe_callback(Some(Box::new(PulseAudioClient::subscribe_callback))); - connection.context.borrow_mut().subscribe( - subscription_masks::SERVER | - subscription_masks::SINK, - |_| { } - ); + match direction { + Direction::Input => { + connection.context.borrow_mut().set_subscribe_callback(Some(Box::new(PulseAudioClient::subscribe_callback_source))); + connection.context.borrow_mut().subscribe( + subscription_masks::SERVER | + subscription_masks::SOURCE, + |_| { } + ); + } + Direction::Output => { + connection.context.borrow_mut().set_subscribe_callback(Some(Box::new(PulseAudioClient::subscribe_callback_sink))); + connection.context.borrow_mut().subscribe( + subscription_masks::SERVER | + subscription_masks::SINK, + |_| { } + ); + } + } + connection.mainloop.borrow_mut().run().unwrap(); }); @@ -366,21 +420,48 @@ impl PulseAudioClient { } fn send(request: PulseAudioClientRequest) -> Result<()> { - match PULSEAUDIO_CLIENT.as_ref() { - Ok(client) => { - client.sender.send(request); - Ok(()) - }, - Err(err) => { - Err(BlockError( - "sound".into(), - format!("pulseaudio connection failed with error: {}", err), - )) + match request { + PulseAudioClientRequest::GetDefaultSink | + PulseAudioClientRequest::GetSinkInfoByIndex(_) | + PulseAudioClientRequest::GetSinkInfoByName(_) | + PulseAudioClientRequest::SetSinkMuteByName(_, _) | + PulseAudioClientRequest::SetSinkVolumeByName(_, _) => { + match PULSEAUDIO_CLIENT_SINK.as_ref() { + Ok(client) => { + client.sender.send(request); + Ok(()) + }, + Err(err) => { + Err(BlockError( + "sound".into(), + format!("pulseaudio connection failed with error: {}", err), + )) + } + } + } + PulseAudioClientRequest::GetDefaultSource | + PulseAudioClientRequest::GetSourceInfoByIndex(_) | + PulseAudioClientRequest::GetSourceInfoByName(_) | + PulseAudioClientRequest::SetSourceMuteByName(_, _) | + PulseAudioClientRequest::SetSourceVolumeByName(_, _) => { + match PULSEAUDIO_CLIENT_SOURCE.as_ref() { + Ok(client) => { + client.sender.send(request); + Ok(()) + }, + Err(err) => { + Err(BlockError( + "sound".into(), + format!("pulseaudio connection failed with error: {}", err), + )) + } + } } } + } - fn server_info_callback(server_info: &ServerInfo) { + fn server_info_callback_sink(server_info: &ServerInfo) { match server_info.default_sink_name.clone() { None => {}, Some(default_sink) => { @@ -390,6 +471,16 @@ impl PulseAudioClient { } } + fn server_info_callback_source(server_info: &ServerInfo) { + match server_info.default_source_name.clone() { + None => {}, + Some(default_source) => { + *PULSEAUDIO_DEFAULT_SOURCE.lock().unwrap() = default_source.into(); + PulseAudioClient::send_update_event(); + } + } + } + fn sink_info_callback<'r, 's>(result: ListResult<&'r SinkInfo>) { match result { ListResult::End | @@ -410,12 +501,32 @@ impl PulseAudioClient { } } - fn subscribe_callback(facility: Option, _operation: Option, index: u32) { + fn source_info_callback<'r, 's>(result: ListResult<&'r SourceInfo>) { + match result { + ListResult::End | + ListResult::Error => { }, + ListResult::Item(source_info) => { + match source_info.name.clone() { + None => {}, + Some(name) => { + let info = PulseAudioSourceInfo { + volume: source_info.volume, + mute: source_info.mute, + }; + PULSEAUDIO_SOURCES.lock().unwrap().insert(name.into(), info); + PulseAudioClient::send_update_event(); + } + } + }, + } + } + + fn subscribe_callback_sink(facility: Option, _operation: Option, index: u32) { match facility { None => { }, Some(facility) => match facility { Facility::Server => { - let _ = PulseAudioClient::send(PulseAudioClientRequest::GetDefaultDevice); + let _ = PulseAudioClient::send(PulseAudioClientRequest::GetDefaultSink); }, Facility::Sink => { let _ = PulseAudioClient::send(PulseAudioClientRequest::GetSinkInfoByIndex(index)); @@ -425,6 +536,21 @@ impl PulseAudioClient { } } + fn subscribe_callback_source(facility: Option, _operation: Option, index: u32) { + match facility { + None => { }, + Some(facility) => match facility { + Facility::Server => { + let _ = PulseAudioClient::send(PulseAudioClientRequest::GetDefaultSource); + }, + Facility::Source => { + let _ = PulseAudioClient::send(PulseAudioClientRequest::GetSourceInfoByIndex(index)); + }, + _ => { } + } + } + } + fn send_update_event() { for (id, tx_update_request) in &*PULSEAUDIO_EVENT_LISTENER.lock().unwrap() { tx_update_request.send(Task { @@ -437,26 +563,49 @@ impl PulseAudioClient { #[cfg(feature = "pulseaudio")] impl PulseAudioSoundDevice { - fn new() -> Result { - PulseAudioClient::send(PulseAudioClientRequest::GetDefaultDevice)?; + fn new(direction: Direction) -> Result { + match direction { + Direction::Input => { + PulseAudioClient::send(PulseAudioClientRequest::GetDefaultSource)?; + } + Direction::Output => { + PulseAudioClient::send(PulseAudioClientRequest::GetDefaultSink)?; + } + } let device = PulseAudioSoundDevice { name: None, + direction: direction, volume: None, volume_avg: 0, muted: false, }; - PulseAudioClient::send(PulseAudioClientRequest::GetSinkInfoByName(device.name()))?; + match direction { + Direction::Input => { + PulseAudioClient::send(PulseAudioClientRequest::GetSourceInfoByName(device.name()))?; + } + Direction::Output => { + PulseAudioClient::send(PulseAudioClientRequest::GetSinkInfoByName(device.name()))?; + } + } Ok(device) } - fn with_name(name: String) -> Result { - PulseAudioClient::send(PulseAudioClientRequest::GetSinkInfoByName(name.clone()))?; + fn with_name(name: String, direction: Direction) -> Result { + match direction { + Direction::Input => { + PulseAudioClient::send(PulseAudioClientRequest::GetSourceInfoByName(name.clone()))?; + } + Direction::Output => { + PulseAudioClient::send(PulseAudioClientRequest::GetSinkInfoByName(name.clone()))?; + } + } Ok(PulseAudioSoundDevice { name: Some(name), + direction: direction, volume: None, volume_avg: 0, muted: false, @@ -464,7 +613,15 @@ impl PulseAudioSoundDevice { } fn name(&self) -> String { - self.name.clone().unwrap_or_else(|| PULSEAUDIO_DEFAULT_SINK.lock().unwrap().clone()) + match self.direction { + Direction::Input => { + self.name.clone().unwrap_or_else(|| PULSEAUDIO_DEFAULT_SOURCE.lock().unwrap().clone()) + } + Direction::Output => { + self.name.clone().unwrap_or_else(|| PULSEAUDIO_DEFAULT_SINK.lock().unwrap().clone()) + } + } + } fn volume(&mut self, volume: ChannelVolumes) { @@ -479,14 +636,28 @@ impl SoundDevice for PulseAudioSoundDevice { fn muted(&self) -> bool { self.muted } fn get_info(&mut self) -> Result<()> { - match PULSEAUDIO_SINKS.lock().unwrap().get(&self.name()) { - None => {}, - Some(sink_info) => { - self.volume(sink_info.volume); - self.muted = sink_info.mute; + match self.direction { + Direction::Input => { + match PULSEAUDIO_SOURCES.lock().unwrap().get(&self.name()) { + None => {}, + Some(source_info) => { + self.volume(source_info.volume); + self.muted = source_info.mute; + } + } + } + Direction::Output => { + match PULSEAUDIO_SINKS.lock().unwrap().get(&self.name()) { + None => {}, + Some(sink_info) => { + self.volume(sink_info.volume); + self.muted = sink_info.mute; + } + } } } + Ok(()) } @@ -504,14 +675,30 @@ impl SoundDevice for PulseAudioSoundDevice { // update volumes self.volume(volume); - PulseAudioClient::send(PulseAudioClientRequest::SetSinkVolumeByName(self.name(), volume))?; + match self.direction { + Direction::Input => { + PulseAudioClient::send(PulseAudioClientRequest::SetSourceVolumeByName(self.name(), volume))?; + } + Direction::Output => { + PulseAudioClient::send(PulseAudioClientRequest::SetSinkVolumeByName(self.name(), volume))?; + } + } + Ok(()) } fn toggle(&mut self) -> Result<()> { self.muted = !self.muted; - PulseAudioClient::send(PulseAudioClientRequest::SetSinkMuteByName(self.name(), self.muted))?; + match self.direction { + Direction::Input => { + PulseAudioClient::send(PulseAudioClientRequest::SetSourceMuteByName(self.name(), self.muted))?; + } + Direction::Output => { + PulseAudioClient::send(PulseAudioClientRequest::SetSinkMuteByName(self.name(), self.muted))?; + } + } + Ok(()) } @@ -644,8 +831,8 @@ impl ConfigBlock for Sound { #[cfg(feature = "pulseaudio")] SoundDriver::Auto | SoundDriver::PulseAudio => match block_config.name.clone() { - None => PulseAudioSoundDevice::new(), - Some(name) => PulseAudioSoundDevice::with_name(name) + None => PulseAudioSoundDevice::new(block_config.direction), + Some(name) => PulseAudioSoundDevice::with_name(name, block_config.direction) }, _ => Err(BlockError( "sound".into(), From c91fcc1ccc9b116db7a1cbe5beae756b9c739996 Mon Sep 17 00:00:00 2001 From: fedario Date: Thu, 28 Mar 2019 03:19:50 +0100 Subject: [PATCH 03/10] reverted --- Cargo.lock | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d9a555ceee..9630139a6f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -253,7 +253,7 @@ dependencies = [ "i3ipc 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "inotify 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libpulse-binding 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libpulse-binding 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "maildir 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "num 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", @@ -324,20 +324,19 @@ dependencies = [ [[package]] name = "libpulse-binding" -version = "2.6.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", - "libpulse-sys 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "libpulse-sys 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "libpulse-sys" -version = "1.5.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -795,8 +794,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c8f31047daa365f19be14b47c29df4f7c3b581832407daabe6ae77397619237d" "checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d" "checksum libdbus-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8720f9274907052cb50313f91201597868da9d625f8dd125f2aca5bddb7e83a1" -"checksum libpulse-binding 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49e7378bffd76492e876a0afb9a016359379a6b5a859fecd039248f76ce719fb" -"checksum libpulse-sys 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dcac117c7e9fb50fe162d5fbc6b3818819bd173922f648fae017f913de68520" +"checksum libpulse-binding 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "94cf8d18cd66838e8a2d049ea3b3ae6942e88ad007c2d593def703a1e7470e52" +"checksum libpulse-sys 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a5e1843312173214a21c7f7dabd0e2de467033355ed57366f64aadb2a288f47b" "checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" "checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" "checksum maildir 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "83d9b449b6ff23db5eda044963296380c74941ac9480fc629840d7405e436c73" From 2c1a6bca2da3f7b8b6004496e679eb7f2aac753f Mon Sep 17 00:00:00 2001 From: fedario Date: Thu, 28 Mar 2019 03:20:28 +0100 Subject: [PATCH 04/10] reverted --- Cargo.lock | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9630139a6f..d9a555ceee 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -253,7 +253,7 @@ dependencies = [ "i3ipc 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "inotify 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libpulse-binding 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libpulse-binding 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "maildir 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "num 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", @@ -324,19 +324,20 @@ dependencies = [ [[package]] name = "libpulse-binding" -version = "2.2.1" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", - "libpulse-sys 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "libpulse-sys 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "libpulse-sys" -version = "1.3.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -794,8 +795,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c8f31047daa365f19be14b47c29df4f7c3b581832407daabe6ae77397619237d" "checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d" "checksum libdbus-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8720f9274907052cb50313f91201597868da9d625f8dd125f2aca5bddb7e83a1" -"checksum libpulse-binding 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "94cf8d18cd66838e8a2d049ea3b3ae6942e88ad007c2d593def703a1e7470e52" -"checksum libpulse-sys 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a5e1843312173214a21c7f7dabd0e2de467033355ed57366f64aadb2a288f47b" +"checksum libpulse-binding 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49e7378bffd76492e876a0afb9a016359379a6b5a859fecd039248f76ce719fb" +"checksum libpulse-sys 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dcac117c7e9fb50fe162d5fbc6b3818819bd173922f648fae017f913de68520" "checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" "checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" "checksum maildir 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "83d9b449b6ff23db5eda044963296380c74941ac9480fc629840d7405e436c73" From 1a0fd91d8f25ecf229621d789dcba3baadb2692c Mon Sep 17 00:00:00 2001 From: fedario Date: Thu, 28 Mar 2019 12:44:29 +0100 Subject: [PATCH 05/10] added direction support for alsa --- Cargo.lock | 852 -------------------------------------------- src/blocks/sound.rs | 11 +- 2 files changed, 10 insertions(+), 853 deletions(-) delete mode 100644 Cargo.lock diff --git a/Cargo.lock b/Cargo.lock deleted file mode 100644 index d9a555ceee..0000000000 --- a/Cargo.lock +++ /dev/null @@ -1,852 +0,0 @@ -[[package]] -name = "aho-corasick" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ansi_term" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "atty" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", - "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "backtrace" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "backtrace-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-demangle 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "backtrace-sys" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "base64" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "bitflags" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "byteorder" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "cc" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "cfg-if" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "chan" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "chrono" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num-integer 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "chrono-tz" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "chrono 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parse-zoneinfo 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "clap" -version = "2.31.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", - "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "textwrap 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "vec_map 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "cpuprofiler" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "error-chain 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "dbghelp-sys" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "dbus" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", - "libdbus-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "dtoa" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "encoding" -version = "0.2.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "encoding-index-japanese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)", - "encoding-index-korean 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)", - "encoding-index-simpchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)", - "encoding-index-singlebyte 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)", - "encoding-index-tradchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "encoding-index-japanese" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "encoding-index-korean" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "encoding-index-simpchinese" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "encoding-index-singlebyte" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "encoding-index-tradchinese" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "encoding_index_tests" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "error-chain" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "backtrace 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "fuchsia-zircon" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "futures" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "i3ipc" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.53 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "i3status-rs" -version = "0.9.0" -dependencies = [ - "chan 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "chrono 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "chrono-tz 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "clap 2.31.2 (registry+https://github.com/rust-lang/crates.io-index)", - "cpuprofiler 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "dbus 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - "i3ipc 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", - "inotify 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libpulse-binding 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "maildir 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "progress 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.53 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.53 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", - "toml 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "uuid 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "inotify" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "inotify-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "inotify-sys" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "itoa" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "kernel32-sys" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "lazy_static" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "lazy_static" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "libc" -version = "0.2.43" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "libdbus-sys" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libpulse-binding" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", - "libpulse-sys 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libpulse-sys" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "log" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "log" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "maildir" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "mailparse 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "mailparse" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "base64 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "quoted_printable 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "memchr" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "nix" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num" -version = "0.1.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num-bigint 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)", - "num-complex 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", - "num-iter 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", - "num-rational 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-bigint" -version = "0.1.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num-integer 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-complex" -version = "0.1.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num-traits 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-integer" -version = "0.1.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num-traits 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-iter" -version = "0.1.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num-integer 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-rational" -version = "0.1.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num-bigint 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-traits" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "parse-zoneinfo" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pkg-config" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "proc-macro2" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "progress" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "terminal_size 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "quote" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "quoted_printable" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "rand" -version = "0.3.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "redox_syscall" -version = "0.1.37" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "redox_termios" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "regex" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", - "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "regex" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-syntax 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "regex-syntax" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "regex-syntax" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "rustc-serialize" -version = "0.3.24" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "serde" -version = "1.0.53" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "serde_derive" -version = "1.0.53" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.13.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde_json" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.53 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "strsim" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "syn" -version = "0.13.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "terminal_size" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "termion" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "textwrap" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "thread_local" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "time" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "toml" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "serde 1.0.53 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ucd-util" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unicode-width" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unicode-xid" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unreachable" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "utf8-ranges" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "uuid" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "vec_map" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[metadata] -"checksum aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d6531d44de723825aa81398a6415283229725a00fa30713812ab9323faa82fc4" -"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" -"checksum atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "2fc4a1aa4c24c0718a250f0681885c1af91419d242f29eb8f2ab28502d80dbd1" -"checksum backtrace 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "346d7644f0b5f9bc73082d3b2236b69a05fd35cce0cfa3724e184e6a5c9e2a2f" -"checksum backtrace-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "44585761d6161b0f57afc49482ab6bd067e4edef48c12a152c237eb0203f7661" -"checksum base64 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a51012ca17f843e723dedc71fdd7feac9d8b53be85492aa9232b2da59ce6bb3b" -"checksum bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c54bb8f454c567f21197eefcdbf5679d0bd99f2ddbe52e84c77061952e6789" -"checksum byteorder 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "73b5bdfe7ee3ad0b99c9801d58807a9dbc9e09196365b0203853b99889ab3c87" -"checksum cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)" = "0ebb87d1116151416c0cf66a0e3fb6430cccd120fd6300794b4dfaa050ac40ba" -"checksum cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "405216fd8fe65f718daa7102ea808a946b6ce40c742998fbfd3463645552de18" -"checksum chan 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)" = "9af7c487bb99c929ba2715b1a3a7bf45f5062bf5b6eae5d32b292a96c5865172" -"checksum chrono 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1cce36c92cb605414e9b824f866f5babe0a0368e39ea07393b9b63cf3844c0e6" -"checksum chrono-tz 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aa1878c18b5b01b9978d5f130fe366d434022004d12fb87c182e8459b427c4a3" -"checksum clap 2.31.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f0f16b89cbb9ee36d87483dc939fe9f1e13c05898d56d7b230a0d4dff033a536" -"checksum cpuprofiler 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "33f07976bb6821459632d7a18d97ccca005cb5c552f251f822c7c1781c1d7035" -"checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850" -"checksum dbus 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5b2c58aab20dd6637871e6e03cb6122f00b496a91eb65b688639c940012d8710" -"checksum dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab" -"checksum encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec" -"checksum encoding-index-japanese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91" -"checksum encoding-index-korean 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81" -"checksum encoding-index-simpchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7" -"checksum encoding-index-singlebyte 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a" -"checksum encoding-index-tradchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18" -"checksum encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569" -"checksum error-chain 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bd5c82c815138e278b8dcdeffc49f27ea6ffb528403e9dea4194f2e3dd40b143" -"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" -"checksum futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)" = "1a70b146671de62ec8c8ed572219ca5d594d9b06c0b364d5e67b722fc559b48c" -"checksum i3ipc 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8a4e0c68a50475f32bf9a728de1198a8acc573ccdb24212db1192c874e37f302" -"checksum inotify 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3ad0bfe014aafc0f4e177fbe66c5f2b59ba59f66f58b022aa1963bbe71ab4118" -"checksum inotify-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7dceb94c43f70baf4c4cd6afbc1e9037d4161dbe68df8a2cd4351a23319ee4fb" -"checksum itoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c069bbec61e1ca5a596166e55dfe4773ff745c3d16b700013bcaff9a6df2c682" -"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -"checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" -"checksum lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c8f31047daa365f19be14b47c29df4f7c3b581832407daabe6ae77397619237d" -"checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d" -"checksum libdbus-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8720f9274907052cb50313f91201597868da9d625f8dd125f2aca5bddb7e83a1" -"checksum libpulse-binding 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49e7378bffd76492e876a0afb9a016359379a6b5a859fecd039248f76ce719fb" -"checksum libpulse-sys 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dcac117c7e9fb50fe162d5fbc6b3818819bd173922f648fae017f913de68520" -"checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" -"checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" -"checksum maildir 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "83d9b449b6ff23db5eda044963296380c74941ac9480fc629840d7405e436c73" -"checksum mailparse 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "517ae98201a037bbd2dccdf88763e5818b26fc98a46725ae524424de2f67339f" -"checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d" -"checksum nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d37e713a259ff641624b6cb20e3b12b2952313ba36b6823c0f16e6cfd9e5de17" -"checksum num 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "4703ad64153382334aa8db57c637364c322d3372e097840c72000dabdcf6156e" -"checksum num-bigint 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "81b483ea42927c463e191802e7334556b48e7875297564c0e9951bd3a0ae53e3" -"checksum num-complex 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "b288631d7878aaf59442cffd36910ea604ecd7745c36054328595114001c9656" -"checksum num-integer 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)" = "f8d26da319fb45674985c78f1d1caf99aa4941f785d384a2ae36d0740bc3e2fe" -"checksum num-iter 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)" = "4b226df12c5a59b63569dd57fafb926d91b385dfce33d8074a412411b689d593" -"checksum num-rational 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "ee314c74bd753fc86b4780aa9475da469155f3848473a261d2d18e35245a784e" -"checksum num-traits 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c22f20a157cb4af265c71e47db525852368feeb4a0013f0f8c68a7f4ef0d0fc1" -"checksum parse-zoneinfo 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f4ee19a3656dadae35a33467f9714f1228dd34766dbe49e10e656b5296867aea" -"checksum pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "110d5ee3593dbb73f56294327fe5668bcc997897097cbc76b51e7aed3f52452f" -"checksum proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1b06e2f335f48d24442b35a19df506a835fb3547bc3c06ef27340da9acf5cae7" -"checksum progress 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "17b820305721858696053a7fd0215cfeeee16ecaaf96b7a209945428e02f1c44" -"checksum quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9949cfe66888ffe1d53e6ec9d9f3b70714083854be20fd5e271b232a017401e8" -"checksum quoted_printable 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ec1a063e17beecae242623379d30100975588fb3d2a4bf1df8550d872268a89f" -"checksum rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)" = "15a732abf9d20f0ad8eeb6f909bf6868722d9a06e1e50802b6a70351f40b4eb1" -"checksum rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5" -"checksum redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "0d92eecebad22b767915e4d529f89f28ee96dbbf5a4810d2b844373f136417fd" -"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" -"checksum regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384" -"checksum regex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "75ecf88252dce580404a22444fc7d626c01815debba56a7f4f536772a5ff19d3" -"checksum regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7" -"checksum regex-syntax 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8f1ac0f60d675cc6cf13a20ec076568254472551051ad5dd050364d70671bf6b" -"checksum rustc-demangle 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "76d7ba1feafada44f2d38eed812bd2489a03c0f5abb975799251518b68848649" -"checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda" -"checksum serde 1.0.53 (registry+https://github.com/rust-lang/crates.io-index)" = "de4dee3b122edad92d80c66cac8d967ec7f8bf16a3b452247d6eb1dbf83c8f22" -"checksum serde_derive 1.0.53 (registry+https://github.com/rust-lang/crates.io-index)" = "7149ef7af607b09e0e7df38b1fd74264f08a29a67f604d5cb09d3fbdb1e256bc" -"checksum serde_json 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)" = "f3ad6d546e765177cf3dded3c2e424a8040f870083a0e64064746b958ece9cb1" -"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" -"checksum syn 0.13.7 (registry+https://github.com/rust-lang/crates.io-index)" = "61b8f1b737f929c6516ba46a3133fd6d5215ad8a62f66760f851f7048aebedfb" -"checksum terminal_size 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "ef4f7fdb2a063032d361d9a72539380900bc3e0cd9ffc9ca8b677f8c855bae0f" -"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096" -"checksum textwrap 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c0b59b6b4b44d867f1370ef1bd91bfb262bf07bf0ae65c202ea2fbc16153b693" -"checksum thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "279ef31c19ededf577bfd12dfae728040a21f635b06a24cd670ff510edd38963" -"checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b" -"checksum toml 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a0263c6c02c4db6c8f7681f9fd35e90de799ebd4cfdeab77a38f4ff6b3d8c0d9" -"checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" -"checksum unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bf3a113775714a22dcb774d8ea3655c53a32debae63a063acc00a91cc586245f" -"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" -"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" -"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" -"checksum uuid 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8630752f979f1b6b87c49830a5e3784082545de63920d59fbaac252474319447" -"checksum vec_map 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "887b5b631c2ad01628bbbaa7dd4c869f80d3186688f8d0b6f58774fbe324988c" -"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" -"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" -"checksum winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "04e3bd221fcbe8a271359c04f21a76db7d0c6028862d1bb5512d85e1e2eb5bb3" -"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" -"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/src/blocks/sound.rs b/src/blocks/sound.rs index cd0f184302..36d1e68775 100644 --- a/src/blocks/sound.rs +++ b/src/blocks/sound.rs @@ -843,7 +843,16 @@ impl ConfigBlock for Sound { // prefere PulseAudio if available and selected, fallback to ALSA let device: Box = match pulseaudio_device { Ok(dev) => Box::new(dev), - Err(_) => Box::new(AlsaSoundDevice::new(block_config.name.unwrap_or_else(|| "Master".into()))?) + Err(_) => { + match block_config.direction { + Direction::Input => { + Box::new(AlsaSoundDevice::new(block_config.name.unwrap_or_else(|| "Capture".into()))?) + } + Direction::Output => { + Box::new(AlsaSoundDevice::new(block_config.name.unwrap_or_else(|| "Master".into()))?) + } + } + } }; let mut sound = Self { From ff15236975912d18b9f8ebbaa05fe7c9c788faa7 Mon Sep 17 00:00:00 2001 From: fedario Date: Thu, 28 Mar 2019 12:51:12 +0100 Subject: [PATCH 06/10] adapted icon for direction --- src/blocks/sound.rs | 68 ++++++++++++++++++++++++++++++++------------- src/icons.rs | 5 ++++ 2 files changed, 53 insertions(+), 20 deletions(-) diff --git a/src/blocks/sound.rs b/src/blocks/sound.rs index 36d1e68775..fbd0ab07c0 100644 --- a/src/blocks/sound.rs +++ b/src/blocks/sound.rs @@ -714,6 +714,7 @@ pub struct Sound { text: ButtonWidget, id: String, device: Box, + direction: Direction, step_width: u32, config: Config, on_click: Option, @@ -788,25 +789,51 @@ impl Sound { fn display(&mut self) -> Result<()> { self.device.get_info()?; - if self.device.muted() { - self.text.set_icon("volume_empty"); - self.text.set_text( - self.config - .icons - .get("volume_muted") - .block_error("sound", "cannot find icon")? - .to_owned(), - ); - self.text.set_state(State::Warning); - } else { - let volume = self.device.volume(); - self.text.set_icon(match volume { - 0...20 => "volume_empty", - 21...70 => "volume_half", - _ => "volume_full", - }); - self.text.set_text(format!("{:02}%", volume)); - self.text.set_state(State::Idle); + match self.direction { + Direction::Input => { + if self.device.muted() { + self.text.set_icon("mic_empty"); + self.text.set_text( + self.config + .icons + .get("mic_muted") + .block_error("sound", "cannot find icon")? + .to_owned(), + ); + self.text.set_state(State::Warning); + } else { + let volume = self.device.volume(); + self.text.set_icon(match volume { + 0...20 => "mic_empty", + 21...70 => "mic_half", + _ => "mic_full", + }); + self.text.set_text(format!("{:02}%", volume)); + self.text.set_state(State::Idle); + } + } + Direction::Output => { + if self.device.muted() { + self.text.set_icon("volume_empty"); + self.text.set_text( + self.config + .icons + .get("volume_muted") + .block_error("sound", "cannot find icon")? + .to_owned(), + ); + self.text.set_state(State::Warning); + } else { + let volume = self.device.volume(); + self.text.set_icon(match volume { + 0...20 => "volume_empty", + 21...70 => "volume_half", + _ => "volume_full", + }); + self.text.set_text(format!("{:02}%", volume)); + self.text.set_state(State::Idle); + } + } } Ok(()) @@ -858,7 +885,8 @@ impl ConfigBlock for Sound { let mut sound = Self { text: ButtonWidget::new(config.clone(), &id).with_icon("volume_empty"), id: id.clone(), - device, + device: device, + direction: block_config.direction, step_width: step_width, config: config, on_click: block_config.on_click, diff --git a/src/icons.rs b/src/icons.rs index c60f164f01..72e7eb7c61 100755 --- a/src/icons.rs +++ b/src/icons.rs @@ -72,6 +72,11 @@ lazy_static! { "volume_empty" => " \u{f026} ", // This icon has no spaces around it because it is manually set as text. (sound.rs) "volume_muted" => "\u{f00d}", + "mic_full" => " \u{f130} ", + "mic_half" => " \u{f130} ", + "mic_empty" => " \u{f130} ", + // This icon has no spaces around it because it is manually set as text. (sound.rs) + "mic_muted" => "\u{f131}", "thermometer" => " \u{f2c8} ", "xrandr" => " \u{f26c} ", "net_up" => " \u{2b06} ", From 4f196b683f45386bf46bacf982afdae06246b97e Mon Sep 17 00:00:00 2001 From: fedario Date: Thu, 28 Mar 2019 12:59:07 +0100 Subject: [PATCH 07/10] fixed sound icons --- src/blocks/sound.rs | 8 ++++---- src/icons.rs | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/blocks/sound.rs b/src/blocks/sound.rs index fbd0ab07c0..e9661ea631 100644 --- a/src/blocks/sound.rs +++ b/src/blocks/sound.rs @@ -792,11 +792,11 @@ impl Sound { match self.direction { Direction::Input => { if self.device.muted() { - self.text.set_icon("mic_empty"); + self.text.set_icon("mic_muted"); self.text.set_text( self.config .icons - .get("mic_muted") + .get("crossed") .block_error("sound", "cannot find icon")? .to_owned(), ); @@ -814,11 +814,11 @@ impl Sound { } Direction::Output => { if self.device.muted() { - self.text.set_icon("volume_empty"); + self.text.set_icon("volume_muted"); self.text.set_text( self.config .icons - .get("volume_muted") + .get("crossed") .block_error("sound", "cannot find icon")? .to_owned(), ); diff --git a/src/icons.rs b/src/icons.rs index 72e7eb7c61..884e7df073 100755 --- a/src/icons.rs +++ b/src/icons.rs @@ -67,16 +67,16 @@ lazy_static! { "update" => " \u{f062} ", "toggle_off" => " \u{f204} ", "toggle_on" => " \u{f205} ", + // This icon has no spaces around it because it is manually set as text. (sound.rs) + "crossed" => "\u{f00d}", "volume_full" => " \u{f028} ", "volume_half" => " \u{f027} ", "volume_empty" => " \u{f026} ", - // This icon has no spaces around it because it is manually set as text. (sound.rs) - "volume_muted" => "\u{f00d}", + "volume_muted" => "\u{f026} ", "mic_full" => " \u{f130} ", "mic_half" => " \u{f130} ", "mic_empty" => " \u{f130} ", - // This icon has no spaces around it because it is manually set as text. (sound.rs) - "mic_muted" => "\u{f131}", + "mic_muted" => "\u{f131} ", "thermometer" => " \u{f2c8} ", "xrandr" => " \u{f26c} ", "net_up" => " \u{2b06} ", From bfc15cb9972195672bacd11879629a28c4e2598b Mon Sep 17 00:00:00 2001 From: fedario Date: Thu, 28 Mar 2019 13:23:03 +0100 Subject: [PATCH 08/10] tried to add direction support for material icons, can't test the result because the (patched) font does not correctly display for me --- src/icons.rs | 237 ++++++++++++++++++++++++++------------------------- 1 file changed, 121 insertions(+), 116 deletions(-) diff --git a/src/icons.rs b/src/icons.rs index 884e7df073..5f57b7f00a 100755 --- a/src/icons.rs +++ b/src/icons.rs @@ -2,145 +2,150 @@ use std::collections::HashMap as Map; lazy_static! { pub static ref NONE: Map = map_to_owned! { - "" => "", - "time" => " ", - "music" => " ", - "music_play" => ">", - "music_pause" => "||", - "music_next" => " > ", - "music_prev" => " < ", - "cogs" => " LOAD ", - "memory_mem" => " MEM ", - "memory_swap" => " SWAP ", - "cpu" => " CPU ", - "bat" => " BAT ", - "bat_full" => " FULL ", - "bat_charging" => " CHG ", - "bat_discharging" => " DCG ", - "update" => " UPD ", - "toggle_off" => " OFF ", - "toggle_on" => " ON ", - "volume_full" => " VOL ", - "volume_half" => " VOL ", - "volume_empty" => " VOL ", + "" => "", + "time" => " ", + "music" => " ", + "music_play" => ">", + "music_pause" => "||", + "music_next" => " > ", + "music_prev" => " < ", + "cogs" => " LOAD ", + "memory_mem" => " MEM ", + "memory_swap" => " SWAP ", + "cpu" => " CPU ", + "bat" => " BAT ", + "bat_full" => " FULL ", + "bat_charging" => " CHG ", + "bat_discharging" => " DCG ", + "update" => " UPD ", + "toggle_off" => " OFF ", + "toggle_on" => " ON ", + "volume_full" => " VOL ", + "volume_half" => " VOL ", + "volume_empty" => " VOL ", // This icon has no spaces around it because it is manually set as text. (sound.rs) - "volume_muted" => "MUTED", - "thermometer" => " TEMP ", - "xrandr" => " SCREEN ", - "net_up" => " UP ", - "net_down" => " DOWN ", - "net_wireless" => " WLAN ", - "net_wired" => " ETH ", - "ping" => " PING ", - "backlight_empty" => " BRIGHT ", + "volume_muted" => "MUTED", + "thermometer" => " TEMP ", + "xrandr" => " SCREEN ", + "net_up" => " UP ", + "net_down" => " DOWN ", + "net_wireless" => " WLAN ", + "net_wired" => " ETH ", + "ping" => " PING ", + "backlight_empty" => " BRIGHT ", "backlight_partial1" => " BRIGHT ", "backlight_partial2" => " BRIGHT ", "backlight_partial3" => " BRIGHT ", - "backlight_full" => " BRIGHT ", - "weather_sun" => " SUNNY ", - "weather_snow" => " SNOW ", - "weather_thunder" => " STORM ", - "weather_clouds" => " CLOUDY ", - "weather_rain" => " RAIN ", - "weather_default" => " WEATHER ", - "uptime" => " UP ", - "gpu" => " GPU ", - "mail" => " " + "backlight_full" => " BRIGHT ", + "weather_sun" => " SUNNY ", + "weather_snow" => " SNOW ", + "weather_thunder" => " STORM ", + "weather_clouds" => " CLOUDY ", + "weather_rain" => " RAIN ", + "weather_default" => " WEATHER ", + "uptime" => " UP ", + "gpu" => " GPU ", + "mail" => " " }; pub static ref AWESOME: Map = map_to_owned! { - "" => "", - "time" => " \u{f017} ", - "music" => " \u{f001} ", - "music_play" => " \u{f04b} ", - "music_pause" => " \u{f04c} ", - "music_next" => " \u{f061} ", - "music_prev" => " \u{f060} ", - "cogs" => " \u{f085} ", - "memory_mem" => " \u{f2db} ", - "memory_swap" => " \u{f0a0} ", - "cpu" => " \u{f0e4} ", - "bat" => " \u{f242} ", - "bat_full" => " \u{f240} ", - "bat_charging" => " \u{f1e6} ", - "bat_discharging" => " \u{f242} ", - "update" => " \u{f062} ", - "toggle_off" => " \u{f204} ", - "toggle_on" => " \u{f205} ", + "" => "", + "time" => " \u{f017} ", + "music" => " \u{f001} ", + "music_play" => " \u{f04b} ", + "music_pause" => " \u{f04c} ", + "music_next" => " \u{f061} ", + "music_prev" => " \u{f060} ", + "cogs" => " \u{f085} ", + "memory_mem" => " \u{f2db} ", + "memory_swap" => " \u{f0a0} ", + "cpu" => " \u{f0e4} ", + "bat" => " \u{f242} ", + "bat_full" => " \u{f240} ", + "bat_charging" => " \u{f1e6} ", + "bat_discharging" => " \u{f242} ", + "update" => " \u{f062} ", + "toggle_off" => " \u{f204} ", + "toggle_on" => " \u{f205} ", // This icon has no spaces around it because it is manually set as text. (sound.rs) - "crossed" => "\u{f00d}", - "volume_full" => " \u{f028} ", - "volume_half" => " \u{f027} ", - "volume_empty" => " \u{f026} ", - "volume_muted" => "\u{f026} ", - "mic_full" => " \u{f130} ", - "mic_half" => " \u{f130} ", - "mic_empty" => " \u{f130} ", - "mic_muted" => "\u{f131} ", - "thermometer" => " \u{f2c8} ", - "xrandr" => " \u{f26c} ", - "net_up" => " \u{2b06} ", - "net_down" => " \u{2b07} ", - "net_wireless" => " \u{f1eb} ", - "net_wired" => " \u{f0ac} ", - "ping" => " \u{21ba} ", - "backlight_empty" => " \u{1f315} ", + "crossed" => "\u{f00d}", + "volume_full" => " \u{f028} ", + "volume_half" => " \u{f027} ", + "volume_empty" => " \u{f026} ", + "volume_muted" => " \u{f026} ", + "mic_full" => " \u{f130} ", + "mic_half" => " \u{f130} ", + "mic_empty" => " \u{f130} ", + "mic_muted" => " \u{f131} ", + "thermometer" => " \u{f2c8} ", + "xrandr" => " \u{f26c} ", + "net_up" => " \u{2b06} ", + "net_down" => " \u{2b07} ", + "net_wireless" => " \u{f1eb} ", + "net_wired" => " \u{f0ac} ", + "ping" => " \u{21ba} ", + "backlight_empty" => " \u{1f315} ", "backlight_partial1" => " \u{1f314} ", "backlight_partial2" => " \u{1f313} ", "backlight_partial3" => " \u{1f312} ", - "backlight_full" => " \u{1f311} ", - "weather_sun" => " \u{f185} ", - "weather_snow" => " \u{f2dc} ", - "weather_thunder" => " \u{f0e7} ", - "weather_clouds" => " \u{f0c2} ", - "weather_rain" => " \u{f043} ", + "backlight_full" => " \u{1f311} ", + "weather_sun" => " \u{f185} ", + "weather_snow" => " \u{f2dc} ", + "weather_thunder" => " \u{f0e7} ", + "weather_clouds" => " \u{f0c2} ", + "weather_rain" => " \u{f043} ", // Cloud symbol as default - "weather_default" => " \u{f0c2} ", + "weather_default" => " \u{f0c2} ", // Same as time symbol. - "uptime" => " \u{f017} ", - "gpu" => " \u{f26c} ", - "mail" => " \u{f0e0} " + "uptime" => " \u{f017} ", + "gpu" => " \u{f26c} ", + "mail" => " \u{f0e0} " }; pub static ref MATERIAL: Map = map_to_owned! { - "" => "", - "time" => " \u{e192} ", - "music" => " \u{e405} ", - "music_play" => " \u{e037} ", - "music_pause" => " \u{e034} ", - "music_next" => " \u{e044} ", - "music_prev" => " \u{e045} ", - "cogs" => " \u{e8b8} ", - "memory_mem" => " \u{e322} ", - "memory_swap" => " \u{e8d4} ", - "cpu" => " \u{e640} ", - "bat" => " \u{e1a5} ", - "bat_full" => " \u{e1a4} ", - "bat_charging" => " \u{e1a3} ", - "bat_discharging" => " \u{e19c} ", - "update" => " \u{e8d7} ", - "toggle_off" => " \u{e836} ", - "toggle_on" => " \u{e837} ", - "volume_full" => " \u{e050} ", - "volume_half" => " \u{e04d} ", - "volume_empty" => " \u{e04e} ", + "" => "", + "time" => " \u{e192} ", + "music" => " \u{e405} ", + "music_play" => " \u{e037} ", + "music_pause" => " \u{e034} ", + "music_next" => " \u{e044} ", + "music_prev" => " \u{e045} ", + "cogs" => " \u{e8b8} ", + "memory_mem" => " \u{e322} ", + "memory_swap" => " \u{e8d4} ", + "cpu" => " \u{e640} ", + "bat" => " \u{e1a5} ", + "bat_full" => " \u{e1a4} ", + "bat_charging" => " \u{e1a3} ", + "bat_discharging" => " \u{e19c} ", + "update" => " \u{e8d7} ", + "toggle_off" => " \u{e836} ", + "toggle_on" => " \u{e837} ", // This icon has no spaces around it because it is manually set as text. (sound.rs) - "volume_muted" => "\u{e04f}", - "thermometer" => " \u{f2c8} ", // TODO - "xrandr" => " \u{e31e} ", + "crossed" => "\u{e04f}", + "volume_full" => " \u{e050} ", + "volume_half" => " \u{e04d} ", + "volume_empty" => " \u{e04e} ", + "volume_muted" => " \u{e04e} ", + "volume_full" => " \u{e029} ", + "volume_half" => " \u{e029} ", + "volume_empty" => " \u{e02a} ", + "volume_muted" => " \u{e02b} ", + "thermometer" => " \u{f2c8} ", // TODO + "xrandr" => " \u{e31e} ", // Same as time symbol. - "uptime" => " \u{e192} ", - "gpu" => " \u{e333} ", - "mail" => " \u{e0be} " + "uptime" => " \u{e192} ", + "gpu" => " \u{e333} ", + "mail" => " \u{e0be} " }; } pub fn get_icons(name: &str) -> Option> { match name { - "material" => Some(MATERIAL.clone()), - "awesome" => Some(AWESOME.clone()), - "none" => Some(NONE.clone()), - _ => None, + "material" => Some(MATERIAL.clone()), + "awesome" => Some(AWESOME.clone()), + "none" => Some(NONE.clone()), + _ => None, } } From 1d3a42653f238a96049c7f5125e4f46d0096ddf9 Mon Sep 17 00:00:00 2001 From: fedario Date: Thu, 28 Mar 2019 14:22:37 +0100 Subject: [PATCH 09/10] a few icon fixes and added support for Font Awesone 5 --- src/blocks/xrandr.rs | 18 +++++++++++--- src/icons.rs | 58 ++++++++++++++++++++++++++++++++++++++++++++ src/util.rs | 2 +- 3 files changed, 74 insertions(+), 4 deletions(-) diff --git a/src/blocks/xrandr.rs b/src/blocks/xrandr.rs index 14fcc5579f..1e2c1e3ce3 100644 --- a/src/blocks/xrandr.rs +++ b/src/blocks/xrandr.rs @@ -186,20 +186,32 @@ impl Xrandr { fn display(&mut self) -> Result<()> { if let Some(m) = self.monitors.get(self.current_idx) { let brightness_str = m.brightness.to_string(); + let brightness_icon = self.config + .icons + .get("backlight_full") + .block_error("xrandr", "cannot find icon")? + .to_owned(); + let resolution_icon = self.config + .icons + .get("size") + .block_error("xrandr", "cannot find icon")? + .to_owned(); let values = map!("{display}" => m.name.clone(), + "{brightness_icon}" => brightness_icon, "{brightness}" => brightness_str, - "{resolution}" => m.resolution.clone()); + "{resolution}" => m.resolution.clone(), + "{resolution_icon}" => resolution_icon); self.text.set_icon("xrandr"); let format_str: &str; if self.resolution { if self.icons { - format_str = "{display} \u{f185} {brightness} \u{f096} {resolution}"; + format_str = "{display} {brightness_icon}{brightness} {resolution_icon}{resolution}"; } else { format_str = "{display}: {brightness} [{resolution}]"; } } else if self.icons { - format_str = "{display} \u{f185} {brightness}"; + format_str = "{display} {brightness_icon} {brightness}"; } else { format_str = "{display}: {brightness}"; } diff --git a/src/icons.rs b/src/icons.rs index 5f57b7f00a..1ee6059aa1 100755 --- a/src/icons.rs +++ b/src/icons.rs @@ -89,6 +89,62 @@ lazy_static! { "backlight_partial2" => " \u{1f313} ", "backlight_partial3" => " \u{1f312} ", "backlight_full" => " \u{1f311} ", + "size" => " \u{f065} ", + "weather_sun" => " \u{f185} ", + "weather_snow" => " \u{f2dc} ", + "weather_thunder" => " \u{f0e7} ", + "weather_clouds" => " \u{f0c2} ", + "weather_rain" => " \u{f043} ", + // Cloud symbol as default + "weather_default" => " \u{f0c2} ", + // Same as time symbol. + "uptime" => " \u{f017} ", + "gpu" => " \u{f26c} ", + "mail" => " \u{f0e0} " + }; + + pub static ref AWESOME_5: Map = map_to_owned! { + "" => "", + "time" => " \u{f017} ", + "music" => " \u{f001} ", + "music_play" => " \u{f04b} ", + "music_pause" => " \u{f04c} ", + "music_next" => " \u{f061} ", + "music_prev" => " \u{f060} ", + "cogs" => " \u{f085} ", + "memory_mem" => " \u{f2db} ", + "memory_swap" => " \u{f0a0} ", + "cpu" => " \u{f3fd} ", + "bat" => " \u{f242} ", + "bat_full" => " \u{f240} ", + "bat_charging" => " \u{f1e6} ", + "bat_discharging" => " \u{f242} ", + "update" => " \u{f062} ", + "toggle_off" => " \u{f204} ", + "toggle_on" => " \u{f205} ", + // This icon has no spaces around it because it is manually set as text. (sound.rs) + "crossed" => "\u{f00d}", + "volume_full" => " \u{f028} ", + "volume_half" => " \u{f027} ", + "volume_empty" => " \u{f026} ", + "volume_muted" => " \u{f026} ", + "mic_full" => " \u{f130} ", + "mic_half" => " \u{f130} ", + "mic_empty" => " \u{f130} ", + "mic_muted" => " \u{f131} ", + "thermometer" => " \u{f2c8} ", + "xrandr" => " \u{f26c} ", + "net_up" => " \u{2b06} ", + "net_down" => " \u{2b07} ", + "net_wireless" => " \u{f1eb} ", + "net_wired" => " \u{f0ac} ", + "ping" => " \u{21ba} ", + "backlight_empty" => " \u{f0eb} ", + "backlight_partial1" => " \u{f0eb} ", + "backlight_partial2" => " \u{f0eb} ", + "backlight_partial3" => " \u{f0eb} ", + "backlight_full" => " \u{f0eb} ", + "size" => " \u{f065} ", "weather_sun" => " \u{f185} ", "weather_snow" => " \u{f2dc} ", "weather_thunder" => " \u{f0e7} ", @@ -133,6 +189,7 @@ lazy_static! { "volume_muted" => " \u{e02b} ", "thermometer" => " \u{f2c8} ", // TODO "xrandr" => " \u{e31e} ", + "size" => " \u{e56b} ", // Same as time symbol. "uptime" => " \u{e192} ", "gpu" => " \u{e333} ", @@ -144,6 +201,7 @@ pub fn get_icons(name: &str) -> Option> { match name { "material" => Some(MATERIAL.clone()), "awesome" => Some(AWESOME.clone()), + "awesome 5" => Some(AWESOME_5.clone()), "none" => Some(NONE.clone()), _ => None, } diff --git a/src/util.rs b/src/util.rs index bc2cc0a5ad..bbd5ca2b5b 100644 --- a/src/util.rs +++ b/src/util.rs @@ -197,7 +197,7 @@ impl FormatTemplate { let s_as_bytes = s.clone().into_bytes(); //valid var tokens: {} containing any amount of alphanumericals - let re = Regex::new(r"\{[a-zA-Z0-9]+?\}") + let re = Regex::new(r"\{[_a-zA-Z0-9]+?\}") .internal_error("util", "invalid regex")?; let mut token_vec: Vec = vec![]; From abf4d4b3ba8bdf6473cd896491b5573321e642b1 Mon Sep 17 00:00:00 2001 From: fedario Date: Thu, 28 Mar 2019 14:32:18 +0100 Subject: [PATCH 10/10] should this be added? --- Cargo.lock | 852 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 852 insertions(+) create mode 100644 Cargo.lock diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000000..d9a555ceee --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,852 @@ +[[package]] +name = "aho-corasick" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "ansi_term" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "atty" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "backtrace" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "backtrace-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-demangle 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "backtrace-sys" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "base64" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "bitflags" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "byteorder" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cc" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cfg-if" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "chan" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "chrono" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-integer 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "chrono-tz" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "chrono 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "parse-zoneinfo 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "clap" +version = "2.31.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "textwrap 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "vec_map 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "cpuprofiler" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "error-chain 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "dbghelp-sys" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "dbus" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "libdbus-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "dtoa" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "encoding" +version = "0.2.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "encoding-index-japanese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding-index-korean 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding-index-simpchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding-index-singlebyte 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding-index-tradchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "encoding-index-japanese" +version = "1.20141219.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "encoding-index-korean" +version = "1.20141219.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "encoding-index-simpchinese" +version = "1.20141219.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "encoding-index-singlebyte" +version = "1.20141219.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "encoding-index-tradchinese" +version = "1.20141219.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "encoding_index_tests" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "error-chain" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "backtrace 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "fuchsia-zircon" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "fuchsia-zircon-sys" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "futures" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "i3ipc" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.53 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "i3status-rs" +version = "0.9.0" +dependencies = [ + "chan 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "chrono 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "chrono-tz 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "clap 2.31.2 (registry+https://github.com/rust-lang/crates.io-index)", + "cpuprofiler 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "dbus 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", + "i3ipc 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", + "inotify 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libpulse-binding 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "maildir 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", + "progress 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.53 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.53 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", + "toml 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "uuid 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "inotify" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "inotify-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "inotify-sys" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "itoa" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "kernel32-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "lazy_static" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "lazy_static" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "libc" +version = "0.2.43" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "libdbus-sys" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "libpulse-binding" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "libpulse-sys 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "libpulse-sys" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "log" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "log" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "maildir" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "mailparse 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "mailparse" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "base64 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", + "quoted_printable 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "memchr" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "nix" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num" +version = "0.1.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-bigint 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)", + "num-complex 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", + "num-iter 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", + "num-rational 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-bigint" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-integer 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-complex" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-traits 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-integer" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-traits 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-iter" +version = "0.1.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-integer 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-rational" +version = "0.1.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-bigint 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-traits" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "parse-zoneinfo" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "pkg-config" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "proc-macro2" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "progress" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "terminal_size 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "quote" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "quoted_printable" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "rand" +version = "0.3.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "redox_syscall" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "redox_termios" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", + "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex-syntax" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex-syntax" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "rustc-serialize" +version = "0.3.24" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "serde" +version = "1.0.53" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "serde_derive" +version = "1.0.53" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.13.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "serde_json" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.53 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "strsim" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "syn" +version = "0.13.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "terminal_size" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "termion" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "textwrap" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "thread_local" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "time" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "toml" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "serde 1.0.53 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "ucd-util" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "unicode-width" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "unicode-xid" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "unreachable" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "utf8-ranges" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "uuid" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "vec_map" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "winapi-build" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[metadata] +"checksum aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d6531d44de723825aa81398a6415283229725a00fa30713812ab9323faa82fc4" +"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" +"checksum atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "2fc4a1aa4c24c0718a250f0681885c1af91419d242f29eb8f2ab28502d80dbd1" +"checksum backtrace 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "346d7644f0b5f9bc73082d3b2236b69a05fd35cce0cfa3724e184e6a5c9e2a2f" +"checksum backtrace-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "44585761d6161b0f57afc49482ab6bd067e4edef48c12a152c237eb0203f7661" +"checksum base64 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a51012ca17f843e723dedc71fdd7feac9d8b53be85492aa9232b2da59ce6bb3b" +"checksum bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c54bb8f454c567f21197eefcdbf5679d0bd99f2ddbe52e84c77061952e6789" +"checksum byteorder 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "73b5bdfe7ee3ad0b99c9801d58807a9dbc9e09196365b0203853b99889ab3c87" +"checksum cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)" = "0ebb87d1116151416c0cf66a0e3fb6430cccd120fd6300794b4dfaa050ac40ba" +"checksum cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "405216fd8fe65f718daa7102ea808a946b6ce40c742998fbfd3463645552de18" +"checksum chan 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)" = "9af7c487bb99c929ba2715b1a3a7bf45f5062bf5b6eae5d32b292a96c5865172" +"checksum chrono 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1cce36c92cb605414e9b824f866f5babe0a0368e39ea07393b9b63cf3844c0e6" +"checksum chrono-tz 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aa1878c18b5b01b9978d5f130fe366d434022004d12fb87c182e8459b427c4a3" +"checksum clap 2.31.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f0f16b89cbb9ee36d87483dc939fe9f1e13c05898d56d7b230a0d4dff033a536" +"checksum cpuprofiler 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "33f07976bb6821459632d7a18d97ccca005cb5c552f251f822c7c1781c1d7035" +"checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850" +"checksum dbus 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5b2c58aab20dd6637871e6e03cb6122f00b496a91eb65b688639c940012d8710" +"checksum dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab" +"checksum encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec" +"checksum encoding-index-japanese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91" +"checksum encoding-index-korean 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81" +"checksum encoding-index-simpchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7" +"checksum encoding-index-singlebyte 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a" +"checksum encoding-index-tradchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18" +"checksum encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569" +"checksum error-chain 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bd5c82c815138e278b8dcdeffc49f27ea6ffb528403e9dea4194f2e3dd40b143" +"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" +"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" +"checksum futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)" = "1a70b146671de62ec8c8ed572219ca5d594d9b06c0b364d5e67b722fc559b48c" +"checksum i3ipc 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8a4e0c68a50475f32bf9a728de1198a8acc573ccdb24212db1192c874e37f302" +"checksum inotify 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3ad0bfe014aafc0f4e177fbe66c5f2b59ba59f66f58b022aa1963bbe71ab4118" +"checksum inotify-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7dceb94c43f70baf4c4cd6afbc1e9037d4161dbe68df8a2cd4351a23319ee4fb" +"checksum itoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c069bbec61e1ca5a596166e55dfe4773ff745c3d16b700013bcaff9a6df2c682" +"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" +"checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" +"checksum lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c8f31047daa365f19be14b47c29df4f7c3b581832407daabe6ae77397619237d" +"checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d" +"checksum libdbus-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8720f9274907052cb50313f91201597868da9d625f8dd125f2aca5bddb7e83a1" +"checksum libpulse-binding 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49e7378bffd76492e876a0afb9a016359379a6b5a859fecd039248f76ce719fb" +"checksum libpulse-sys 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dcac117c7e9fb50fe162d5fbc6b3818819bd173922f648fae017f913de68520" +"checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" +"checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" +"checksum maildir 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "83d9b449b6ff23db5eda044963296380c74941ac9480fc629840d7405e436c73" +"checksum mailparse 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "517ae98201a037bbd2dccdf88763e5818b26fc98a46725ae524424de2f67339f" +"checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d" +"checksum nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d37e713a259ff641624b6cb20e3b12b2952313ba36b6823c0f16e6cfd9e5de17" +"checksum num 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "4703ad64153382334aa8db57c637364c322d3372e097840c72000dabdcf6156e" +"checksum num-bigint 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "81b483ea42927c463e191802e7334556b48e7875297564c0e9951bd3a0ae53e3" +"checksum num-complex 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "b288631d7878aaf59442cffd36910ea604ecd7745c36054328595114001c9656" +"checksum num-integer 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)" = "f8d26da319fb45674985c78f1d1caf99aa4941f785d384a2ae36d0740bc3e2fe" +"checksum num-iter 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)" = "4b226df12c5a59b63569dd57fafb926d91b385dfce33d8074a412411b689d593" +"checksum num-rational 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "ee314c74bd753fc86b4780aa9475da469155f3848473a261d2d18e35245a784e" +"checksum num-traits 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c22f20a157cb4af265c71e47db525852368feeb4a0013f0f8c68a7f4ef0d0fc1" +"checksum parse-zoneinfo 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f4ee19a3656dadae35a33467f9714f1228dd34766dbe49e10e656b5296867aea" +"checksum pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "110d5ee3593dbb73f56294327fe5668bcc997897097cbc76b51e7aed3f52452f" +"checksum proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1b06e2f335f48d24442b35a19df506a835fb3547bc3c06ef27340da9acf5cae7" +"checksum progress 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "17b820305721858696053a7fd0215cfeeee16ecaaf96b7a209945428e02f1c44" +"checksum quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9949cfe66888ffe1d53e6ec9d9f3b70714083854be20fd5e271b232a017401e8" +"checksum quoted_printable 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ec1a063e17beecae242623379d30100975588fb3d2a4bf1df8550d872268a89f" +"checksum rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)" = "15a732abf9d20f0ad8eeb6f909bf6868722d9a06e1e50802b6a70351f40b4eb1" +"checksum rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5" +"checksum redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "0d92eecebad22b767915e4d529f89f28ee96dbbf5a4810d2b844373f136417fd" +"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" +"checksum regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384" +"checksum regex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "75ecf88252dce580404a22444fc7d626c01815debba56a7f4f536772a5ff19d3" +"checksum regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7" +"checksum regex-syntax 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8f1ac0f60d675cc6cf13a20ec076568254472551051ad5dd050364d70671bf6b" +"checksum rustc-demangle 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "76d7ba1feafada44f2d38eed812bd2489a03c0f5abb975799251518b68848649" +"checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda" +"checksum serde 1.0.53 (registry+https://github.com/rust-lang/crates.io-index)" = "de4dee3b122edad92d80c66cac8d967ec7f8bf16a3b452247d6eb1dbf83c8f22" +"checksum serde_derive 1.0.53 (registry+https://github.com/rust-lang/crates.io-index)" = "7149ef7af607b09e0e7df38b1fd74264f08a29a67f604d5cb09d3fbdb1e256bc" +"checksum serde_json 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)" = "f3ad6d546e765177cf3dded3c2e424a8040f870083a0e64064746b958ece9cb1" +"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" +"checksum syn 0.13.7 (registry+https://github.com/rust-lang/crates.io-index)" = "61b8f1b737f929c6516ba46a3133fd6d5215ad8a62f66760f851f7048aebedfb" +"checksum terminal_size 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "ef4f7fdb2a063032d361d9a72539380900bc3e0cd9ffc9ca8b677f8c855bae0f" +"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096" +"checksum textwrap 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c0b59b6b4b44d867f1370ef1bd91bfb262bf07bf0ae65c202ea2fbc16153b693" +"checksum thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "279ef31c19ededf577bfd12dfae728040a21f635b06a24cd670ff510edd38963" +"checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b" +"checksum toml 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a0263c6c02c4db6c8f7681f9fd35e90de799ebd4cfdeab77a38f4ff6b3d8c0d9" +"checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" +"checksum unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bf3a113775714a22dcb774d8ea3655c53a32debae63a063acc00a91cc586245f" +"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" +"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" +"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" +"checksum uuid 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8630752f979f1b6b87c49830a5e3784082545de63920d59fbaac252474319447" +"checksum vec_map 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "887b5b631c2ad01628bbbaa7dd4c869f80d3186688f8d0b6f58774fbe324988c" +"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" +"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" +"checksum winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "04e3bd221fcbe8a271359c04f21a76db7d0c6028862d1bb5512d85e1e2eb5bb3" +"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" +"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"