[package]
name = "rioterm"
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
keywords.workspace = true
repository = "https://github.com/raphamorim/rio"
documentation = "https://github.com/raphamorim/rio#readme"
description = "A hardware-accelerated GPU terminal emulator powered by WebGPU, focusing to run in desktops and browsers"
[[bin]]
name = "rio"
path = "src/main.rs"
[lib]
path = "src/wasm.rs"
crate-type = ["cdylib", "rlib"]
[dependencies]
winit = { workspace = true }
log = { workspace = true }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
base64 = "0.21.5"
bitflags = "2.4.1"
futures = "0.3.29"
bytemuck = { workspace = true }
rio-config = { workspace = true }
corcovado = { workspace = true }
regex = { workspace = true }
raw-window-handle = { workspace = true }
clap = { version = "4.4.7", features = ["derive"] }
copypasta = { version = "0.10.0", default-features = false }
dirs = "5.0.1"
notify = "6.1.1"
image = { workspace = true }
lazycell = "1.3.0"
libc = { workspace = true }
parking_lot = { workspace = true }
serde = { workspace = true }
sugarloaf = { workspace = true }
teletypewriter = { workspace = true }
tokio = { workspace = true }
unicode-width = { workspace = true }
copa = { workspace = true }
wgpu = { workspace = true }
unicode-normalization = "0.1.22"
cursor-icon = { version = "1.0.0", default-features = false }
[target.'cfg(target_os = "macos")'.dependencies]
objc2 = { version = "=0.3.0-beta.0" }
objc2-foundation = { version = "=0.2.0-alpha.5" }
[target.'cfg(windows)'.dependencies]
ahash = { version = "0.8.2", default-features = false, features = ["std"] }
tinyvec = { version = "1.6.0", features = ["alloc"] }
windows-sys = { version = "0.48", features = [
"Win32_System_Console",
"Win32_Foundation",
"Win32_Security",
"Win32_System_LibraryLoader",
"Win32_System_Threading",
"Win32_System_WindowsProgramming",
"Win32_System_IO",
"Win32_Graphics_Gdi",
"Win32_UI_Shell",
"Win32_UI_WindowsAndMessaging",
]}
[target.'cfg(target_arch = "wasm32")'.dependencies]
softbuffer = "0.3.0"
js-sys = "0.3.64"
wgpu = { workspace = true }
web-sys = { version = "0.3.62", features = [
"Location",
"Document",
"Navigator",
"Node",
"NodeList",
"Gpu",
"GpuAdapter",
"GpuAddressMode",
"GpuAutoLayoutMode",
"GpuBindGroup",
"GpuBindGroupDescriptor",
"GpuBindGroupEntry",
"GpuBindGroupLayout",
"GpuBindGroupLayoutDescriptor",
"GpuBindGroupLayoutEntry",
"GpuBlendComponent",
"GpuBlendFactor",
"GpuBlendOperation",
"GpuBlendState",
"GpuBuffer",
"GpuBufferBinding",
"GpuBufferBindingLayout",
"GpuBufferBindingType",
"GpuBufferDescriptor",
"GpuCanvasAlphaMode",
"GpuCanvasContext",
"GpuCanvasConfiguration",
"GpuColorDict",
"GpuColorTargetState",
"GpuCommandBuffer",
"GpuCommandBufferDescriptor",
"GpuCommandEncoder",
"GpuCommandEncoderDescriptor",
"GpuCompareFunction",
"GpuCompilationInfo",
"GpuCompilationMessage",
"GpuCompilationMessageType",
"GpuComputePassDescriptor",
"GpuComputePassEncoder",
"GpuComputePipeline",
"GpuComputePipelineDescriptor",
"GpuCullMode",
"GpuDepthStencilState",
"GpuDevice",
"GpuDeviceDescriptor",
"GpuDeviceLostInfo",
"GpuDeviceLostReason",
"GpuError",
"GpuErrorFilter",
"GpuExtent3dDict",
"GpuFeatureName",
"GpuFilterMode",
"GpuFragmentState",
"GpuFrontFace",
"GpuImageCopyBuffer",
"GpuImageCopyExternalImage",
"GpuImageCopyTexture",
"GpuImageCopyTextureTagged",
"GpuImageDataLayout",
"GpuIndexFormat",
"GpuLoadOp",
"gpu_map_mode",
"GpuMipmapFilterMode",
"GpuMultisampleState",
"GpuObjectDescriptorBase",
"GpuOrigin2dDict",
"GpuOrigin3dDict",
"GpuOutOfMemoryError",
"GpuPipelineDescriptorBase",
"GpuPipelineLayout",
"GpuPipelineLayoutDescriptor",
"GpuPowerPreference",
"GpuPrimitiveState",
"GpuPrimitiveTopology",
"GpuProgrammableStage",
"GpuQuerySet",
"GpuQuerySetDescriptor",
"GpuQueryType",
"GpuQueue",
"GpuRenderBundle",
"GpuRenderBundleDescriptor",
"GpuRenderBundleEncoder",
"GpuRenderBundleEncoderDescriptor",
"GpuRenderPassColorAttachment",
"GpuRenderPassDepthStencilAttachment",
"GpuRenderPassDescriptor",
"GpuRenderPassEncoder",
"GpuRenderPipeline",
"GpuRenderPipelineDescriptor",
"GpuRequestAdapterOptions",
"GpuSampler",
"GpuSamplerBindingLayout",
"GpuSamplerBindingType",
"GpuSamplerDescriptor",
"GpuShaderModule",
"GpuShaderModuleDescriptor",
"GpuStencilFaceState",
"GpuStencilOperation",
"GpuStorageTextureAccess",
"GpuStorageTextureBindingLayout",
"GpuStoreOp",
"GpuSupportedFeatures",
"GpuSupportedLimits",
"GpuTexture",
"GpuTextureAspect",
"GpuTextureBindingLayout",
"GpuTextureDescriptor",
"GpuTextureDimension",
"GpuTextureFormat",
"GpuTextureSampleType",
"GpuTextureView",
"GpuTextureViewDescriptor",
"GpuTextureViewDimension",
"GpuUncapturedErrorEvent",
"GpuUncapturedErrorEventInit",
"GpuValidationError",
"GpuVertexAttribute",
"GpuVertexBufferLayout",
"GpuVertexFormat",
"GpuVertexState",
"GpuVertexStepMode",
"HtmlCanvasElement",
"OffscreenCanvas",
"ImageBitmap",
"ImageBitmapRenderingContext",
"Window",
"WorkerGlobalScope",
"WorkerNavigator"
] }
console_log = { workspace = true }
wasm-bindgen = { workspace = true }
console_error_panic_hook = { workspace = true }
wasm-bindgen-futures = { workspace = true }
[features]
default = ["wayland", "x11"]
x11 = [
"copypasta/x11",
"winit/x11"
]
wayland = [
"copypasta/wayland",
"winit/wayland",
"winit/wayland-dlopen",
"winit/wayland-dlopen",
"winit/wayland-csd-adwaita-crossfont",
]
[package.metadata.deb]
name = "rio"
maintainer = "Raphael Amorim <rapha850@gmail.com>"
copyright = "2023, Raphael Amorim <rapha850@gmail.com>"
depends = "$auto"
section = "admin"
priority = "optional"
assets = [
["../target/release/rio", "usr/local/bin/", "755"],
["../misc/rio.desktop", "usr/share/applications/", "644"],
["../misc/rio.terminfo", "usr/share/info/", "644"],
["../misc/logo.svg", "usr/share/icons/hicolor/scalable/apps/rio.svg", "644"],
["../README.md", "usr/share/doc/rio/", "644"],
["../LICENSE", "usr/share/doc/rio/", "664"]
]
extended-description = """\
Rio terminal is a hardware-accelerated GPU terminal emulator powered by WebGPU, focusing to run in desktops and browsers.
The supported platforms currently consist of BSD, Linux, macOS and Windows."""