A tether forged in oxide, weaving the digital void.
Oxicord (錆緒, sabio) translates to "Oxide Cord." It is a high-performance, memory-safe Discord TUI client crafted in Rust. Born from the philosophy of Sabi (錆)—where beauty is found in the weathered and the enduring—it honors the strength of its codebase and the stillness of the terminal.
It is an atelier for the modern power user, designed for those who demand the precision of a forged blade and the quietude of a sanctuary.
⚠ The use of unofficial clients resides outside the established paths of Discord's Terms of Service. Journey at your own risk. The sanctity of your token must be guarded.
Oxicord is not merely built; it is curated. It adheres to a strict architecture where the logic is pure and the interface recedes to let the dialogue breathe.
- Oxidized Strength: Leverages the safety and speed of Rust to ensure a footprint as light as fallen snow.
- Architectural Intent: Follows Clean Architecture principles, ensuring the core logic remains untainted by external noise.
- Visual Harmony: Utilizes
ratatuiand TachyonFX to provide a fluid, artifact-free experience that respects the terminal's aesthetic.
A comprehensive collection of intentional tools, forged through continuous refinement.
- O(1) Message Geometry: A revolutionary layout strategy that ensures appending messages remains instant, regardless of the channel's history weight.
- Stealth Transport: Implements strict identity enforcement to mimic official client behavior, moving silently through the network.
- Permission-Based Clarity: The interface honors your Discord permissions, showing only the paths you are permitted to walk.
- Concurrent Integrity: Powered by
tokio, ensuring a non-blocking, responsive experience even in the busiest environments.
- Inline Image Mastery: High-resolution previews via
ratatui-imageandchafa, supporting Sixel, Kitty, iTerm2, and high-fidelity ANSI approximations. - Visual Grouping: Consecutive messages from the same author are visually gathered, creating a rhythmic and clean dialogue flow.
- Dynamic Theming: A theme engine with HSL support and role-based coloring for usernames, ensuring every voice is distinct.
- Animated Rituals: Subtle, non-intrusive animations powered by TachyonFX for splash screens and state transitions.
- Enhanced Quick Switcher: A fuzzy-search powerhouse with dynamic sorting that remembers your most frequent paths across sessions.
- Server Tree Ritual: A native custom tree implementation for guilds and channels, designed for spatial intuition without emoji clutter.
- Vim-like Fluidity: Navigation via
j/kandg/Gfeels as natural as breathing. - Integrated Explorer: A modal file picker with fuzzy search for attaching files and media without leaving the terminal.
- Rich Typography: Full Markdown support with syntax highlighting for code blocks, rendered with precision.
- Intelligent Autocomplete: A context-aware system for
@mentionsthat anticipates your intent. - External Reflection: Use the
okeybinding to open links and images, or invoke your$EDITORfor long-form composition. - Infinite Scroll: History fetches automatically as you ascend, removing the friction of manual loading.
- Presence Indicators: Real-time typing feedback and unread markers keep you anchored to the present.
We honor those who paved the way. Oxicord is a single thread in a larger tapestry of terminal excellence.
- Regarding Endcord: A venerable beast of features and extensibility. While it offers a vast toolkit, Oxicord chooses a different path—prioritizing the raw performance and "crash-proof" reliability of the Rust language.
- Regarding Discordo: The original spark. Discordo pioneered the TUI layout we admire. Oxicord seeks to evolve this vision through a deeper architectural rigor and the rendering precision of the Ratatui ecosystem.
- Regarding Rivet: A fellow traveler in the Rust landscape. Oxicord distinguishes itself through a focus on high-density information and specific optimizations for those who live within tiling window managers.
Oxicord can be installed from the AUR. You can choose between:
- the latest release version package: oxicord
- the git package (to build the latest commit on main branch): oxicord-git
- the bin package (to avoid compiling): oxicord-bin
For example:
paru -S oxicordnix run github:linuxmobile/oxicordPrerequisites: pkg-config, dbus, chafa, glib2, mold, clang.
git clone https://github.com/linuxmobile/oxicord
cd oxicord
cargo build --release
./target/release/oxicordOxicord honors the XDG Base Directory specification. Your configuration resides in ~/.config/oxicord/config.toml.
# A fragment of the Oxicord config.toml
log_level = "info"
mouse = true
quick_switcher_order = "recents"
[ui]
group_guilds = false
use_display_name = true
image_preview = true
timestamp_format = "%H:%M"
enable_animations = true
[notifications]
desktop = true
internal = true
[theme]
accent_color = "Yellow"
mode = "dark"Authentication is a sacred link. Oxicord provides two paths, but first, you must embark on a ritual of discovery to retrieve your unique token.
To anchor yourself to the Discord network, you must retrieve your unique signature—your token.
- Enter the Web Interface: Log in to Discord via a web browser.
- Open the Developer Console: Press
F12orCtrl+Shift+Ito reveal the inner workings. - The Network Path: Select the Network tab and filter for
/api. - A Moment of Interaction: Click on any channel or trigger a message to create a pulse in the network.
- Retrieve the Essence: Inspect any request (e.g.,
messages) and find theauthorizationheader. Copy this value—it is your key to the void.
- Keyring Storage (Recommended): Run
oxicordand provide your token when prompted. It will be securely guarded by your system's keyring (Keychain/libsecret). - Environment Variable: For temporary sessions, use
export OXICORD_TOKEN="...".
Oxicord is a full rewrite of Discordo. We extend our deepest gratitude to the original maintainers; their work provided the foundation upon which this sanctuary was built.
One thread, weathered by time, binding the digital horizon.
