52 Commits

Author SHA1 Message Date
Saagar Jha 6860c1c505 Disable text suggestions on iOS 15+ 2022-09-18 16:30:39 -07:00
Saagar Jha b7f5d3c1c4 Add support for custom themes 2022-08-23 18:16:34 -07:00
Theodore Dubois 43144e3ad3 Override system behavior for arrow keys on iOS 15
Fixes #1708
2022-02-12 21:16:01 -08:00
Saagar Jha 52e94fd361 Make preference updates thread-safe
Most of the code assumed it was called on the main thread, but we need
to make this explicit now because preference updates will be driven off
the UI as well.
2022-01-23 11:02:11 -08:00
Theodore Dubois dc45bac74c Fix ref cycles that leak TerminalViews 2022-01-05 18:51:30 -08:00
Theodore Dubois f708c812dc Hook up linux pseudoterminals 2021-12-31 20:49:52 -08:00
Theodore Dubois 0a5b10b6ba UI for helping out with APK upgrades 2021-12-13 20:00:45 -08:00
Theodore Dubois e737c8fd7f Achieve terminal output 2021-09-05 10:00:47 -07:00
Theodore Dubois 69b6852686 Build a new and better block-based KVO API
Fixes #1046
2020-11-14 16:49:55 -08:00
Theodore Dubois a36ddff6ce Automatically remove KVO observers on dealloc 2020-11-13 21:41:16 -08:00
Theodore Dubois de2bd210b9 Don't insert 10 spaces before every dictation result 2020-10-04 10:36:36 -07:00
Theodore Dubois b62fe8f256 Add a switch to override ctrl-space
Fixes #810
2020-08-22 20:19:07 -07:00
Theodore Dubois 1f5dd7840d Map ctrl-space to \0
#810
2020-08-22 20:18:38 -07:00
Theodore Dubois 3c186de2bc Reland "Add a setting that hides extra keys with a HW keyboard"
Now with bug fixes! Hopefully it won't have to be reverted this time.

This reverts commit 554f0c47bc.
2020-06-20 17:18:49 -07:00
Theodore Dubois d2e1160f8f Allow holding down the control button
Fixed #662
2020-05-31 12:26:14 -07:00
Theodore Dubois e29c7cb787 Make selection possible on iOS 13.4
The selection stuff in UIKit is no longer willing to work on a view that
isn't the first responder, meaning the trick to have our own view be
first responder while text selection happens on a WKWebView doesn't work
anymore. I tried for a while to find a way to let the WKWebView be first
responder, but it turns out that when you ask a WKWebView to become
first responder, it actually makes an internal WKContentView first
responder, which made it impossible to override various interesting
things like floating cursors. So I gave up and let the web view have
first responder when you select in it.

Tested on 13.4 and 12.2 simulator.

Fixes #667
2020-05-02 12:16:04 -07:00
Theodore Dubois e313ab2041 Make the floating cursor send arrow keys 2020-04-05 18:39:22 -07:00
Theodore Dubois efc4876f17 Disable caps lock mapping on iOS 13 2020-02-17 21:39:50 -08:00
Theodore Dubois 53e2276e74 Make it easier to press ^@ and ^^
This can now be done without a hardware keyboard, and using @ and ^
instead of 2 and 6.
2019-12-22 12:41:27 -08:00
Theodore Dubois 1e292bf940 Add key commands to override font size
Fixed #565
2019-11-27 17:21:43 -08:00
Theodore Dubois 3ff72502d1 Move styling responsibility to TerminalView 2019-11-27 15:48:02 -08:00
Theodore Dubois a5ce352ef2 Unfocus TerminalView when its window is not key 2019-10-27 19:29:03 -07:00
Theodore Dubois 6791a15348 Support multiple windows
Co-authored-by: Noah Peeters <noah.peeters@icloud.com>
2019-10-27 19:29:03 -07:00
Theodore Dubois 4ab04e4e63 Support IME
Fixed #133, fixed #510
2019-10-19 16:19:12 -07:00
Theodore Dubois ca909d93c4 Barely conform to UITextInput
Fixes Braille input and long press on backspace.

Fixed #519, fixed #465
2019-10-19 16:19:05 -07:00
Theodore Dubois d6c76aa24e Fix option->meta map setting having no effect
Fixed #515
2019-10-19 11:42:56 -07:00
Theodore Dubois 9d5cd4de43 Enable hterm VoiceOver announcements 2019-10-13 14:07:18 -07:00
Theodore Dubois 31a3ad323e Add optional backtick->escape and option->meta mappings
Fix #460, fix #432
2019-09-22 18:52:24 -07:00
Theodore Dubois f445aed9c4 Set up handler for hterm hyperlinks
Related: #390
2019-09-22 00:49:54 -07:00
Theodore Dubois a4421a1b0a Remove clear screen shortcut, add clear scrollback shortcut
There seems to be no existing clear screen code for hterm.
2019-09-15 17:38:34 -07:00
Theodore Dubois ed40de9080 Match color of scrollbar with background color 2019-09-07 15:25:58 -07:00
Theodore Dubois f7877506d6 Switch to hterm
xterm.js can't support selection sanely. I originally thought hterm was
kind of abandoned, but it turns out thousands of Googlers rely on it.
So now I can live at head, and have a place to send patches.
2019-09-06 23:30:41 -07:00
Theodore Dubois 05f5519c3f Implement scrolling with a scroll view that doesn't scroll 2019-09-04 19:02:09 -07:00
Theodore Dubois 3af43ce2ee Disable scrolling on the web view in every possible way 2019-02-12 17:56:42 -08:00
Theodore Dubois f96271b075 Add command-k shortcut to clear screen (closes #248) 2019-01-06 15:10:02 -08:00
Theodore Dubois 01ecfa0a4c Send the correct arrow key escape sequences in application cursor mode 2019-01-02 13:53:44 -08:00
Theodore Dubois 9ee17fcfe2 Don't copy nonbreaking spaces 2018-12-29 16:16:04 -08:00
Theodore Dubois 2090467dd5 Forward accessibility actions to web view
Fixes #174
2018-12-29 13:26:20 -08:00
Theodore Dubois 6a0f2ffb9d Make copying work again 2018-12-07 09:39:12 -08:00
Theodore Dubois 490830c987 Get caps lock mapping working 2018-12-02 18:14:30 -08:00
Saagar Jha 90af2ca311 Erase -[TerminalView canPerformAction:withSender:]
This was preventing a bunch of things from working, such as hardware
arrow and escape keys, as well as copy.
2018-11-18 17:44:21 -08:00
Theodore Dubois 4762c1f7bc Enable pasting from the context menu 2018-11-17 18:15:53 -08:00
Theodore Dubois 5771773492 Send \r instead of \n when pressing return in iOS 2018-11-11 15:39:45 -08:00
Christoffer Tønnessen 0ece6a57c4 Let caps lock be overwritten from settings
Now you can go to settings and iSH and chose what you want the caps lock
to be verwritten to!
2018-11-11 18:39:12 +01:00
Christoffer Tønnessen a370ad5582 Remap caps lock to be escape
Right now this always remaps caps lock to be escape, but with support to
change this later.
2018-11-11 00:06:37 +01:00
Theodore Dubois 515b742219 Get that row of extra keys working 2018-09-23 16:19:14 -07:00
Theodore Dubois 825413127e Disable autocorrection 2017-12-01 12:19:09 -08:00
Theodore Dubois 39355184d1 Disable autocapitalization 2017-12-01 11:36:23 -08:00
Theodore Dubois 537f8075fc Further UI improvements
scroll momentum, correct initial layout, padding adjustment, moved the
xtermjs files into app
2017-11-09 14:55:44 -08:00
Theodore Dubois 5477fdc1e6 Improve UI
Do screen updates on the next frame, animate resizing in sync with keyboard, remove status bar, transparent background for the terminal
2017-11-08 17:25:04 -08:00