term-mac
Terminal nativ macOS cu copy & paste in stil PuTTY, titluri dinamice de tab pentru SSH si blink de cursor configurabil.
~1.4 MB · macOS 14+ · Apple Silicon · GPL-2.0
Ce este term-mac?
Un terminal mic si focused pentru macOS. Ruleaza shell-ul tau de login
(zsh by default) si adauga partile din PuTTY
care probabil iti lipsesc pe Mac: selectia e copiata automat in
clipboard cand eliberezi mouse-ul, iar click-dreapta face paste
din clipboard. Fara meniuri, fara combinatii de taste.
In plus: tab-uri care arata unde esti de fapt
(titlul OSC al prompt-ului tau — deci ssh user@host arata
user@host:cwd in tab), auto-scroll cand drag-ul de selectie
iese din zona vizibila, blink de cursor configurabil, si un folder
pe care il poti fixa ca director implicit de pornire pentru tab-uri noi.
Functionalitati
- Copy on selectEliberezi mouse-ul → textul e in clipboard. Fara meniu, fara Cmd+C.
- Paste cu click-dreaptaPaste in stil PuTTY. Fara ocol prin Edit → Paste.
- Titluri dinamice de tabTab-urile reflecta titlul OSC 0/1/2 al shell-ului. Sesiunile SSH arata automat
user@host:cwd.
- Auto-scroll la dragSelectia se extinde pe output lung pe masura ce tragi peste marginea de jos/sus.
- Blink cursor: 4 moduriOff / Lent / Mediu / Rapid — setate in Setari.
- Folder de pornireFixeaza un director implicit pentru tab-uri noi (Setari → Pornire).
- TemeDefault, Solarized Dark/Light, Dracula, Nord, macOS Light si altele.
- Font ajustabilCmd+= / Cmd+- pentru zoom. Slider in Setari.
- Integrare shellHook one-time optional in
~/.zshrc (cu markeri, eliminabil) pentru titlu + tab completion interactiv.
- .dmg self-contained~1.4 MB. Fara dependinte in afara de macOS in sine.
Instalare
- Descarca cel mai recent
.dmg de la pagina de release-uri.
- Deschide
.dmg, trage term-mac.app in Applications.
- Pentru ca bundle-ul e ad-hoc signed (inca nu exista Apple Developer ID platit), Gatekeeper va refuza sa-l deschida la prima lansare. Sterge flag-ul de carantina o singura data:
xattr -dr com.apple.quarantine /Applications/term-mac.app
- Porneste din
/Applications. Deschide ⌘, pentru Setari, ⌘T pentru un tab nou, ⌘? pentru help-ul in-app.
Nu e pe Mac App Store. term-mac e intentionat non-sandboxed — un terminal local real are nevoie de acces complet la fisierele tale (vim, less, grep prin sistem, etc.). Pentru o versiune compatibila cu sandbox, vezi proiectul (privat) VTerm.
Ce nu e inca
- Apple Developer ID signing + notarization (ca Gatekeeper sa-l deschida fara pasul
xattr).
- Echivalente bash / fish pentru integrarea zsh (doar zsh momentan).
- Cautare in buffer (Cmd+F).
- Keybindings custom.
Changelog
Oglindeste exact release-urile de pe GitHub. Cele mai noi sus.
Fix scrollback — setarea functioneaza acum cu adevarat.
- Setarea Setari > Buffer scrollback are acum efect. In v0.1.2 / v0.1.3 buffer-ul ramanea la 500 linii indiferent de valoarea aleasa. Cauza: setarea
terminal.options.scrollback + apelul resetNormalBuffer() in makeNSView era anulata silentios de setupOptions al SwiftTerm care rula ulterior in pipeline-ul de layout, reassign-and terminal.options la un struct nou cu default scrollback=500. Fix: foloseste API-ul public Terminal.changeScrollback(_:) al SwiftTerm, care muteaza Buffer.scrollback si lines.maxLength in loc, fara recreare de buffer.
- Scrollback se aplica si la tab-urile deschise. Schimbi setarea in Setari si tab-urile deja deschise primesc imediat noua dimensiune — fara nevoie sa le inchizi si redeschizi.
v0.1.3-alpha
· 2026-05-26
— Prima incercare de fix scrollback (nu a functionat efectiv)
Am incercat sa repar bug-ul de scrollback din v0.1.2 apeland resetNormalBuffer() in loc de setup(isReset:false). Mai aproape, dar tot nu supravietuia apelurilor ulterioare de layout din SwiftTerm. Superseded de v0.1.4.
v0.1.2-alpha
· 2026-05-26
— Setare buffer scrollback (adaugata, dar fara efect)
Am adaugat picker-ul Setari > Buffer scrollback (1.000 / 5.000 / 10.000 / 25.000 / 50.000 / 100.000 linii) pentru ca workflow-uri comune ca mdls Downloads/ + Tab cu 1217 intrari sa nu fie taiate. UI-ul a aparut dar wiring-ul era gresit — reparat proper in v0.1.4.
v0.1.1-alpha
· 2026-05-25
— Panou About + fereastra Help
- Panou About — term-mac → About term-mac deschide un panou real cu autor, email, link repo, versiune si numar de build. Inlocuieste cel gol auto-generat.
- Meniu Help — ⌘? deschide o fereastra in-app cu: Ce este, Pornire rapida, Selectie si paste, Titlu tab SSH, Tab completion, Limitari + link-uri spre GitHub / issues / email. Inlocuieste "Help isn't available for term-mac".
- Fix:
Info.plist citeste acum versiunea din $(MARKETING_VERSION) — anterior hardcodata la "1.0" deci bump-urile de versiune nu apareau in About sau Finder Get Info.
v0.1.0-alpha
· 2026-05-25
— Primul release public
Prima versiune alpha publica a unui terminal nativ macOS cu copy/paste in stil PuTTY.
- Shell local de login (zsh / bash din
$SHELL), tab-uri (⌘T / ⌘W).
- Titluri dinamice de tab via OSC 0/1/2 — sesiunile SSH arata automat
user@host:cwd.
- Copy on select + paste cu click-dreapta (stil PuTTY).
- Auto-scroll in timpul drag-select — workaround pentru un bug upstream SwiftTerm unde
autoScrollDelta e setat dar niciodata consumat.
- Blink de cursor configurabil: Off / Lent / Mediu / Rapid. Foloseste DECSCUSR + acces prin reflection la
caretView pentru durata custom a animatiei (SwiftTerm are hardcodat 0.7s).
- Folder de pornire implicit in Setari (gol = HOME).
- Teme (Default, Solarized, Dracula, Nord, macOS Light si altele), font ajustabil (⌘= / ⌘-).
- Integrare shell auto-install in
~/.zshrc (cu markeri, toggle in Setari): adauga hook-ul precmd pentru titlu + AUTO_MENU / menu select pentru tab completion interactiv.