Releases: Spaceghost/ghostty-dalamud
Release list
Ghostty v0.3.1-test.7 (testing)
Warning
Testing build 7 of 0.3.1. Only players who turned on testing builds receive it; everyone else stays on the stable release.
Important
Nothing in this build has been verified in game yet. It is built and tested without the game; entries under not yet verified in game say exactly that, and move to New once they have been seen working.
In this build, not yet verified in game
- Richer /ask answers: headings, bold and italic, lists and checklists, tables, quotes and code blocks with a copy button, word-wrapped to the panel and faded in as they stream. Links everywhere: web pages open in your browser on click; map coordinates, zones and aetherytes put a flag on the map and open it; items link into your chat input (never sent); quests open in your journal and duties in the Duty Finder, with the game's own icons and tooltips; slash commands go into your chat input and only run after you press Run (chat is never sent). Two or three follow-up questions sit under each answer, and a right-click on one asks it in a new conversation that links back. Nothing acts in combat. Host tests only; not yet tried in game.
- A terminal as a real game window: /term native, or the new game window button on a tab or a floating window. It is the game's own window frame, so it moves by its title bar, scales with your UI and its title bar menu, sits among the other game windows, hides with the UI and closes with its x or Esc (the terminal is minimized, its shell still running). Inside is the same terminal as the ImGui panel, drawn crisp at your UI scale: keys go to it while it has focus and back to the game when you click elsewhere, the mouse selects, scrolls and reaches programs that ask for it, and the corner resizes it. Where it cannot be made it opens as an ImGui window and says why. /term selftest native checks it in game. Not yet tried in game.
- Reach the agent from another machine without Tailscale: ghostty-agent has WireGuard built in.
ghostty-agent wg add gaming-pcprints a config (and a QR code) for the ordinary WireGuard app on the game PC, and the line to point the plugin at the agent through the tunnel; no root and no driver on the agent's machine, and it can also carry RDP, VNC or Sunshine for you (wg forward). With Tailscale running it stays off, and the agent now refuses to listen on the network in the clear. Tested against kernel WireGuard; not yet seen in game. - Screens from another machine arrive as sharp as the limit allows: a window larger than the size a screen asks for (1920x1200 unless you set another) is shrunk to the largest size that fits, keeping its shape, instead of being halved. A 2560x1440 browser now arrives at 1920x1080 rather than 1280x720, and clicks still land where you point. Game clips follow the same rule. Host tests only; not yet seen in game.
- Linux players install the agent instead of building it: ghostty-agent ships as a Fedora RPM, as an Alpine APK, and as a portable tarball for every other glibc machine, each built from source inside a container of its own distribution and attached to every release, with a systemd user unit so your shells start with your session and outlive the game. The Fedora 44 and Alpine packages carry the Wayland compositor, so screens from your desktop and the browser work; the portable build has terminals, jobs and clips. Asked for by @Xe. Built, installed and run in containers; not yet on a player's own machine, and not yet in game.
- Rough movement shakes the water off a screen, however it is moved — a pet behind a run that stops dead or a sharp turn, the lineup, an order swap, a fling with Alt + drag, a pin or pet toggle, a fast orbit, the presented float, a quick spin. Gentle movement makes the drops slide and streak instead; a hard stop throws them forward, a spin along the tangent, and they fall to the first surface below. Teleports and zone changes shed nothing (Settings, Light: shake-off). Not yet tried in game.
- Rain follows shelter: a screen gets rain only where the sky can reach it. One out in the open is rained on even while you stand under a roof, one half under an overhang only on its open side, and indoors nothing is — no drops, no run-off, no flung water — with the glass drying gradually as a pet screen follows you inside. Drops that fall off stop at the first floor below them (Settings, Light: Rain follows shelter). Not yet tried in game.
- A camera that hovers around you: /cam puts one on an orbit beside your character, and /cam shot makes the view its view, so it frames you instead of looking out of your eyes. Move it with left, right, up, down, in and out, set it circling with orbit, and turn the shot off to have the view eased back exactly where it was found. The game draws one view, so the camera borrows it rather than adding a second one; taking a picture from it without disturbing your own view is the next piece. Presenting a screen takes the camera back. Not yet tried in game.
- The camera takes pictures for other plugins: cam.shoot over GhosttyDalamud.v1.Call swings the camera to a pose you give it, photographs you from there, and puts your view back where it was, so a plugin can get a front-angle picture of your character without taking your camera away. /cam shoot does the same by hand. The whole round trip is a handful of frames. Not yet tried in game.
- Take a meeting from inside the game: /cam zoom puts the game on a camera device on your Linux host, so Zoom, Meet or anything else that opens a webcam opens the game instead. The frames go straight out through v4l2loopback with nothing recorded, and frames the device cannot keep up with are dropped rather than queued, so the game never waits for the call. Needs the v4l2loopback module loaded with exclusive_caps on, or nothing can open the device. Linux hosts only. Not yet tried in game.
Merged
Since the previous test build, v0.3.1-test.6
Since the last stable release, v0.3.0
- Quote the runner's token command in its unit (
c884aa2) - Rain only where the sky reaches a screen (
bb60063) - Rough movement shakes the rain off a screen (
ae882d3) - Free what the libghostty smoke test allocates, and let SAN run remotely (
22237ed) - Hold each agent connection in a link record (
964df2c) - Connect the agents named in CONFIG.agents (
3531009) - Send each stream, and each picker row, to its own agent (
96368d0) - Narrow the picker as you type, machine included (
9767016) - Say which machine each app and window is on over IPC (
72f49e2) - Let Lua ask the game where the world is (
f1f23ec) - Scaffold the iroh transport: crate, C ABI, and the designs (
c0e0d41) - Let a link fall back to the CONFIG.agent token (
61afb9d) - Build the iroh staticlib when IROH=1 asks for it (
ef713d8) - Type with keys, not the text input, when the keymap can (
e1a1f9f) - Link iroh into the agent, and make the whole suite pass with it (
2d2103f) - Address a link by NodeId (
420290d) - Connect over iroh from inside Wine (
e2bfd8a) - Pass the NodeId buffers their real size (
7075157) - Merge branch 'master' into feature/multi-agent (
2fb6ac1) - Stamp remote builds, follow the agent's platform, keep one iroh identity (
599f2cd) - Carry moq on the iroh connection there already is (
23d20b4) - Lock the moq dependencies (
78d87a5) - Pin the moq dependencies exactly, like every other one here (
b16aebc) - Say in MOQ.md what now exists (
7f6cd35) - L...
Ghostty v0.3.1-test.6 (testing)
Warning
Testing build 6 of 0.3.1. Only players who turned on testing builds receive it; everyone else stays on the stable release.
Important
Nothing in this build has been verified in game yet. It is built and tested without the game; entries under not yet verified in game say exactly that, and move to New once they have been seen working.
In this build, not yet verified in game
- Richer /ask answers: headings, bold and italic, lists and checklists, tables, quotes and code blocks with a copy button, word-wrapped to the panel and faded in as they stream. Links everywhere: web pages open in your browser on click; map coordinates, zones and aetherytes put a flag on the map and open it; items link into your chat input (never sent); quests open in your journal and duties in the Duty Finder, with the game's own icons and tooltips; slash commands go into your chat input and only run after you press Run (chat is never sent). Two or three follow-up questions sit under each answer, and a right-click on one asks it in a new conversation that links back. Nothing acts in combat. Host tests only; not yet tried in game.
- A terminal as a real game window: /term native, or the new game window button on a tab or a floating window. It is the game's own window frame, so it moves by its title bar, scales with your UI and its title bar menu, sits among the other game windows, hides with the UI and closes with its x or Esc (the terminal is minimized, its shell still running). Inside is the same terminal as the ImGui panel, drawn crisp at your UI scale: keys go to it while it has focus and back to the game when you click elsewhere, the mouse selects, scrolls and reaches programs that ask for it, and the corner resizes it. Where it cannot be made it opens as an ImGui window and says why. /term selftest native checks it in game. Not yet tried in game.
- Reach the agent from another machine without Tailscale: ghostty-agent has WireGuard built in.
ghostty-agent wg add gaming-pcprints a config (and a QR code) for the ordinary WireGuard app on the game PC, and the line to point the plugin at the agent through the tunnel; no root and no driver on the agent's machine, and it can also carry RDP, VNC or Sunshine for you (wg forward). With Tailscale running it stays off, and the agent now refuses to listen on the network in the clear. Tested against kernel WireGuard; not yet seen in game. - Screens from another machine arrive as sharp as the limit allows: a window larger than the size a screen asks for (1920x1200 unless you set another) is shrunk to the largest size that fits, keeping its shape, instead of being halved. A 2560x1440 browser now arrives at 1920x1080 rather than 1280x720, and clicks still land where you point. Game clips follow the same rule. Host tests only; not yet seen in game.
- Linux players install the agent instead of building it: ghostty-agent ships as a Fedora RPM, as an Alpine APK, and as a portable tarball for every other glibc machine, each built from source inside a container of its own distribution and attached to every release, with a systemd user unit so your shells start with your session and outlive the game. The Fedora 44 and Alpine packages carry the Wayland compositor, so screens from your desktop and the browser work; the portable build has terminals, jobs and clips. Asked for by @Xe. Built, installed and run in containers; not yet on a player's own machine, and not yet in game.
- Rough movement shakes the water off a screen, however it is moved — a pet behind a run that stops dead or a sharp turn, the lineup, an order swap, a fling with Alt + drag, a pin or pet toggle, a fast orbit, the presented float, a quick spin. Gentle movement makes the drops slide and streak instead; a hard stop throws them forward, a spin along the tangent, and they fall to the first surface below. Teleports and zone changes shed nothing (Settings, Light: shake-off). Not yet tried in game.
- Rain follows shelter: a screen gets rain only where the sky can reach it. One out in the open is rained on even while you stand under a roof, one half under an overhang only on its open side, and indoors nothing is — no drops, no run-off, no flung water — with the glass drying gradually as a pet screen follows you inside. Drops that fall off stop at the first floor below them (Settings, Light: Rain follows shelter). Not yet tried in game.
- A camera that hovers around you: /cam puts one on an orbit beside your character, and /cam shot makes the view its view, so it frames you instead of looking out of your eyes. Move it with left, right, up, down, in and out, set it circling with orbit, and turn the shot off to have the view eased back exactly where it was found. The game draws one view, so the camera borrows it rather than adding a second one; taking a picture from it without disturbing your own view is the next piece. Presenting a screen takes the camera back. Not yet tried in game.
- The camera takes pictures for other plugins: cam.shoot over GhosttyDalamud.v1.Call swings the camera to a pose you give it, photographs you from there, and puts your view back where it was, so a plugin can get a front-angle picture of your character without taking your camera away. /cam shoot does the same by hand. The whole round trip is a handful of frames. Not yet tried in game.
- Take a meeting from inside the game: /cam zoom puts the game on a camera device on your Linux host, so Zoom, Meet or anything else that opens a webcam opens the game instead. The frames go straight out through v4l2loopback with nothing recorded, and frames the device cannot keep up with are dropped rather than queued, so the game never waits for the call. Needs the v4l2loopback module loaded with exclusive_caps on, or nothing can open the device. Linux hosts only. Not yet tried in game.
Merged
Since the previous test build, v0.3.1-test.5
Since the last stable release, v0.3.0
- Quote the runner's token command in its unit (
c884aa2) - Rain only where the sky reaches a screen (
bb60063) - Rough movement shakes the rain off a screen (
ae882d3) - Free what the libghostty smoke test allocates, and let SAN run remotely (
22237ed) - Hold each agent connection in a link record (
964df2c) - Connect the agents named in CONFIG.agents (
3531009) - Send each stream, and each picker row, to its own agent (
96368d0) - Narrow the picker as you type, machine included (
9767016) - Say which machine each app and window is on over IPC (
72f49e2) - Let Lua ask the game where the world is (
f1f23ec) - Scaffold the iroh transport: crate, C ABI, and the designs (
c0e0d41) - Let a link fall back to the CONFIG.agent token (
61afb9d) - Build the iroh staticlib when IROH=1 asks for it (
ef713d8) - Type with keys, not the text input, when the keymap can (
e1a1f9f) - Link iroh into the agent, and make the whole suite pass with it (
2d2103f) - Address a link by NodeId (
420290d) - Connect over iroh from inside Wine (
e2bfd8a) - Pass the NodeId buffers their real size (
7075157) - Merge branch 'master' into feature/multi-agent (
2fb6ac1) - Stamp remote builds, follow the agent's platform, keep one iroh identity (
599f2cd) - Carry moq on the iroh connection there already is (
23d20b4) - Lock the moq dependencies (
78d87a5) - Pin the moq dependencies exactly, like every other one here (
b16aebc) - Say in MOQ.md what now exists (
7f6cd35) - ...
Ghostty v0.3.1-test.5 (testing)
Warning
Testing build 5 of 0.3.1. Only players who turned on testing builds receive it; everyone else stays on the stable release.
Important
Nothing in this build has been verified in game yet. It is built and tested without the game; entries under not yet verified in game say exactly that, and move to New once they have been seen working.
In this build, not yet verified in game
- Richer /ask answers: headings, bold and italic, lists and checklists, tables, quotes and code blocks with a copy button, word-wrapped to the panel and faded in as they stream. Links everywhere: web pages open in your browser on click; map coordinates, zones and aetherytes put a flag on the map and open it; items link into your chat input (never sent); quests open in your journal and duties in the Duty Finder, with the game's own icons and tooltips; slash commands go into your chat input and only run after you press Run (chat is never sent). Two or three follow-up questions sit under each answer, and a right-click on one asks it in a new conversation that links back. Nothing acts in combat. Host tests only; not yet tried in game.
- A terminal as a real game window: /term native, or the new game window button on a tab or a floating window. It is the game's own window frame, so it moves by its title bar, scales with your UI and its title bar menu, sits among the other game windows, hides with the UI and closes with its x or Esc (the terminal is minimized, its shell still running). Inside is the same terminal as the ImGui panel, drawn crisp at your UI scale: keys go to it while it has focus and back to the game when you click elsewhere, the mouse selects, scrolls and reaches programs that ask for it, and the corner resizes it. Where it cannot be made it opens as an ImGui window and says why. /term selftest native checks it in game. Not yet tried in game.
- Reach the agent from another machine without Tailscale: ghostty-agent has WireGuard built in.
ghostty-agent wg add gaming-pcprints a config (and a QR code) for the ordinary WireGuard app on the game PC, and the line to point the plugin at the agent through the tunnel; no root and no driver on the agent's machine, and it can also carry RDP, VNC or Sunshine for you (wg forward). With Tailscale running it stays off, and the agent now refuses to listen on the network in the clear. Tested against kernel WireGuard; not yet seen in game. - Screens from another machine arrive as sharp as the limit allows: a window larger than the size a screen asks for (1920x1200 unless you set another) is shrunk to the largest size that fits, keeping its shape, instead of being halved. A 2560x1440 browser now arrives at 1920x1080 rather than 1280x720, and clicks still land where you point. Game clips follow the same rule. Host tests only; not yet seen in game.
- Linux players install the agent instead of building it: ghostty-agent ships as a Fedora RPM, as an Alpine APK, and as a portable tarball for every other glibc machine, each built from source inside a container of its own distribution and attached to every release, with a systemd user unit so your shells start with your session and outlive the game. The Fedora 44 and Alpine packages carry the Wayland compositor, so screens from your desktop and the browser work; the portable build has terminals, jobs and clips. Asked for by @Xe. Built, installed and run in containers; not yet on a player's own machine, and not yet in game.
- Rough movement shakes the water off a screen, however it is moved — a pet behind a run that stops dead or a sharp turn, the lineup, an order swap, a fling with Alt + drag, a pin or pet toggle, a fast orbit, the presented float, a quick spin. Gentle movement makes the drops slide and streak instead; a hard stop throws them forward, a spin along the tangent, and they fall to the first surface below. Teleports and zone changes shed nothing (Settings, Light: shake-off). Not yet tried in game.
- Rain follows shelter: a screen gets rain only where the sky can reach it. One out in the open is rained on even while you stand under a roof, one half under an overhang only on its open side, and indoors nothing is — no drops, no run-off, no flung water — with the glass drying gradually as a pet screen follows you inside. Drops that fall off stop at the first floor below them (Settings, Light: Rain follows shelter). Not yet tried in game.
- A camera that hovers around you: /cam puts one on an orbit beside your character, and /cam shot makes the view its view, so it frames you instead of looking out of your eyes. Move it with left, right, up, down, in and out, set it circling with orbit, and turn the shot off to have the view eased back exactly where it was found. The game draws one view, so the camera borrows it rather than adding a second one; taking a picture from it without disturbing your own view is the next piece. Presenting a screen takes the camera back. Not yet tried in game.
- The camera takes pictures for other plugins: cam.shoot over GhosttyDalamud.v1.Call swings the camera to a pose you give it, photographs you from there, and puts your view back where it was, so a plugin can get a front-angle picture of your character without taking your camera away. /cam shoot does the same by hand. The whole round trip is a handful of frames. Not yet tried in game.
- Take a meeting from inside the game: /cam zoom puts the game on a camera device on your Linux host, so Zoom, Meet or anything else that opens a webcam opens the game instead. The frames go straight out through v4l2loopback with nothing recorded, and frames the device cannot keep up with are dropped rather than queued, so the game never waits for the call. Needs the v4l2loopback module loaded with exclusive_caps on, or nothing can open the device. Linux hosts only. Not yet tried in game.
Merged
Since the previous test build, v0.3.1-test.4
- Merge pull request #18 from Spaceghost/feature/ask-rich (#18)
- Merge pull request #29 from Spaceghost/feature/native-ui (#29)
- Merge pull request #17 from Spaceghost/feature/world-physics (#17)
- Design the netlab panel: iroh and moq shown live (#24)
- Put every green master commit on the testing channel, with its history per channel (#30)
Since the last stable release, v0.3.0
- Quote the runner's token command in its unit (
c884aa2) - Rain only where the sky reaches a screen (
bb60063) - Rough movement shakes the rain off a screen (
ae882d3) - Free what the libghostty smoke test allocates, and let SAN run remotely (
22237ed) - Hold each agent connection in a link record (
964df2c) - Connect the agents named in CONFIG.agents (
3531009) - Send each stream, and each picker row, to its own agent (
96368d0) - Narrow the picker as you type, machine included (
9767016) - Say which machine each app and window is on over IPC (
72f49e2) - Let Lua ask the game where the world is (
f1f23ec) - Scaffold the iroh transport: crate, C ABI, and the designs (
c0e0d41) - Let a link fall back to the CONFIG.agent token (
61afb9d) - Build the iroh staticlib when IROH=1 asks for it (
ef713d8) - Type with keys, not the text input, when the keymap can (
e1a1f9f) - Link iroh into the agent, and make the whole suite pass with it (
2d2103f) - Address a link by NodeId (
420290d) - Connect over iroh from inside Wine (
e2bfd8a) - Pass the NodeId buffers their real size (
7075157) - Merge branch 'master' into feature/multi-agent (
2fb6ac1) - Stamp remote builds, follow the agent's platform, keep one iroh identity (
599f2cd) - Carry moq on the iroh connection there already is (
23d20b4) - Lock the moq dependencies (
78d87a5) - Pin the moq dependencies exact...
Ghostty v0.3.1-test.4 (testing)
Warning
Testing build 4 of 0.3.1. Only players who turned on testing builds receive it; everyone else stays on the stable release.
Important
Nothing in this build has been verified in game yet. It is built and tested without the game; entries under not yet verified in game say exactly that, and move to New once they have been seen working.
In this build, not yet verified in game
- Reach the agent from another machine without Tailscale: ghostty-agent has WireGuard built in.
ghostty-agent wg add gaming-pcprints a config (and a QR code) for the ordinary WireGuard app on the game PC, and the line to point the plugin at the agent through the tunnel; no root and no driver on the agent's machine, and it can also carry RDP, VNC or Sunshine for you (wg forward). With Tailscale running it stays off, and the agent now refuses to listen on the network in the clear. Tested against kernel WireGuard; not yet seen in game. - Screens from another machine arrive as sharp as the limit allows: a window larger than the size a screen asks for (1920x1200 unless you set another) is shrunk to the largest size that fits, keeping its shape, instead of being halved. A 2560x1440 browser now arrives at 1920x1080 rather than 1280x720, and clicks still land where you point. Game clips follow the same rule. Host tests only; not yet seen in game.
- Linux players install the agent instead of building it: ghostty-agent ships as a Fedora RPM, as an Alpine APK, and as a portable tarball for every other glibc machine, each built from source inside a container of its own distribution and attached to every release, with a systemd user unit so your shells start with your session and outlive the game. The Fedora 44 and Alpine packages carry the Wayland compositor, so screens from your desktop and the browser work; the portable build has terminals, jobs and clips. Asked for by @Xe. Built, installed and run in containers; not yet on a player's own machine, and not yet in game.
- Rough movement shakes the water off a screen, however it is moved — a pet behind a run that stops dead or a sharp turn, the lineup, an order swap, a fling with Alt + drag, a pin or pet toggle, a fast orbit, the presented float, a quick spin. Gentle movement makes the drops slide and streak instead; a hard stop throws them forward, a spin along the tangent, and they fall to the first surface below. Teleports and zone changes shed nothing (Settings, Light: shake-off). Not yet tried in game.
- Rain follows shelter: a screen gets rain only where the sky can reach it. One out in the open is rained on even while you stand under a roof, one half under an overhang only on its open side, and indoors nothing is — no drops, no run-off, no flung water — with the glass drying gradually as a pet screen follows you inside. Drops that fall off stop at the first floor below them (Settings, Light: Rain follows shelter). Not yet tried in game.
- A camera that hovers around you: /cam puts one on an orbit beside your character, and /cam shot makes the view its view, so it frames you instead of looking out of your eyes. Move it with left, right, up, down, in and out, set it circling with orbit, and turn the shot off to have the view eased back exactly where it was found. The game draws one view, so the camera borrows it rather than adding a second one; taking a picture from it without disturbing your own view is the next piece. Presenting a screen takes the camera back. Not yet tried in game.
- The camera takes pictures for other plugins: cam.shoot over GhosttyDalamud.v1.Call swings the camera to a pose you give it, photographs you from there, and puts your view back where it was, so a plugin can get a front-angle picture of your character without taking your camera away. /cam shoot does the same by hand. The whole round trip is a handful of frames. Not yet tried in game.
- Take a meeting from inside the game: /cam zoom puts the game on a camera device on your Linux host, so Zoom, Meet or anything else that opens a webcam opens the game instead. The frames go straight out through v4l2loopback with nothing recorded, and frames the device cannot keep up with are dropped rather than queued, so the game never waits for the call. Needs the v4l2loopback module loaded with exclusive_caps on, or nothing can open the device. Linux hosts only. Not yet tried in game.
Install
- In game, open
/xlsettings→ Experimental → Custom Plugin Repositories, addhttps://spacegho.st/mods/ffxiv/plugins.json, press +, then Save and close. - Still in Experimental, turn on Get plugin testing builds.
- Open
/xlplugins, search for Ghostty and install it. Already installed: right-click it → Receive plugin testing versions, then update.
Step by step, with pictures: https://spacegho.st/mods/ffxiv/plugins/
The agent. The plugin talks to ghostty-agent on the machine whose shells you want. It is the one piece you fetch yourself.
Fedora 44 or newer, with remote desktop windows:
sudo dnf install https://github.com/Spaceghost/ghostty-dalamud/releases/download/v0.3.1-test.4/ghostty-agent.fc44.x86_64.rpm
systemctl --user enable --now {agent}- Fedora 43, and any other rpm distribution with glibc 2.36 or newer: the same with
{agent}.fc43.x86_64.rpm— terminals, jobs and clips, no compositor. - Alpine:
apk add --allow-untrusted {agent}.apk— it carries the compositor too. - Any other Linux:
ghostty-agent-0.3.1.4-linux-x86_64.tar.gz, or build a package of your own fromghostty-agent-0.3.1.4-src.tar.gzwithrpmbuild -tb. - Windows:
ghostty-agent-0.3.1.4-windows-x64.zip.
Each carries its own README. The repository's README, under “Linux”, has the rest.
Checksums
SHA-256, also attached as SHA256SUMS (sha256sum -c SHA256SUMS):
664ed05ae822b9eb0df6bbcf05752a03c5d2ed7bf8c12e176b4478027dd853a9 GhosttyDalamud-0.3.1.4.zip
974eb3d5c9c561bb75a344fda98359be0bd5b641d20129d9ef3fbdabb01461c8 ghostty-agent-0.3.1.4-1.fc43.x86_64.rpm
25e42ce2a27c2419b5dba99146548fc427bf8a4db99da686b948d8df8314f9a8 ghostty-agent-0.3.1.4-1.fc44.x86_64.rpm
be9639acf5f35e47da0e4bcec77fc8c7b64fcbcba96e21911576fc77befae9eb ghostty-agent-0.3.1.4-linux-x86_64.tar.gz
e53b7d85bfbbf61787e89dabd715015445f4e6e71e13c2b67172e076da73b5d7 ghostty-agent-0.3.1.4-r0.apk
dfca0ccccbb91814f338d58695e6284f2bde1d47d3d39f4d551cd7bf26fb2be1 ghostty-agent-0.3.1.4-src.tar.gz
63679cfaefecbd9f1565f4e54dd5932181d2f660b581e4a7a8ef9a46192e09ba ghostty-agent-0.3.1.4-windows-x64.zip
f85ebbf2e75e5cc726704e928a2b083a80ad46cc386b33bd3542265d7980d98d ghostty-agent-doc-0.3.1.4-r0.apk
f85ebbf2e75e5cc726704e928a2b083a80ad46cc386b33bd3542265d7980d98d ghostty-agent-doc.apk
be9639acf5f35e47da0e4bcec77fc8c7b64fcbcba96e21911576fc77befae9eb ghostty-agent-linux-x86_64.tar.gz
dfca0ccccbb91814f338d58695e6284f2bde1d47d3d39f4d551cd7bf26fb2be1 ghostty-agent-src.tar.gz
e53b7d85bfbbf61787e89dabd715015445f4e6e71e13c2b67172e076da73b5d7 ghostty-agent.apk
974eb3d5c9c561bb75a344fda98359be0bd5b641d20129d9ef3fbdabb01461c8 ghostty-agent.fc43.x86_64.rpm
25e42ce2a27c2419b5dba99146548fc427bf8a4db99da686b948d8df8314f9a8 ghostty-agent.fc44.x86_64.rpm
664ed05ae822b9eb0df6bbcf05752a03c5d2ed7bf8c12e176b4478027dd853a9 latest.zip
2e95d2ba4806c8b3300f22b2646922566aa91b242442ad4286ffa18db08d43f7 pluginmaster-testing.json
Links
Ghostty on spacegho.st · Changelog · Plugin repository · Source at this tag
Ghostty v0.3.1-test.3 (testing)
Warning
Testing build 3 of 0.3.1. Only players who turned on testing builds receive it; everyone else stays on the stable release.
Important
Nothing in this build has been verified in game yet. It is built and tested without the game; entries under not yet verified in game say exactly that, and move to New once they have been seen working.
In this build, not yet verified in game
- Reach the agent from another machine without Tailscale: ghostty-agent has WireGuard built in.
ghostty-agent wg add gaming-pcprints a config (and a QR code) for the ordinary WireGuard app on the game PC, and the line to point the plugin at the agent through the tunnel; no root and no driver on the agent's machine, and it can also carry RDP, VNC or Sunshine for you (wg forward). With Tailscale running it stays off, and the agent now refuses to listen on the network in the clear. Tested against kernel WireGuard; not yet seen in game. - Screens from another machine arrive as sharp as the limit allows: a window larger than the size a screen asks for (1920x1200 unless you set another) is shrunk to the largest size that fits, keeping its shape, instead of being halved. A 2560x1440 browser now arrives at 1920x1080 rather than 1280x720, and clicks still land where you point. Game clips follow the same rule. Host tests only; not yet seen in game.
- Linux players install the agent instead of building it: ghostty-agent ships as a Fedora RPM, as an Alpine APK, and as a portable tarball for every other glibc machine, each built from source inside a container of its own distribution and attached to every release, with a systemd user unit so your shells start with your session and outlive the game. The Fedora 44 and Alpine packages carry the Wayland compositor, so screens from your desktop and the browser work; the portable build has terminals, jobs and clips. Asked for by @Xe. Built, installed and run in containers; not yet on a player's own machine, and not yet in game.
- Rough movement shakes the water off a screen, however it is moved — a pet behind a run that stops dead or a sharp turn, the lineup, an order swap, a fling with Alt + drag, a pin or pet toggle, a fast orbit, the presented float, a quick spin. Gentle movement makes the drops slide and streak instead; a hard stop throws them forward, a spin along the tangent, and they fall to the first surface below. Teleports and zone changes shed nothing (Settings, Light: shake-off). Not yet tried in game.
- Rain follows shelter: a screen gets rain only where the sky can reach it. One out in the open is rained on even while you stand under a roof, one half under an overhang only on its open side, and indoors nothing is — no drops, no run-off, no flung water — with the glass drying gradually as a pet screen follows you inside. Drops that fall off stop at the first floor below them (Settings, Light: Rain follows shelter). Not yet tried in game.
- A camera that hovers around you: /term cam puts one on an orbit beside your character, and /term cam shot makes the view its view, so it frames you instead of looking out of your eyes. Move it with left, right, up, down, in and out, set it circling with orbit, and turn the shot off to have the view eased back exactly where it was found. The game draws one view, so the camera borrows it rather than adding a second one; taking a picture from it without disturbing your own view is the next piece. Presenting a screen takes the camera back. Not yet tried in game.
- The camera takes pictures for other plugins: cam.shoot over GhosttyDalamud.v1.Call swings the camera to a pose you give it, photographs you from there, and puts your view back where it was, so a plugin can get a front-angle picture of your character without taking your camera away. /term cam shoot does the same by hand. The whole round trip is a handful of frames. Not yet tried in game.
Install
- In game, open
/xlsettings→ Experimental → Custom Plugin Repositories, addhttps://spacegho.st/mods/ffxiv/plugins.json, press +, then Save and close. - Still in Experimental, turn on Get plugin testing builds.
- Open
/xlplugins, search for Ghostty and install it. Already installed: right-click it → Receive plugin testing versions, then update.
Step by step, with pictures: https://spacegho.st/mods/ffxiv/plugins/
The agent. The plugin talks to ghostty-agent on the machine whose shells you want. It is the one piece you fetch yourself.
Fedora 44 or newer, with remote desktop windows:
sudo dnf install https://github.com/Spaceghost/ghostty-dalamud/releases/download/v0.3.1-test.3/ghostty-agent.fc44.x86_64.rpm
systemctl --user enable --now {agent}- Fedora 43, and any other rpm distribution with glibc 2.36 or newer: the same with
{agent}.fc43.x86_64.rpm— terminals, jobs and clips, no compositor. - Alpine:
apk add --allow-untrusted {agent}.apk— it carries the compositor too. - Any other Linux:
ghostty-agent-0.3.1.3-linux-x86_64.tar.gz, or build a package of your own fromghostty-agent-0.3.1.3-src.tar.gzwithrpmbuild -tb. - Windows:
ghostty-agent-0.3.1.3-windows-x64.zip.
Each carries its own README. The repository's README, under “Linux”, has the rest.
Checksums
SHA-256, also attached as SHA256SUMS (sha256sum -c SHA256SUMS):
a63786e5c4e6af8d845d55b8cad71d63eb30bbf055d681822b1e819576103365 GhosttyDalamud-0.3.1.3.zip
40f09bbd778b704615b08532ec583ca67b0b323cd792313812dc59ec4ab2a45f ghostty-agent-0.3.1.3-1.fc43.x86_64.rpm
94e42fb6a6e76558680b3ce51a23b4aeca2d7b1e1451e36b4881e58e3f87c631 ghostty-agent-0.3.1.3-1.fc44.x86_64.rpm
661442cb75a1bac6ba3bea4217fe04ac9fbc59825919f2498d0fcc29f3687fc1 ghostty-agent-0.3.1.3-linux-x86_64.tar.gz
acff4b20e4b0a7c0f8496e83db2fdf12aaf2bb6154c96c61626715ed412b1f4e ghostty-agent-0.3.1.3-r0.apk
8eff45fda7d5cf5b90c3b4faa6bd618265b301301c05529a8c88ff43e2185e37 ghostty-agent-0.3.1.3-src.tar.gz
2dd463fc9594e27081d481464a1beac0d5f70a9eec744a1280cb87548efeec7a ghostty-agent-0.3.1.3-windows-x64.zip
0f97dfbf50876a27a339ce7d74d4da25700ce41ad3e32cb85cd6eb6d83f9dfc4 ghostty-agent-doc-0.3.1.3-r0.apk
0f97dfbf50876a27a339ce7d74d4da25700ce41ad3e32cb85cd6eb6d83f9dfc4 ghostty-agent-doc.apk
661442cb75a1bac6ba3bea4217fe04ac9fbc59825919f2498d0fcc29f3687fc1 ghostty-agent-linux-x86_64.tar.gz
8eff45fda7d5cf5b90c3b4faa6bd618265b301301c05529a8c88ff43e2185e37 ghostty-agent-src.tar.gz
acff4b20e4b0a7c0f8496e83db2fdf12aaf2bb6154c96c61626715ed412b1f4e ghostty-agent.apk
40f09bbd778b704615b08532ec583ca67b0b323cd792313812dc59ec4ab2a45f ghostty-agent.fc43.x86_64.rpm
94e42fb6a6e76558680b3ce51a23b4aeca2d7b1e1451e36b4881e58e3f87c631 ghostty-agent.fc44.x86_64.rpm
a63786e5c4e6af8d845d55b8cad71d63eb30bbf055d681822b1e819576103365 latest.zip
94f643360d0507c230b3be7cbc0358a8a91f74fee614666773ea32ed0c53ae76 pluginmaster-testing.json
Links
Ghostty on spacegho.st · Changelog · Plugin repository · Source at this tag
Ghostty testing channel
Note
The rolling testing channel. It always carries the newest test build: now v0.3.1-test.7, commit c02dc4e.
Warning
Testing build 7 of 0.3.1. Only players who turned on testing builds receive it; everyone else stays on the stable release.
Important
Nothing in this build has been verified in game yet. It is built and tested without the game; entries under not yet verified in game say exactly that, and move to New once they have been seen working.
In this build, not yet verified in game
- Richer /ask answers: headings, bold and italic, lists and checklists, tables, quotes and code blocks with a copy button, word-wrapped to the panel and faded in as they stream. Links everywhere: web pages open in your browser on click; map coordinates, zones and aetherytes put a flag on the map and open it; items link into your chat input (never sent); quests open in your journal and duties in the Duty Finder, with the game's own icons and tooltips; slash commands go into your chat input and only run after you press Run (chat is never sent). Two or three follow-up questions sit under each answer, and a right-click on one asks it in a new conversation that links back. Nothing acts in combat. Host tests only; not yet tried in game.
- A terminal as a real game window: /term native, or the new game window button on a tab or a floating window. It is the game's own window frame, so it moves by its title bar, scales with your UI and its title bar menu, sits among the other game windows, hides with the UI and closes with its x or Esc (the terminal is minimized, its shell still running). Inside is the same terminal as the ImGui panel, drawn crisp at your UI scale: keys go to it while it has focus and back to the game when you click elsewhere, the mouse selects, scrolls and reaches programs that ask for it, and the corner resizes it. Where it cannot be made it opens as an ImGui window and says why. /term selftest native checks it in game. Not yet tried in game.
- Reach the agent from another machine without Tailscale: ghostty-agent has WireGuard built in.
ghostty-agent wg add gaming-pcprints a config (and a QR code) for the ordinary WireGuard app on the game PC, and the line to point the plugin at the agent through the tunnel; no root and no driver on the agent's machine, and it can also carry RDP, VNC or Sunshine for you (wg forward). With Tailscale running it stays off, and the agent now refuses to listen on the network in the clear. Tested against kernel WireGuard; not yet seen in game. - Screens from another machine arrive as sharp as the limit allows: a window larger than the size a screen asks for (1920x1200 unless you set another) is shrunk to the largest size that fits, keeping its shape, instead of being halved. A 2560x1440 browser now arrives at 1920x1080 rather than 1280x720, and clicks still land where you point. Game clips follow the same rule. Host tests only; not yet seen in game.
- Linux players install the agent instead of building it: ghostty-agent ships as a Fedora RPM, as an Alpine APK, and as a portable tarball for every other glibc machine, each built from source inside a container of its own distribution and attached to every release, with a systemd user unit so your shells start with your session and outlive the game. The Fedora 44 and Alpine packages carry the Wayland compositor, so screens from your desktop and the browser work; the portable build has terminals, jobs and clips. Asked for by @Xe. Built, installed and run in containers; not yet on a player's own machine, and not yet in game.
- Rough movement shakes the water off a screen, however it is moved — a pet behind a run that stops dead or a sharp turn, the lineup, an order swap, a fling with Alt + drag, a pin or pet toggle, a fast orbit, the presented float, a quick spin. Gentle movement makes the drops slide and streak instead; a hard stop throws them forward, a spin along the tangent, and they fall to the first surface below. Teleports and zone changes shed nothing (Settings, Light: shake-off). Not yet tried in game.
- Rain follows shelter: a screen gets rain only where the sky can reach it. One out in the open is rained on even while you stand under a roof, one half under an overhang only on its open side, and indoors nothing is — no drops, no run-off, no flung water — with the glass drying gradually as a pet screen follows you inside. Drops that fall off stop at the first floor below them (Settings, Light: Rain follows shelter). Not yet tried in game.
- A camera that hovers around you: /cam puts one on an orbit beside your character, and /cam shot makes the view its view, so it frames you instead of looking out of your eyes. Move it with left, right, up, down, in and out, set it circling with orbit, and turn the shot off to have the view eased back exactly where it was found. The game draws one view, so the camera borrows it rather than adding a second one; taking a picture from it without disturbing your own view is the next piece. Presenting a screen takes the camera back. Not yet tried in game.
- The camera takes pictures for other plugins: cam.shoot over GhosttyDalamud.v1.Call swings the camera to a pose you give it, photographs you from there, and puts your view back where it was, so a plugin can get a front-angle picture of your character without taking your camera away. /cam shoot does the same by hand. The whole round trip is a handful of frames. Not yet tried in game.
- Take a meeting from inside the game: /cam zoom puts the game on a camera device on your Linux host, so Zoom, Meet or anything else that opens a webcam opens the game instead. The frames go straight out through v4l2loopback with nothing recorded, and frames the device cannot keep up with are dropped rather than queued, so the game never waits for the call. Needs the v4l2loopback module loaded with exclusive_caps on, or nothing can open the device. Linux hosts only. Not yet tried in game.
Merged
Since the previous test build, v0.3.1-test.6
Since the last stable release, v0.3.0
- Quote the runner's token command in its unit (
c884aa2) - Rain only where the sky reaches a screen (
bb60063) - Rough movement shakes the rain off a screen (
ae882d3) - Free what the libghostty smoke test allocates, and let SAN run remotely (
22237ed) - Hold each agent connection in a link record (
964df2c) - Connect the agents named in CONFIG.agents (
3531009) - Send each stream, and each picker row, to its own agent (
96368d0) - Narrow the picker as you type, machine included (
9767016) - Say which machine each app and window is on over IPC (
72f49e2) - Let Lua ask the game where the world is (
f1f23ec) - Scaffold the iroh transport: crate, C ABI, and the designs (
c0e0d41) - Let a link fall back to the CONFIG.agent token (
61afb9d) - Build the iroh staticlib when IROH=1 asks for it (
ef713d8) - Type with keys, not the text input, when the keymap can (
e1a1f9f) - Link iroh into the agent, and make the whole suite pass with it (
2d2103f) - Address a link by NodeId (
420290d) - Connect over iroh from inside Wine (
e2bfd8a) - Pass the NodeId buffers their real size (
7075157) - Merge branch 'master' into feature/multi-agent (
2fb6ac1) - Stamp remote builds, follow the agent's platform, keep one iroh identity (
599f2cd) - Carry moq on the iroh connection there already is (
23d20b4) - Lock the moq dependencies (
78d87a5) - Pin the moq dependencies exactly, like every other one here ([
b16aebc](https://github.com/Spaceghost/ghostty-dala...
Ghostty v0.3.1-test.2 (testing)
Warning
Testing build 2 of 0.3.1. Only players who turned on testing builds receive it; everyone else stays on the stable release.
Important
Nothing in this build has been verified in game yet. It is built and tested without the game; entries under not yet verified in game say exactly that, and move to New once they have been seen working.
In this build, not yet verified in game
- Linux players install the agent instead of building it: ghostty-agent ships as a Fedora RPM, as an Alpine APK, and as a portable tarball for every other glibc machine, each built from source inside a container of its own distribution and attached to every release, with a systemd user unit so your shells start with your session and outlive the game. The Fedora 44 and Alpine packages carry the Wayland compositor, so screens from your desktop and the browser work; the portable build has terminals, jobs and clips. Asked for by @Xe. Built, installed and run in containers; not yet on a player's own machine, and not yet in game.
- Rough movement shakes the water off a screen, however it is moved — a pet behind a run that stops dead or a sharp turn, the lineup, an order swap, a fling with Alt + drag, a pin or pet toggle, a fast orbit, the presented float, a quick spin. Gentle movement makes the drops slide and streak instead; a hard stop throws them forward, a spin along the tangent, and they fall to the first surface below. Teleports and zone changes shed nothing (Settings, Light: shake-off). Not yet tried in game.
- Rain follows shelter: a screen gets rain only where the sky can reach it. One out in the open is rained on even while you stand under a roof, one half under an overhang only on its open side, and indoors nothing is — no drops, no run-off, no flung water — with the glass drying gradually as a pet screen follows you inside. Drops that fall off stop at the first floor below them (Settings, Light: Rain follows shelter). Not yet tried in game.
Install
- In game, open
/xlsettings→ Experimental → Custom Plugin Repositories, addhttps://spacegho.st/mods/ffxiv/plugins.json, press +, then Save and close. - Still in Experimental, turn on Get plugin testing builds.
- Open
/xlplugins, search for Ghostty and install it. Already installed: right-click it → Receive plugin testing versions, then update.
Step by step, with pictures: https://spacegho.st/mods/ffxiv/plugins/
The agent. The plugin talks to ghostty-agent on the machine whose shells you want. It is the one piece you fetch yourself.
Fedora 44 or newer, with remote desktop windows:
sudo dnf install https://github.com/Spaceghost/ghostty-dalamud/releases/download/v0.3.1-test.2/ghostty-agent.fc44.x86_64.rpm
systemctl --user enable --now {agent}- Fedora 43, and any other rpm distribution with glibc 2.36 or newer: the same with
{agent}.fc43.x86_64.rpm— terminals, jobs and clips, no compositor. - Alpine:
apk add --allow-untrusted {agent}.apk— it carries the compositor too. - Any other Linux:
ghostty-agent-0.3.1.2-linux-x86_64.tar.gz, or build a package of your own fromghostty-agent-0.3.1.2-src.tar.gzwithrpmbuild -tb. - Windows:
ghostty-agent-0.3.1.2-windows-x64.zip.
Each carries its own README. The repository's README, under “Linux”, has the rest.
Checksums
SHA-256, also attached as SHA256SUMS (sha256sum -c SHA256SUMS):
05b43bb87f4e66e54e6d1f73f90c944e17cf43f3adec92eda6bf94072a127145 GhosttyDalamud-0.3.1.2.zip
07f069425ca9612abb5e5cd76922ad17a05788a27be0fc8ad3d1bb5f2960304c ghostty-agent-0.3.1.2-1.fc43.x86_64.rpm
7ec2580bbdb4ac1e92663ec39ffaf1ff199e5747e8e607fd32744b4fbe9b711d ghostty-agent-0.3.1.2-1.fc44.x86_64.rpm
f1b0d2a5d9cb176a9c06be89370c6ef8c0dfc7f4a5f3ae6bf4cb8d9d1b450659 ghostty-agent-0.3.1.2-linux-x86_64.tar.gz
303424e1f294d5567012c1d7e55fc8735f59f936c92e6bfa9b107cd35de75429 ghostty-agent-0.3.1.2-r0.apk
47d8aac1996ed3a3eb37789a96026caf3eba246994f07cd78d2a3ff086bfef9d ghostty-agent-0.3.1.2-src.tar.gz
720196b88404fbe9e228da33b3aa24ad0151cf44853d3f2b1a88cf9100c56804 ghostty-agent-0.3.1.2-windows-x64.zip
4da0155e8438f308f2dc5fe8fa28199ea1bfa8666f489ce4b4ac59abafbd228d ghostty-agent-doc-0.3.1.2-r0.apk
4da0155e8438f308f2dc5fe8fa28199ea1bfa8666f489ce4b4ac59abafbd228d ghostty-agent-doc.apk
f1b0d2a5d9cb176a9c06be89370c6ef8c0dfc7f4a5f3ae6bf4cb8d9d1b450659 ghostty-agent-linux-x86_64.tar.gz
47d8aac1996ed3a3eb37789a96026caf3eba246994f07cd78d2a3ff086bfef9d ghostty-agent-src.tar.gz
303424e1f294d5567012c1d7e55fc8735f59f936c92e6bfa9b107cd35de75429 ghostty-agent.apk
07f069425ca9612abb5e5cd76922ad17a05788a27be0fc8ad3d1bb5f2960304c ghostty-agent.fc43.x86_64.rpm
7ec2580bbdb4ac1e92663ec39ffaf1ff199e5747e8e607fd32744b4fbe9b711d ghostty-agent.fc44.x86_64.rpm
05b43bb87f4e66e54e6d1f73f90c944e17cf43f3adec92eda6bf94072a127145 latest.zip
e4d5344e98fcae26219782a836aacecf23ba487071045318c18b138d29bc6b3b pluginmaster-testing.json
Links
Ghostty on spacegho.st · Changelog · Plugin repository · Source at this tag
Ghostty v0.3.0
Important
Nothing in this build has been verified in game yet. It is built and tested without the game; entries under not yet verified in game say exactly that, and move to New once they have been seen working.
In this build, not yet verified in game
- Sharing to the gallery signs in first: the first Share shows a short code and opens the link page in your browser; sign in there, approve Ghostty, and the screenshot goes up by itself. The link is kept for next time and never logged; /term share unlink forgets it. Not yet tried in game.
- Screenshots that have the terminals in them: /term shot (or the shutter button in the dropdown) photographs the frame the game just drew, ImGui and all, writes a PNG into the plugin's screenshots folder and offers it to the share prompt at once. "panel" crops to the terminal in focus, "clean" hides the game's own UI for the shot. The game's own screenshot key takes its picture before Dalamud draws, so it is the one shot a terminal cannot be in. Not yet tried in game.
- Short clips: /term clip [seconds] [gif|mp4] records a few seconds of the game and hands the frames to ghostty-agent, which encodes them with ffmpeg on the host so the game never stutters over it. Clips are for your own use; the gallery takes PNG and JPEG only. Needs ffmpeg on the host; it says so when there is none. Not yet tried in game.
- Double-clicking a screen to full screen keeps its pixels: the panel is scaled into place instead of re-flowed, so text no longer spills past its edges on the way there and the shell is not redrawn twice a round trip. Not yet tried in game.
- A plugin window pulled into the world now fits the panel it lives in instead of sitting in a band of empty space, and re-fits when you resize the panel — Mappy lays its map out for the screen. Not yet tried in game.
- Other plugins' windows can be pulled into the world as screens (Mappy automatically), and so can the game's chat log. Not yet tried in game.
- Rain runs off world screens and falls to the ground, and the wiper flings what it collects. Outdoors only. Not yet tried in game.
- Dock a screen to a spot on your HUD: it stays there in front of the camera, lagging and settling on springs as you turn, and keeps the size you docked it at. Not yet tried in game.
- Opt-in desk scene: your character sits at a desk and chair with a cycle of seated moods, and reacts to the bell, to failed and long commands, to output after a quiet spell and to idle time. Not yet observed in game.
- Focus a screen and your pets line up beside it in an order you choose — the ◀ ▶ arrows on a hovered pet, or /term order left|right|first|last|N — smaller, stacked in tiers rather than reaching into the camera's line or the space directly behind you. The order is saved per pet. Not yet tried in game.
- Umbra's toolbar and other plugins' overlays stay on top of world screens instead of being painted over (Settings, world: under_ui). Not yet tried in game.
- World screens are cut out of the game's own HUD — hotbars, chat log, minimap, party list — so the interface shows through instead of being covered (Settings, world: under_hud). Not yet tried in game.
- Box drawing, block elements, braille and powerline separators are drawn as shapes, so their lines meet exactly across cells instead of leaving gaps. Not yet tried in game.
- Icons the game's font cannot hold — Nerd Font glyphs above U+FFFF and anything else missing — are drawn by the plugin itself from a bundled symbol font into a texture of its own. Not yet tried in game.
- Ctrl+click a link in a terminal to open it: in the compositor's own browser window where one is running, otherwise in your desktop browser. Not yet tried in game.
- Windows from a machine running ghostty-agent can be pulled in as screens; on Linux the agent is a headless Wayland compositor of its own and the game is its only display. Host tests and a Wine run only — nothing in game or on a real desktop yet (docs/REMOTE_WINDOWS.md).
- Programs can be run as jobs on pipes instead of a terminal, kept alive across reconnects with their output replayed — this is how the plugin talks to a local assistant. Not yet tried in game.
- Share your screenshots: take one with the game's screenshot key while a terminal is on screen and a small prompt offers to share it to the gallery on spacegho.st. One click uploads it; the site owner reviews every shot before it is shown. /term share, the camera button in the dropdown and the About tab offer your latest one; "Don't ask again" or Settings, Gallery turns the prompt off. Not yet tried in game.
- Themes: spaceghost (the look you know), gruvbox-dark and four Catppuccin flavours colour the terminals and the glass around them. Pick one in Settings (hover to preview) or with /term theme; drop any Ghostty theme file into themes/ in the config folder. Not yet tried in game.
- Tooltips everywhere: every button, taskbar chip and setting explains itself when you rest the pointer on it, world screens included. Not yet tried in game.
- A self-test you can run in the game: /term selftest checks the terminal, drawing, the camera maths, settings and the agent without moving your character, and writes a report. Not yet run in game.
- Ask in a panel: /ask <question> answers as chat bubbles in Ghostty glass while you play, streamed as they are written, with code blocks and clickable links. Follow-ups keep the conversation (threads you can go back to), New starts over, Pin floats it beside you. /ask term still opens a terminal. Needs almanac with threads. Not yet tried in game.
- Ask a local AI assistant from chat or a macro: /term ask <question> opens a terminal with the answer (as a pet by default), /term ask alone a conversation. Uses almanac, a separate program you install yourself; see Settings, Assistant. Not yet tried in game.
- Vote on what gets built next: the About tab in Settings opens the vote page in your browser, and a small dot on the settings button shows while there are ideas you have not looked at. The plugin itself never goes online for it.
- Windows without Linux: ghostty-agent now also runs on Windows, and on Windows the plugin uses it for PowerShell and cmd, or opens them locally while no agent runs. Not yet tried on Windows.
- Local terminals (conpty) on Windows start their shell with the structure size Windows expects. Not yet verified on Windows or under Wine.
- Controller: the DualSense Create button can open the terminal while the game is in front (choose create in Settings). Not yet tried with a real controller in game.
- Select text with the mouse — drag, double-click a word, triple-click a line — and copy it.
- Screens cast real in-game light: their backlight glows on your face and the world around you.
- Experimental, off by default: screens cast shadows and block sunlight (Settings, Light). Not yet tried in game, and a game patch may crash it.
- Click a screen and your character walks up to it while it floats out to meet you.
- The terminal bell rings out as a ripple of light from your character; the screen that rang glows.
- A Dalamud plugin of its own: /term, a server info bar entry with a popup terminal, Open and Settings in /xlplugins. Umbra adds its toolbar widget when installed, and your settings, token and screens move over by themselves.
- Drag screens through the world and snap them flat against walls and tables.
- The mouse wheel scrolls terminals, and scrolls less, vim and mouse-aware programs their own way.
- Hold the left mouse button to turn the camera without losing the terminal; a quick click on the world still lets go.
- Backspace and other keys no longer repeat when the game stutters.
- The dropdown is glass like the screens: it takes on the time of day, glows in the dark, slides in softly, and its tab bar has icon buttons with tooltips.
Install
- In game, open
/xlsettings→ Experimental → Custom Plugin Repositories, addhttps://spacegho.st/mods/ffxiv/plugins.json, press +, then Save and close. - Open
/xlplugins, search for Ghostty and install it. Dalamud updates it from then on.
Step by step, with pictures: https://spacegho.st/mods/ffxiv/plugins/
Checksums
SHA-256, also attached as SHA256SUMS (sha256sum -c SHA256SUMS):
3c4e87c9ec940f3569ad9053ad23a36c4e39be1629019edc611a95e5e3321356 GhosttyDalamud-0.3.0.2.zip
661357ee088fa12967c43e69d9c2d76bc6722173edb220e5c2fd7efbe3b7ef28 ghostty-agent-0.3.0.2-windows-x64.zip
3c4e87c9ec940f3569ad9053ad23a36c4e39be1629019edc611a95e5e3321356 latest.zip
77f0dce0f76bf2938ed237c43f0e4780b88cb9af5c6be81f27db59d32a5148f6 pluginmaster.json
Links
Ghostty on spacegho.st · Changelog · Plugin repository · Source at this tag
Ghostty v0.3.0-test.1 (testing)
Warning
Testing build 1 of 0.3.0. Only players who turned on testing builds receive it; everyone else stays on the stable release.
Important
Nothing in this build has been verified in game yet. It is built and tested without the game; entries under not yet verified in game say exactly that, and move to New once they have been seen working.
In this build, not yet verified in game
- Sharing to the gallery signs in first: the first Share shows a short code and opens the link page in your browser; sign in there, approve Ghostty, and the screenshot goes up by itself. The link is kept for next time and never logged; /term share unlink forgets it. Not yet tried in game.
- Screenshots that have the terminals in them: /term shot (or the shutter button in the dropdown) photographs the frame the game just drew, ImGui and all, writes a PNG into the plugin's screenshots folder and offers it to the share prompt at once. "panel" crops to the terminal in focus, "clean" hides the game's own UI for the shot. The game's own screenshot key takes its picture before Dalamud draws, so it is the one shot a terminal cannot be in. Not yet tried in game.
- Short clips: /term clip [seconds] [gif|mp4] records a few seconds of the game and hands the frames to ghostty-agent, which encodes them with ffmpeg on the host so the game never stutters over it. Clips are for your own use; the gallery takes PNG and JPEG only. Needs ffmpeg on the host; it says so when there is none. Not yet tried in game.
- Double-clicking a screen to full screen keeps its pixels: the panel is scaled into place instead of re-flowed, so text no longer spills past its edges on the way there and the shell is not redrawn twice a round trip. Not yet tried in game.
- A plugin window pulled into the world now fits the panel it lives in instead of sitting in a band of empty space, and re-fits when you resize the panel — Mappy lays its map out for the screen. Not yet tried in game.
- Other plugins' windows can be pulled into the world as screens (Mappy automatically), and so can the game's chat log. Not yet tried in game.
- Rain runs off world screens and falls to the ground, and the wiper flings what it collects. Outdoors only. Not yet tried in game.
- Dock a screen to a spot on your HUD: it stays there in front of the camera, lagging and settling on springs as you turn, and keeps the size you docked it at. Not yet tried in game.
- Opt-in desk scene: your character sits at a desk and chair with a cycle of seated moods, and reacts to the bell, to failed and long commands, to output after a quiet spell and to idle time. Not yet observed in game.
- Focus a screen and your pets line up beside it in an order you choose — the ◀ ▶ arrows on a hovered pet, or /term order left|right|first|last|N — smaller, stacked in tiers rather than reaching into the camera's line or the space directly behind you. The order is saved per pet. Not yet tried in game.
- Umbra's toolbar and other plugins' overlays stay on top of world screens instead of being painted over (Settings, world: under_ui). Not yet tried in game.
- World screens are cut out of the game's own HUD — hotbars, chat log, minimap, party list — so the interface shows through instead of being covered (Settings, world: under_hud). Not yet tried in game.
- Box drawing, block elements, braille and powerline separators are drawn as shapes, so their lines meet exactly across cells instead of leaving gaps. Not yet tried in game.
- Icons the game's font cannot hold — Nerd Font glyphs above U+FFFF and anything else missing — are drawn by the plugin itself from a bundled symbol font into a texture of its own. Not yet tried in game.
- Ctrl+click a link in a terminal to open it: in the compositor's own browser window where one is running, otherwise in your desktop browser. Not yet tried in game.
- Windows from a machine running ghostty-agent can be pulled in as screens; on Linux the agent is a headless Wayland compositor of its own and the game is its only display. Host tests and a Wine run only — nothing in game or on a real desktop yet (docs/REMOTE_WINDOWS.md).
- Programs can be run as jobs on pipes instead of a terminal, kept alive across reconnects with their output replayed — this is how the plugin talks to a local assistant. Not yet tried in game.
- Share your screenshots: take one with the game's screenshot key while a terminal is on screen and a small prompt offers to share it to the gallery on spacegho.st. One click uploads it; the site owner reviews every shot before it is shown. /term share, the camera button in the dropdown and the About tab offer your latest one; "Don't ask again" or Settings, Gallery turns the prompt off. Not yet tried in game.
- Themes: spaceghost (the look you know), gruvbox-dark and four Catppuccin flavours colour the terminals and the glass around them. Pick one in Settings (hover to preview) or with /term theme; drop any Ghostty theme file into themes/ in the config folder. Not yet tried in game.
- Tooltips everywhere: every button, taskbar chip and setting explains itself when you rest the pointer on it, world screens included. Not yet tried in game.
- A self-test you can run in the game: /term selftest checks the terminal, drawing, the camera maths, settings and the agent without moving your character, and writes a report. Not yet run in game.
- Ask in a panel: /ask <question> answers as chat bubbles in Ghostty glass while you play, streamed as they are written, with code blocks and clickable links. Follow-ups keep the conversation (threads you can go back to), New starts over, Pin floats it beside you. /ask term still opens a terminal. Needs almanac with threads. Not yet tried in game.
- Ask a local AI assistant from chat or a macro: /term ask <question> opens a terminal with the answer (as a pet by default), /term ask alone a conversation. Uses almanac, a separate program you install yourself; see Settings, Assistant. Not yet tried in game.
- Vote on what gets built next: the About tab in Settings opens the vote page in your browser, and a small dot on the settings button shows while there are ideas you have not looked at. The plugin itself never goes online for it.
- Windows without Linux: ghostty-agent now also runs on Windows, and on Windows the plugin uses it for PowerShell and cmd, or opens them locally while no agent runs. Not yet tried on Windows.
- Local terminals (conpty) on Windows start their shell with the structure size Windows expects. Not yet verified on Windows or under Wine.
- Controller: the DualSense Create button can open the terminal while the game is in front (choose create in Settings). Not yet tried with a real controller in game.
- Select text with the mouse — drag, double-click a word, triple-click a line — and copy it.
- Screens cast real in-game light: their backlight glows on your face and the world around you.
- Experimental, off by default: screens cast shadows and block sunlight (Settings, Light). Not yet tried in game, and a game patch may crash it.
- Click a screen and your character walks up to it while it floats out to meet you.
- The terminal bell rings out as a ripple of light from your character; the screen that rang glows.
- A Dalamud plugin of its own: /term, a server info bar entry with a popup terminal, Open and Settings in /xlplugins. Umbra adds its toolbar widget when installed, and your settings, token and screens move over by themselves.
- Drag screens through the world and snap them flat against walls and tables.
- The mouse wheel scrolls terminals, and scrolls less, vim and mouse-aware programs their own way.
- Hold the left mouse button to turn the camera without losing the terminal; a quick click on the world still lets go.
- Backspace and other keys no longer repeat when the game stutters.
- The dropdown is glass like the screens: it takes on the time of day, glows in the dark, slides in softly, and its tab bar has icon buttons with tooltips.
Install
- In game, open
/xlsettings→ Experimental → Custom Plugin Repositories, addhttps://spacegho.st/mods/ffxiv/plugins.json, press +, then Save and close. - Still in Experimental, turn on Get plugin testing builds.
- Open
/xlplugins, search for Ghostty and install it. Already installed: right-click it → Receive plugin testing versions, then update.
Step by step, with pictures: https://spacegho.st/mods/ffxiv/plugins/
Checksums
SHA-256, also attached as SHA256SUMS (sha256sum -c SHA256SUMS):
37e602480841ddd0505c6d14e1fc537f96ef1051afd27f6be849f67f5e75e0bd GhosttyDalamud-0.3.0.1.zip
d1257783efd1888b8d78859cd65e1bd958320b6e1f0c17c672385e3d1874a381 ghostty-agent-0.3.0.1-windows-x64.zip
37e602480841ddd0505c6d14e1fc537f96ef1051afd27f6be849f67f5e75e0bd latest.zip
c5193b440925581de1b61a551716919478bbb99308a74e935c3ce45e7fd67b10 pluginmaster-testing.json
Links
Ghostty on spacegho.st · Changelog · Plugin repository · Source at this tag







