Files
ncspot/Cargo.toml
Henrik Friedrichsen 63722c5be3 Fix: Use buffered backend to prevent flickering
This is reported to be occuring with the Cursive Termion backend as it redraws
the screen every time, resulting in flickering for some users.

Should be removed once Cursive has integrated this.

See also:
- https://github.com/gyscos/cursive/issues/142
- https://github.com/gyscos/cursive/issues/667

Fixes #934
2022-09-11 23:34:24 +02:00

96 lines
3.1 KiB
TOML

[package]
authors = ["Henrik Friedrichsen <henrik@affekt.org>"]
description = "ncurses Spotify client written in Rust using librespot, inspired by ncmpc and the likes."
edition = "2021"
exclude = ["images/**"]
keywords = ["spotify", "ncurses", "librespot", "terminal"]
license = "BSD-2-Clause"
name = "ncspot"
readme = "README.md"
repository = "https://github.com/hrkfdn/ncspot"
version = "0.11.0"
[badges]
maintenance = {status = "actively-developed"}
[dependencies]
chrono = "0.4"
clap = "3.2.17"
clipboard = {version = "0.5", optional = true}
crossbeam-channel = "0.5"
dbus = {version = "0.9.6", optional = true}
dbus-tree = {version = "0.9.2", optional = true}
fern = "0.6"
futures = "0.3"
ioctl-rs = {version = "0.2", optional = true}
lazy_static = "1.3.0"
libc = "0.2.131"
librespot-core = "0.4.2"
librespot-playback = "0.4.2"
librespot-protocol = "0.4.2"
log = "0.4.16"
pancurses = {version = "0.17.0", optional = true}
parse_duration = "2.1.1"
platform-dirs = "0.3.0"
rand = "0.8"
regex = "1"
reqwest = {version = "0.11", features = ["blocking", "json"]}
serde = "1.0"
serde_cbor = "0.11.2"
serde_json = "1.0"
strum = "0.24.1"
strum_macros = "0.24.3"
tokio = {version = "1", features = ["rt-multi-thread", "sync", "time"]}
tokio-stream = "0.1.9"
toml = "0.5"
unicode-width = "0.1.9"
url = "2.2"
cursive_buffered_backend = "0.6.1"
[target.'cfg(target_os = "linux")'.dependencies]
wl-clipboard-rs = {version = "0.6", optional = true}
[dependencies.rspotify]
default-features = false
features = ["client-ureq", "ureq-rustls-tls"]
version = "0.11.5"
[dependencies.cursive]
default-features = false
version = "0.20.0"
[dependencies.notify-rust]
default-features = false
version = "4"
# Use dbus, which we already depend on, instead of zbus.
features = ["d"]
optional = true
[features]
alsa_backend = ["librespot-playback/alsa-backend"]
cover = ["ioctl-rs"] # Support displaying the album cover
default = ["share_clipboard", "pulseaudio_backend", "mpris", "notify", "termion_backend"]
mpris = ["dbus", "dbus-tree"] # Allow ncspot to be controlled via MPRIS API
notify = ["notify-rust"] # Show what's playing via a notification
pancurses_backend = ["cursive/pancurses-backend", "pancurses/win32"]
portaudio_backend = ["librespot-playback/portaudio-backend"]
pulseaudio_backend = ["librespot-playback/pulseaudio-backend"]
rodio_backend = ["librespot-playback/rodio-backend"]
share_clipboard = ["clipboard", "wl-clipboard-rs"] # Share a link to the system clipboard
share_selection = ["clipboard", "wl-clipboard-rs"] # Use the primary selection for sharing - linux and bsd only
termion_backend = ["cursive/termion-backend"]
[package.metadata.deb]
assets = [
["target/release/ncspot", "usr/bin/", "755"],
["misc/ncspot.desktop", "usr/share/applications/", "644"],
["images/logo.svg", "usr/share/icons/hicolor/scalable/apps/ncspot.svg", "644"],
["README.md", "usr/share/doc/ncspot/README.md", "644"],
]
depends = "$auto, pulseaudio"
extended-description = """\
ncurses Spotify client written in Rust using librespot. \
It is heavily inspired by ncurses MPD clients, such as ncmpc."""
license-file = ["LICENSE"]
priority = "optional"
section = "sound"