[package]
edition = "2024"
name = "term39"
version = "1.5.1"
authors = ["Alejandro Quintanar"]
build = "build.rs"
exclude = [
"assets/*",
".github/*",
".git/*",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A modern, retro-styled terminal multiplexer with a classic MS-DOS aesthetic"
homepage = "https://github.com/alejandroqh/term39"
readme = "README.md"
keywords = [
"terminal",
"multiplexer",
"tui",
"dos",
"retro",
]
categories = ["command-line-utilities"]
license = "MIT"
repository = "https://github.com/alejandroqh/term39"
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/term39-{ version }-{ target-family }-{ target-arch }-binary{ archive-suffix }"
bin-dir = "{ bin }{ binary-ext }"
pkg-fmt = "tgz"
[package.metadata.binstall.overrides.x86_64-unknown-linux-gnu]
pkg-url = "{ repo }/releases/download/v{ version }/term39-{ version }-linux-64bit-x86-binary.tar.gz"
[package.metadata.binstall.overrides.x86_64-unknown-linux-musl]
pkg-url = "{ repo }/releases/download/v{ version }/term39-{ version }-linux-64bit-x86-binary.tar.gz"
[package.metadata.binstall.overrides.i686-unknown-linux-gnu]
pkg-url = "{ repo }/releases/download/v{ version }/term39-{ version }-linux-32bit-x86-binary.tar.gz"
[package.metadata.binstall.overrides.i686-unknown-linux-musl]
pkg-url = "{ repo }/releases/download/v{ version }/term39-{ version }-linux-32bit-x86-binary.tar.gz"
[package.metadata.binstall.overrides.aarch64-unknown-linux-gnu]
pkg-url = "{ repo }/releases/download/v{ version }/term39-{ version }-linux-64bit-arm-binary.tar.gz"
[package.metadata.binstall.overrides.aarch64-unknown-linux-musl]
pkg-url = "{ repo }/releases/download/v{ version }/term39-{ version }-linux-64bit-arm-binary.tar.gz"
[package.metadata.binstall.overrides.x86_64-apple-darwin]
pkg-url = "{ repo }/releases/download/v{ version }/term39-{ version }-macos-64bit-x86-binary.tar.gz"
[package.metadata.binstall.overrides.aarch64-apple-darwin]
pkg-url = "{ repo }/releases/download/v{ version }/term39-{ version }-macos-64bit-arm-binary.tar.gz"
[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
pkg-url = "{ repo }/releases/download/v{ version }/term39-{ version }-windows-64bit-x86-binary.zip"
pkg-fmt = "zip"
[package.metadata.binstall.overrides.i686-pc-windows-msvc]
pkg-url = "{ repo }/releases/download/v{ version }/term39-{ version }-windows-32bit-x86-binary.zip"
pkg-fmt = "zip"
[package.metadata.binstall.overrides.aarch64-pc-windows-msvc]
pkg-url = "{ repo }/releases/download/v{ version }/term39-{ version }-windows-64bit-arm-binary.zip"
pkg-fmt = "zip"
[package.metadata.binstall.overrides.x86_64-unknown-freebsd]
pkg-url = "{ repo }/releases/download/v{ version }/term39-{ version }-freebsd-64bit-x86-binary.tar.gz"
[package.metadata.deb]
maintainer = "Alejandro Quintanar <a@q39.dev>"
copyright = "2025, Alejandro Quintanar <a@q39.dev>"
license-file = [
"LICENSE",
"4",
]
extended-description = "A modern, retro-styled terminal multiplexer with a classic MS-DOS aesthetic. Features a full-screen text-based interface with authentic DOS-style rendering, supporting both Unicode and ASCII rendering modes. Includes optional framebuffer backend for direct Linux console rendering with pixel-perfect DOS text modes."
depends = "$auto"
section = "utils"
priority = "optional"
assets = [
[
"target/release/term39",
"usr/bin/",
"755",
],
[
"README.md",
"usr/share/doc/term39/README.md",
"644",
],
]
[package.metadata.generate-rpm]
license = "MIT"
[[package.metadata.generate-rpm.assets]]
source = "target/release/term39"
dest = "/usr/bin/term39"
mode = "755"
[[package.metadata.generate-rpm.assets]]
source = "README.md"
dest = "/usr/share/doc/term39/README.md"
mode = "644"
[[package.metadata.generate-rpm.assets]]
source = "LICENSE"
dest = "/usr/share/doc/term39/LICENSE"
mode = "644"
[features]
battery = ["dep:starship-battery"]
bsd = [
"clipboard",
"battery",
"lockscreen",
]
bsd-minimal = ["clipboard"]
clipboard = ["dep:arboard"]
default = [
"clipboard",
"framebuffer-backend",
"battery",
"lockscreen",
]
framebuffer-backend = [
"dep:framebuffer",
"dep:memmap2",
"dep:flate2",
]
full = [
"clipboard",
"framebuffer-backend",
"battery",
"lockscreen",
]
lockscreen = [
"dep:pam-client",
"dep:windows-sys",
]
minimal = []
termux = ["clipboard"]
tty = [
"clipboard",
"battery",
]
[[bin]]
name = "term39"
path = "src/main.rs"
[dependencies.arboard]
version = "3.4"
optional = true
[dependencies.chrono]
version = "0.4.42"
[dependencies.clap]
version = "4.5"
features = ["derive"]
[dependencies.crossterm]
version = "0.29.0"
features = [
"events",
"bracketed-paste",
"windows",
"filedescriptor",
]
default-features = false
[dependencies.directories]
version = "6.0"
[dependencies.dirs]
version = "6.0"
[dependencies.filedescriptor]
version = "0.8"
[dependencies.libc]
version = "0.2"
[dependencies.portable-pty]
version = "0.9"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.starship-battery]
version = "0.10"
optional = true
[dependencies.toml]
version = "0.9"
[dependencies.tui-banner]
version = "0.2"
[dependencies.unicode-width]
version = "0.2"
[dependencies.vte]
version = "0.15"
[build-dependencies.winres]
version = "0.1"
[target.'cfg(any(target_os = "linux", target_os = "freebsd", target_os = "netbsd"))'.dependencies.pam-client]
version = "0.5"
optional = true
default-features = false
[target.'cfg(target_os = "linux")'.dependencies.flate2]
version = "1.0"
optional = true
[target.'cfg(target_os = "linux")'.dependencies.framebuffer]
version = "0.3"
optional = true
[target.'cfg(target_os = "linux")'.dependencies.memmap2]
version = "0.9"
optional = true
[target.'cfg(target_os = "windows")'.dependencies.windows-sys]
version = "0.61"
features = [
"Win32_Security",
"Win32_Foundation",
]
optional = true
[profile.release]
lto = true
codegen-units = 1
strip = true