{"slug": "oxide-a-native-terminal-for-macos-and-linux-built-on-gpui", "title": "Oxide – a native terminal for macOS and Linux, built on GPUI", "summary": "Oxide, a native terminal emulator for macOS and Linux written entirely in Rust, has been released, built on GPUI (Zed's UI framework) and the alacritty_terminal crate for PTY and VT parsing. Oxide is GPU-rendered and bundles a vim-navigable file-tree drawer, tmux-style workspaces, a powerline prompt, and a vim copy mode, all configured through a single TOML file that reloads on save, with no account, AI, or telemetry. It installs on macOS 12 or later via Homebrew cask or a notarized DMG, and on Linux x86_64 (Wayland or X11) via an Arch PKGBUILD or a release tarball with install.sh, requiring a Vulkan driver and libnotify.", "body_md": "A native terminal emulator for macOS and Linux, written entirely in Rust.\n\n*Rust is iron oxide. It's a whole thing.*\n\n[Website](https://oxideterminal.com) ·\n  [Docs](https://oxideterminal.com/docs/) ·\n  [Changelog](https://oxideterminal.com/changelog/) ·\n  [Compare](https://oxideterminal.com/compare/) ·\n  [Discord](https://discord.gg/APV9FYGgeh)\n\nOxide is a GPU-rendered terminal built on [GPUI](https://www.gpui.rs) (Zed's UI framework) and\n[`alacritty_terminal`](https://crates.io/crates/alacritty_terminal) (Alacritty's PTY + VT parser),\nwith a file-tree drawer you drive like vim and a status bar that knows where your shell is.\nThe things you'd normally bolt on — a file tree, tmux-style workspaces, a powerline prompt,\na vim copy mode — are built in, and all of it is configured in one TOML file that reloads\nwhen you save. No account, no AI, no telemetry: the only thing Oxide asks the network is\nwhether GitHub has a newer release.\n\n**macOS**\n\n```\nbrew install --cask oxide-terminal/tap/oxide-terminal\n```\n\nOr grab the DMG from the [latest release](https://github.com/oxide-terminal/oxide/releases/latest)\nand drag Oxide to Applications. Builds are Developer ID signed and notarized, so there's no\nright-click-to-open dance, and Oxide keeps itself up to date afterwards — it checks on launch\nand every six hours, or on demand via **Oxide → Check for Updates…**\n\n**Linux** (Wayland or X11, x86_64)\n\n```\n# Arch and derivatives: a pacman package from the PKGBUILD in this repo\n# (an AUR package will follow once AUR registration reopens)\ngit clone https://github.com/oxide-terminal/oxide.git\ncd oxide/packaging/aur/oxide-terminal-bin && makepkg -si\n\n# any distro: the release tarball\ntar xzf oxide-<version>-linux-x86_64.tar.gz\ncd oxide-<version>-linux-x86_64 && ./install.sh        # into ~/.local, no root\n```\n\nThe tarball is on the same [release page](https://github.com/oxide-terminal/oxide/releases/latest).\n`install.sh` puts `oxide` on your PATH and adds the launcher entry and icon;\n`--prefix /usr/local` (with sudo) installs system-wide, `--uninstall` removes it.\nInstalled copies announce a newer release in the top-right corner; `git pull` and\n`makepkg -si` again, or a fresh tarball, does the update.\n\n- macOS 12 or later, Apple Silicon or Intel; or Linux with a Vulkan driver\n(any GPU from the last decade — Mesa's `vulkan-radeon` /`vulkan-intel` , or`nvidia-utils` ) and`notify-send` (libnotify) for desktop notifications.\n- No font to install — JetBrainsMono Nerd Font Mono is bundled. Set `font.family` to use your own.\n- zsh or bash for the built-in prompt and shell integration. Other shells run fine and keep their own prompt.\n\nOxide never writes to your dotfiles. Full instructions are in the\n[install docs](https://oxideterminal.com/docs/install/).\n\n| <sub>**Splits** — a file opened from the tree in `$EDITOR`, a dev server beside it.</sub> | <sub>**Command palette** (` cmd-shift-p`) — every action, fuzzy-searchable, with its binding.</sub> | \n| <sub>**Theme picker** (`cmd-alt-t`) — repaints the whole window as you move through it.</sub> | <sub>**Rename a tab** with `ctrl-w ,` or a double-click; an empty name restores the automatic title.</sub> | \n\nThe short tour. Every feature has a page in the [docs](https://oxideterminal.com/docs/).\n\n- **Real terminal** — full VT emulation via Alacritty's parser: truecolor, wide glyphs and\ncombining marks, bracketed paste, mouse reporting (SGR), alternate-screen scrolling, OSC 8\nhyperlinks, OSC 52 clipboard. vim, htop, and tmux just work.\n- **File tree drawer** — follows the focused pane, so switching splits re-roots it to\nthat shell's directory. Modeless vim navigation (`j` /`k` /`gg` /`G` , nvim-tree style`h` /`l` ),\ntype-to-filter with`/` , and file operations:`a` add,`r` rename,`m` move,`d` delete\n(to Trash).\nDims gitignored files, watches the filesystem, and follows the shell's`cd` automatically.\n- **The tree/terminal seam** —`y` inserts the selected path at the prompt, quoted and\nrelative;`cmd-click` a`path:line:col` in output to open it in`$EDITOR` at that line\n(nvim, VS Code, emacs, Sublime, Helix dialects built in); rows are coloured by git status;`cmd-p` fuzzy-finds any file under the root;`cmd-shift-r` reveals the shell's directory;\nright-click a row to re-root, copy, or reveal in Finder / your file manager — or, on a`.md` file, preview it\nrendered in a new tab (tables, highlighted code with click-to-copy); drag rows or drop files onto a pane.\n- **Scrollback search** —`cmd-f` , live,`⏎` /`⇧⏎` to walk matches; regex, case-sensitive,\nand whole-word toggles as clickable chips (`cmd-alt-r` /`c` /`w` ), and a malformed\nregex says so instead of matching nothing.\n- **Copy mode** —`ctrl-w [` (or`cmd-shift-v` ) turns the scrollback into a vim buffer:`hjkl` ,`w b e` ,`0 ^ $` ,`gg G` ,`ctrl-d/u` , counts like`5j` ,`/` and`?` search with`n` /`N` ,`v` /`V` /`ctrl-v` visual selection,`y` to yank and leave. Nothing typed\nreaches the shell until you`esc` .\n- **Prompt jumping** —`cmd-↑` /`cmd-↓` hop between previous prompts in scrollback.\n- **SSH awareness** — Oxide watches the foreground process: an`ssh` shows`ssh: host` in the status bar, and`[[ssh.hosts]]` patterns give a host an accent colour\non the pane border so a production box is visibly red. The process name also titles\nthe tab (`vim` ,`cargo` ,`ssh prod-web` ).\n- **Command awareness** — the shell integration's OSC 133 markers are read straight off the\nPTY, so Oxide knows what's running, how long it took, and whether it failed: elapsed time\nin the status bar, activity dots on tabs, a red flash on a background pane that failed, a\nfailure gutter you can click to jump to the command, and desktop notifications for long or\nfailed commands in panes you aren't watching (click to focus the pane).\n- **Command history** —`cmd-r` searches every command run in any pane, with its directory\nand exit status;`⏎` inserts it at the prompt,`⌘⏎` runs it.`cmd-shift-c` copies the last\ncommand's output.\n- **Status bar** — workspace, current tab (number or name,`status_bar.tab` ), cwd plus git\nbranch, dirty state, and ahead/behind, rendered natively.\n- **Configurable prompt***(optional)* — compile a powerline prompt from TOML segments\n(`cwd` ,`git` ,`exit_status` ,`time` ,`duration` , …), injected without touching your\ndotfiles (ZDOTDIR shim for zsh,`--init-file` for bash), with OSC 133 semantic prompt\nmarkers. Or set`prompt.enabled = false` and keep your starship/p10k prompt as-is.\n- **Themes** —`catppuccin-mocha` ,`catppuccin-latte` ,`gruvbox-dark` ,`tokyonight` ,`dracula` ,`nord` ,`solarized-dark` , and`oxide` (rust-toned, naturally), plus the[Omarchy](https://omarchy.org/manual/themes/) set:`kanagawa` ,`everforest` ,`osaka-jade` ,`matte-black` ,`hackerman` ,`rose-pine-dawn` , and a dozen more —\n25 presets in all. Any color\nindividually overridable, including`selection_fg` .`follow_system = true` switches\nbetween a dark and a light preset with the system appearance (macOS, or the desktop's\ndark/light preference on Linux). Config reloads live.\n- **Split panes** — split in any direction and nest freely; navigation moves by what's\non screen, and`exit` or`ctrl-w q` closes a pane and reclaims its space. Drag a\ndivider or use`ctrl-w < > - + =` to resize. tmux reflexes:`ctrl-w z` zooms a pane\nto the full tab,`ctrl-w b` broadcasts typing to every pane in the tab (with a red\nborder and a loud status-bar pill),`ctrl-w o` closes the others,`ctrl-w x` swaps with\nthe neighbour.`window.inactive_pane_opacity` dims the panes you aren't in.\n- **Command palette** —`cmd-shift-p` lists every action with its binding, fuzzy-searchable.\n- **Menus on Linux** — a ☰ button in the top-left corner holds the same Oxide / File /\nEdit / View / Window / Help menus macOS puts in the menu bar, shortcuts included\n(`app::menu` opens it from the keyboard).\n- **Configurable keys** — a`[keymap]` table in config.toml rebinds anything; typos get a\ntoast with a suggestion, and a bare key that would steal from your shell is refused.\n- **Toasts, not dialogs** — config errors, update problems, and other notices land as\ntoasts in the bottom-right corner; click or`×` to dismiss. The first launch after an update\nshows one that opens the changelog in a new tab.\n- **Tabs** — a Zed-style in-app tab bar, so tabs work everywhere (including under\ntiling window managers).`cmd-t` opens one in the current directory or`~/` (`window.new_tab_directory` );`cmd-1..9` jump straight to a tab. Double-click or`ctrl-w ,` to rename one (names survive with pinned workspaces), drag tabs to reorder,`cmd-shift-t` reopens the last closed one. Each tab carries its number\n(`tabs.show_numbers` ), and the whole bar can be hidden — View → Toggle Tab Bar, or`tabs.enabled = false` — with the status bar still showing which tab you're on.\n- **Workspaces** — named sets of tabs and splits, tmux-session style, managed from the\ndrawer below the file tree (`a` add,`r` rename,`d` delete,`p` pin);`cmd-alt-1..9` jump straight to one. Temporary by\ndefault; pinned ones survive restarts, restoring layout, tabs, splits, and each\npane's directory with fresh shells.\n- **Startup commands** — the tmuxinator move: give a pane a command (`ctrl-w r` ,\nprefilled with the last thing that ran there) and a pinned workspace re-runs it on\nrestore, once that pane's shell is actually at a prompt.`on exit` per pane: back to\nthe shell, close the pane, or restart with backoff (and a breaker after five quick\nexits).`e` in the workspaces panel edits every pane's command at once;`--no-startup-commands` or shift at launch restores the layout without running any.\n- **The details** — window size/position persistence,`cmd-click` to open URLs, copy-on-select option, font size at runtime\n(`cmd +/-/0` ), configurable bell, a`[cursor]` section (block / bar / underline, blink\nrate, unfocused look — and vim's per-mode DECSCUSR shapes are honoured), a font\nfallback list for CJK and emoji, a \"2,340 lines above\" pill while scrolled up,`cmd-k` to clear scrollback, and optional dimming of the whole window when another app is\nfrontmost.\n\nThe everyday ones. The [full keymap](https://oxideterminal.com/docs/keybindings/) lists every\naction id, and a `[keymap]` table in your config rebinds any of them.\n\nThe `ctrl-w` chords are the same everywhere. Where macOS uses `cmd`, Linux uses\n`ctrl-shift` (the usual terminal convention — plain `ctrl-c` stays the shell's) and\n`alt-1..9` for tabs, because Super belongs to the window manager.\n\n| macOS | Linux | Action | \n|---|---|---|\n| `ctrl-w h` /`ctrl-w l` /`ctrl-w w` | same | focus tree / terminal / toggle | \n| `cmd-b` | `ctrl-shift-b` | toggle the drawer | \n| `ctrl-w t` /`cmd-shift-e` | `ctrl-w t` /`ctrl-shift-e` | focus the file tree from anywhere | \n| `cmd-f` | `ctrl-shift-f` | search scrollback ( `⏎` older,`⇧⏎` newer,`esc` close;`cmd-alt-r` /`c` /`w` —`ctrl-alt-r` /`c` /`w` on Linux — toggle regex / case / whole word) | \n| `ctrl-w [` /`cmd-shift-v` | `ctrl-w [` | copy mode — vim keys in the scrollback, `y` yanks,`esc` leaves | \n| `cmd-k` | `ctrl-shift-k` | clear scrollback | \n| `cmd-↑` /`cmd-↓` | `ctrl-shift-↑` /`↓` | jump to previous / next prompt | \n| `cmd-r` | `ctrl-shift-r` | command history ( `⏎` insert,`⌘⏎` /`ctrl-⏎` run) | \n| `cmd-p` | `ctrl-shift-o` | fuzzy file finder ( `⏎` open,`⌘⏎` /`ctrl-⏎` insert path,`⌥⏎` reveal) | \n| `cmd-shift-r` | `ctrl-shift-alt-r` | reveal the shell's directory in the tree | \n| `cmd-click` | `ctrl-click` | open a URL, or a `path:line` in`$EDITOR` | \n| `cmd-shift-c` | `ctrl-shift-alt-c` | copy the last command's output | \n| `cmd-t` /`cmd-n` | `ctrl-shift-t` /`ctrl-shift-n` | new tab / new window | \n| `ctrl-w ,` /`cmd-shift-t` | `ctrl-w ,` /`ctrl-shift-alt-t` | rename tab (double-click works too) / reopen the last closed tab | \n| `ctrl-w r` | same | set the pane's startup command (run when its pinned workspace is restored) | \n| `cmd-1..9` | `alt-1..9` | jump to tab | \n| `cmd-alt-1..9` | `ctrl-alt-1..9` | jump to workspace | \n| `⌃tab``⇧⌘]` /`⌃⇧tab``⇧⌘[` | `ctrl-tab`` ctrl-pgdn` /`ctrl-shift-tab`` ctrl-pgup` | next / previous tab | \n| `ctrl-w p` | same | focus the workspaces panel ( `tab` toggles tree ↔ workspaces) | \n| `ctrl-w v` /`ctrl-w s` | same | split right / down ( `⇧V` /`⇧S` for left / up) | \n| `cmd-d` /`cmd-shift-d` | — | split right / down | \n| `ctrl-w h`` j``k`` l` | same | move between panes ( `h` from the leftmost focuses the tree) | \n| `cmd-opt-←↓↑→` | — | move between panes | \n| `ctrl-w q` /`cmd-w` | `ctrl-w q` /`ctrl-shift-w` | close pane (closes the window when it's the last one) | \n| `ctrl-w <``>``-``+` | same | resize the pane by a few cells ( `ctrl-w =` equalises) | \n| `ctrl-w z` /`ctrl-w b` | same | zoom the pane to the full tab / broadcast input to every pane in the tab | \n| `ctrl-w o` /`ctrl-w x` | same | close the other panes / swap the pane with its neighbour | \n| `cmd-shift-p` /`cmd-alt-t` | `ctrl-shift-p` /`ctrl-w shift-t` | command palette / theme picker | \n| `cmd-c` /`cmd-v` | `ctrl-shift-c` /`ctrl-shift-v` | copy / paste (bracketed); Linux also pastes the primary selection on middle-click | \n| `cmd +` /`-` /`0` | `ctrl +` /`-` /`0` | font size | \n| `cmd-q` | `ctrl-shift-q` | quit | \n\n## **In the tree** — bare keys are free; there's no text input to collide with\n\n| Keys | Action | \n|---|---|\n| `j`` k``gg`` G``ctrl-d`` ctrl-u` | move | \n| `l` /`h` | expand & descend / collapse & ascend (nvim-tree semantics) | \n| `enter` /`o` | open dir, or file in `$EDITOR` | \n| `y` /`Y` | insert the path at the prompt (relative / absolute) | \n| `cmd-c` (`ctrl-shift-c` ) | copy the path | \n| `cmd-shift-o` (`ctrl-shift-o` ) | reveal in Finder / the file manager | \n| `c` /`-` | re-root at selection / at parent (cd's the shell too) | \n| `/` | filter ( `esc` clears) | \n| `a` /`r` /`m` /`d` | add ( `dir/` with trailing slash) / rename / move / delete to Trash | \n| `I` /`R` | toggle hidden / refresh | \n| `esc` | dismiss input → clear filter → back to terminal | \n\n## **In copy mode** — `ctrl-w [`; keys never reach the shell\n\n| Keys | Action | \n|---|---|\n| `h`` j``k`` l` , arrows | move the cursor (counts work: `5j` ) | \n| `w`` b``e` /`W`` B``E` | word motions (punctuation-aware / whitespace) | \n| `0``^``$` /`gg`` G` /`H`` M``L` | line / buffer / screen positions | \n| `ctrl-d`` ctrl-u` /`ctrl-f`` ctrl-b` | half page / full page | \n| `/``?` then`n`` N` | search forward / backward, repeat — same bar and toggles as `cmd-f` | \n| `v`` V``ctrl-v` | character / line / block selection | \n| `y` /`yy` /`⏎` | yank the selection (or the line) and leave | \n| `esc` /`q` | clear the selection, then leave | \n\n## **In the workspaces panel**\n\n| Keys | Action | \n|---|---|\n| `j` /`k` | move selection | \n| `enter` /`o` | switch to workspace | \n| `a` /`r` /`d` | add / rename / delete ( `y` confirms) — also on right-click | \n| `p` | pin — persist this workspace across restarts | \n| `e` | edit every pane's startup command — also on right-click | \n| `esc` | dismiss input → back to terminal | \n\n`~/.config/oxide/config.toml` — a fully commented default is generated on first run.\nFont, colors, keys, and notifications apply live; `[shell]` and `[prompt]` apply to new\nsessions. [Every option, with defaults →](https://oxideterminal.com/docs/configuration/)\n\n```\n[font]\nfamily = \"JetBrainsMono Nerd Font Mono\"\nsize   = 14.0\n\n[colors]\npreset = \"oxide\"              # or override any color individually\nfollow_system = true          # ...or switch between preset_dark / preset_light with the system\npreset_light  = \"catppuccin-latte\"\n\n[cursor]\nstyle = \"bar\"                 # block | bar | underline\n\n[window]\nnew_tab_directory = \"pwd\"     # pwd | home\ninactive_pane_opacity = 0.8   # dim the panes you aren't in\n\n[[ssh.hosts]]\nmatch  = \"*.prod.example.com\" # red border while ssh'd into prod\naccent = \"#f38ba8\"\n\n[tree]\nfollow_cwd = true             # tree re-roots when the shell cd's\nopen_on_startup = true        # false starts with the drawer hidden (cmd-b shows it)\n\n[status_bar]\nenabled  = true\nposition = \"bottom\"\ntab      = \"number\"           # number | name — the current-tab chip\n\n[tabs]\nenabled      = true           # false hides the tab bar\nshow_numbers = true           # small position number on each tab\n\n[prompt]\nenabled = false               # keep your own prompt (starship, p10k, ...)\n\n[keymap]\n\"cmd-j\" = \"pane::split_down\"  # keystroke = \"action id\"; \"\" unbinds\n```\n\nYou'll need [Rust](https://rustup.rs) (2024 edition). On macOS, also full Xcode with the Metal\ntoolchain — GPUI compiles Metal shaders at build time:\n\n```\nsudo xcode-select --switch /Applications/Xcode.app/Contents/Developer\nxcodebuild -downloadComponent MetalToolchain   # if the build asks for it\n```\n\nOn Linux, the GPUI build dependencies (Arch shown; Debian/Ubuntu equivalents are in\n`.github/workflows/ci.yml`):\n\n```\nsudo pacman -S --needed base-devel fontconfig freetype2 libxkbcommon libxkbcommon-x11 \\\n  libxcb wayland vulkan-icd-loader libnotify\ngit clone https://github.com/oxide-terminal/oxide.git\ncd oxide\ncargo run                     # development\n\n# macOS\n./scripts/bundle.sh           # release build -> target/Oxide.app (ad-hoc signed)\ncp -R target/Oxide.app /Applications/\nsudo cp scripts/oxide-cli /usr/local/bin/oxide && sudo chmod +x /usr/local/bin/oxide   # optional `oxide [dir]` shim\n\n# Linux\n./scripts/linux-package.sh    # release build -> target/oxide-<version>-linux-<arch>.tar.gz\ntar xzf target/oxide-*-linux-*.tar.gz -C /tmp && /tmp/oxide-*-linux-*/install.sh\n```\n\nThe `oxide` command takes a directory, `-e <command> [args...]` to run a\nprogram in the first pane instead of the shell, `--app-id <id>` for the\nwindow's Wayland app-id / X11 class, and `--no-startup-commands`. The first\ntwo are what `xdg-terminal-exec` passes, and the `.desktop` entry declares\nthem, so on Linux Oxide can be the default terminal: on Omarchy, put\n`oxide.desktop` first in `~/.config/xdg-terminals.list`.\n\nThe first build compiles GPUI — expect several minutes. A `cargo run` binary is a debug\nbuild: fine for poking at a change, but a full-screen program like nvim will feel sluggish\nin it (an unoptimised GPUI redraw doesn't fit in a 60 Hz frame; the release build uses a\nquarter of the CPU). It also never checks for updates, and on macOS it isn't an app bundle,\nso its notifications can't be clicked. Use `scripts/bundle.sh` / `scripts/linux-package.sh`\nfor the real thing. Cutting a release is covered in\n[RELEASING.md](https://github.com/oxide-terminal/oxide/blob/main/RELEASING.md).\n\nOne binary crate. The PTY reader/parser runs on its own thread\n(`alacritty_terminal`'s event loop) and mutates a shared `Term` behind a mutex;\nthe GPUI main thread briefly locks it during paint to copy the visible grid out,\nthen shapes and paints batched text runs directly — no per-cell elements.\nDirectory scans, git queries, and file watching run on the background pool.\nThe tree follows `cd` by polling the PTY's foreground process group cwd\n(`tcgetpgrp` + `proc_pidinfo` on macOS, `/proc/<pid>/cwd` on Linux), so it works\nwith zero shell cooperation. Platform differences are confined to a handful of\n`cfg` sites: the process lookups, notifications (`UNUserNotificationCenter` /\n`notify-send`), the updater, the keymap tables, and the window chrome.\n\n- No IME / dead-key composition yet (two-stroke accents, CJK input).\n- Narrowing a pane past the width of a multi-line bash prompt can scroll the prompt's\nfirst line into scrollback until the next prompt is drawn (`enter` brings it back).\n- Pinned workspaces restore layout and directories with fresh shells; running\nprograms can't survive a full quit (tmux only manages it because its server\nnever exits). Startup commands are the workaround: declare what a pane runs\nand it's re-run on restore. `on_exit` needs shell integration with zsh or\nbash; other shells get the command typed in and nothing more.\n- Left/right Option can't be distinguished; `option_as_meta` treats`left` /`right` as`both` .\n- Linux: `bell = \"sound\"` falls back to the visual flash; there's no in-place\nself-update (the pill opens the release page);`window.titlebar` is ignored — the\ncompositor owns decorations, and under a compositor without server-side\ndecorations (GNOME) the window has none.\n\nQuestions, ideas, or just want to see what's coming? Join the\n[Oxide Terminal Discord](https://discord.gg/APV9FYGgeh). Bugs and feature requests go in\n[issues](https://github.com/oxide-terminal/oxide/issues/new) — **Help → Report an Issue** in\nthe menu bar (the ☰ menu on Linux), or *Report an Issue* in the command palette, goes to the same place. Wondering how Oxide stacks up against iTerm2, Ghostty,\nkitty, WezTerm, Alacritty, or Warp? There's an [honest comparison](https://oxideterminal.com/compare/).\n\nIf Oxide earns a place in your dock, you can [sponsor it on GitHub](https://github.com/sponsors/oxide-terminal) or [buy me a coffee](https://www.buymeacoffee.com/bobbycoleman).\n\nMIT — see [LICENSE](https://github.com/oxide-terminal/oxide/blob/main/LICENSE).\n\nOxide builds on [GPUI](https://www.gpui.rs) and [`alacritty_terminal`](https://crates.io/crates/alacritty_terminal), both Apache-2.0.", "url": "https://wpnews.pro/news/oxide-a-native-terminal-for-macos-and-linux-built-on-gpui", "canonical_source": "https://github.com/oxide-terminal/oxide", "published_at": "2026-09-25 17:42:33+00:00", "updated_at": "2026-09-25 18:02:35.373066+00:00", "lang": "en", "topics": ["developer-tools"], "entities": ["Oxide", "GPUI", "Zed", "alacritty_terminal", "Alacritty", "Rust", "JetBrainsMono Nerd Font Mono", "GitHub"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/oxide-a-native-terminal-for-macos-and-linux-built-on-gpui", "markdown": "https://wpnews.pro/news/oxide-a-native-terminal-for-macos-and-linux-built-on-gpui.md", "text": "https://wpnews.pro/news/oxide-a-native-terminal-for-macos-and-linux-built-on-gpui.txt", "jsonld": "https://wpnews.pro/news/oxide-a-native-terminal-for-macos-and-linux-built-on-gpui.jsonld"}}