Kevin Lange
799d36a983
Fix GPF in VGA terminal on VirtualBox
2016-09-04 19:05:12 +09:00
Kevin Lange
54d418cd8b
First pass at modifier+arrows in terminal.
...
This is kinda rough and needs a finishing touch.
- Adds ncurses-specific terminfo entries for modifiers.
- Supports modifiers in the terminal itself.
- Updates the vim config to understand ctrl-arrows.
- Adds limited support for some modifiers in lib/kbd
(as used by rline)
- Adds limited support for Ctrl+Arrows to rline
(needs major improvements, only jumps to spaces)
2015-11-09 17:24:51 -08:00
Kevin Lange
02fbd0ef4b
Fix weird VGA cursor positioning by moving it offscreen
2015-09-04 13:48:47 -07:00
Kevin Lange
0553a0802f
Support DEL, HOME, END, INS, shift+TAB
...
Adds support for these keys in lib/kbd, adds mappings to terminfo,
supports them in the terminal, and adds support for HOME, END and DEL
to the shell.
Closes #71 .
2015-08-20 10:48:53 -07:00
Kevin Lange
4cf6843441
Prune garbage from keyboard from before terminal started
2015-07-12 19:23:59 +09:00
Kevin Lange
06b57c14f8
Use pure-software cursor for VGA terminal, works better
2015-07-12 19:15:29 +09:00
Kevin Lange
7f608107dc
Add half-filled character to VGA terminal mappings
2015-07-12 19:08:30 +09:00
Kevin Lange
20c9535d29
Clean up termemu and add a new kernel vga logging mechanism
2015-06-01 00:20:02 -07:00
Kevin Lange
a6f071f9c8
New scroll rows should set background colors.
2015-05-01 00:36:50 -07:00
Kevin Lange
dd74cdcec2
Map Vim config'd tab/space characters in VGA terminal
2015-04-29 16:29:36 -07:00
Kevin Lange
4fd1ae9aa3
Support scrollwheel mice
2015-04-26 18:05:14 -07:00
Kevin Lange
a3f9ab465b
Basic xterm (?1000 and ?1002) mouse support
2015-04-26 17:14:14 -07:00
Kevin Lange
1147d45cdb
Don't blink the cursor in unfocused terminals
2015-04-05 15:50:52 -07:00
Kevin Lange
fe95e33422
Fall back to variable-width font in terminal
2014-09-08 21:17:46 -07:00
Kevin Lange
aaeb7d10f4
Port a bunch of other stuff to use getpwuid, etc.
2014-08-26 22:12:33 -07:00
Kevin Lange
a0a6ece24d
Run $SHELL on terminal startup instead of hard-coded /bin/sh
2014-08-26 21:37:45 -07:00
Kevin Lange
ae570f8f48
Toggle decorations in terminal with F12
2014-08-04 21:54:18 -07:00
Kevin Lange
49752793b7
Close button support in decorations library
2014-08-01 21:17:41 -07:00
Kevin Lange
b59871ca67
More random terminal cleanup while we're here
2014-06-08 19:47:24 -07:00
Kevin Lange
546ec13ec2
Use diamond as Unicode replacement character in vga text-mode
2014-06-08 00:32:00 -07:00
Kevin Lange
827bd1fe04
Fix horizontal lines in vga text mode
2014-06-08 00:29:56 -07:00
Kevin Lange
ef7d72c1e1
License headers and a tool to generate them
2014-06-07 23:13:29 -07:00
Kevin Lange
e4732df6e1
And support dynamic (24-bit, 32-bit) colors as well
2014-06-07 22:20:27 -07:00
Kevin Lange
eccbd5d41e
Map 256-color palette to VGA colors
2014-06-07 22:14:03 -07:00
Kevin Lange
b114700751
Fix scrolling/overhang in vga terminal
2014-06-07 22:13:51 -07:00
Kevin Lange
7e67bf0727
Break out of that particular escape on linefeed
2014-05-30 21:29:29 -07:00
Kevin Lange
e157147550
Fix buffer overflow in termemu
2014-05-30 21:20:13 -07:00
Kevin Lange
ab2a9f056f
Quick and dirty display server nesting - lots of mouse event changes
2014-05-26 12:43:22 -07:00
Kevin Lange
ce0dacb912
Use spinlock.h instead of continually definign this as static in a bunch of apps
2014-05-18 19:34:49 -07:00
Kevin Lange
0cdfcf766e
Support frameless non-fullscreen terminals
2014-05-18 19:23:05 -07:00
Kevin Lange
71946d8a97
Invert resize rounding behavior for terminal
2014-05-18 18:10:18 -07:00
Kevin Lange
068f933a71
Kill some excessive debug output in the terminal
2014-05-18 12:24:17 -07:00
Kevin Lange
2675532013
Add a terminal option to disable rounding resizes to cell widths
2014-05-18 12:18:34 -07:00
Kevin Lange
3cb7b18c60
Client-initiated window drag
2014-05-18 11:54:20 -07:00
Kevin Lange
c231d1c090
Cleanup some direct system calls in userspace
2014-05-11 17:40:16 -07:00
Kevin Lange
bcb86108ce
Fix terminal damage rects
2014-05-10 14:02:49 -07:00
Kevin Lange
601768c4bf
Panel icon support
2014-05-03 13:20:16 -07:00
Kevin Lange
74d710fe5f
Supplementary plane support (emojis)
2014-04-29 00:29:19 -07:00
Kevin Lange
29841b03fc
Fix waitpid calls to account for EINTR
2014-04-29 00:28:41 -07:00
Kevin Lange
4d8335ad75
Implement proper wait/waitpid.
...
This is a pretty big commit, so let's run through it in parts:
- All of the userspace changes are to switch away from syscall_wait
Mostly, this is to waitpid; some things were tweaked to do things
"properly" instead of waiting for particular processes. Init has
been fixed to do a proper spin wait.
- syscall_wait is gone - as are its uses. newlib bindings have been
using just waitpid for a while now.
- waitpid now performs like a Unix waitpid
- process reaping is no longer a "do this on next change thing":
it happens when a process is waited on, like it should
(That means we can have real zombies: terminated processes that
have not yet been waited on)
- Reparenting of children to init has been implemented, so you
can fork-daemonize!
Overall, this is pretty big... So I hope it doesn't break everything.
2014-04-27 01:37:33 -07:00
Kevin Lange
1487ad17e5
Fix focus default in terminal
2014-04-24 22:36:20 -07:00
Kevin Lange
d967fae3a5
Track down the root of that malloc problem
2014-04-20 13:19:52 -07:00
Kevin Lange
140f5a71e0
Reenable scrollback (bit glitchy)
2014-04-19 19:51:11 -07:00
Kevin Lange
05e3276858
Workaround a weird glitch in newlib's malloc
2014-04-19 19:10:44 -07:00
Kevin Lange
9e152263c7
fix terminal rendering on scroll
2014-04-19 15:00:26 -07:00
Kevin Lange
68892b9023
Terminal should only resize to nice sizes if it can.
2014-04-18 20:07:46 -07:00
Kevin Lange
fb67eca4ff
support resize in terminal
2014-04-18 19:46:05 -07:00
Kevin Lange
9264a203dd
Quick and dirty session ending support with a broadcast event
2014-04-18 19:23:45 -07:00
Kevin Lange
700e711606
Start on panel functionality: Window title advertisement
2014-04-18 00:18:19 -07:00
Kevin Lange
939749edf9
unbork terminal
2014-04-16 11:18:40 -07:00