https://github.com/rcarmo/drawterm
Plan9/9front drawterm with HIDPI scaling settings on macOS
https://github.com/rcarmo/drawterm
9front cocoa drawterm macos-app plan9
Last synced: about 2 months ago
JSON representation
Plan9/9front drawterm with HIDPI scaling settings on macOS
- Host: GitHub
- URL: https://github.com/rcarmo/drawterm
- Owner: rcarmo
- License: other
- Created: 2025-12-18T12:05:11.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-12-28T16:38:29.000Z (6 months ago)
- Last Synced: 2026-03-08T18:31:12.008Z (3 months ago)
- Topics: 9front, cocoa, drawterm, macos-app, plan9
- Language: C
- Homepage:
- Size: 3.65 MB
- Stars: 23
- Watchers: 0
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# `drawterm` (dragged into the Liquid Glass era)

## Fork summary
- HiDPI-friendly Cocoa backend: logical vs device scaling, fractional scale slider, and raw-pixel mode (scale 0).
- Preferences dialog to set UI scale; scale also configurable via `DRAWTERM_SCALE` and persisted in user defaults.
- Mouse and resize paths honor logical scaling; raw mode keeps pixel-accurate frame buffer.
- Metal redraw path limits full-surface invalidation to scale/resize events; incremental flushes use region updates.
- macOS pasteboard bridge for text snarf/clipboard; getenv fixed to use host environment safely.
- Cocoa "Connect…" dialog to set CPU/auth hosts and ports, user, and optional saved password; defaults persist between runs.
- macOS shortcuts: Command now emits mod4 for rio/riow bindings; menu accelerators for Full Screen/Hide are Command+Shift+F/H; Command+Q shows a confirmation alert.
- an icon that doesn't want to be unseen.
## Description
This fork keeps `drawterm` working smoothly on modern macOS systems while retaining support for other platforms. My original motivation was to use `drawterm` on my Retina MacBook Pro, but I have also preserved the existing backends for Unix, Solaris, Windows, and X11 macOS, and started gathering other patches that were sent to me on the `9fans` mailing list.
## Installation
- Unix: `CONF=unix make`
- Solaris (Sun cc): `CONF=sun make`
- Windows: use Mingw on Cygwin (Visual C is unsupported)
- macOS X11 (XQuartz): `CONF=osx-x11 make`
- macOS Cocoa: `CONF=osx-cocoa make` and then `cp drawterm gui-cocoa/drawterm.app/`
- Android: adjust Make.android\* and gui-android/Makefile for your toolchain, then `make -f Make.android`
## Usage
- Android: the five checkboxes map to the three mouse buttons and mouse wheel; `kb` toggles the soft keyboard.
- macOS Cocoa: use Drawterm → Connect… (Cmd+O) to enter CPU/auth endpoints and user; enable "Save password" to reuse it on next launch. Full Screen and Hide use Cmd+Shift+F/H; quitting via Cmd+Q prompts for confirmation; Command acts as mod4 inside `rio`.
## Caveats
- Android: saved login details are stored as plaintext; secstore is not supported.
- macOS: saved passwords live in user defaults (plaintext); disable "Save password" if that is unacceptable.
## Official Binaries
- http://drawterm.9front.org/
## Original Source
- http://git.9front.org/plan9front/drawterm/HEAD/info.html
## Help
- No.