Andreas Kling
3a401d5249
LibC: Oops, unbreak isprint() once again.
2019-01-25 16:21:29 +01:00
Andreas Kling
6208cef154
Liza8x10: Tweak 'o' glyph.
2019-01-25 15:55:17 +01:00
Andreas Kling
a54848f451
Let's not auto-start guitest. guitest2 is so much more useful.
2019-01-25 15:52:55 +01:00
Andreas Kling
6e5db34b2e
sh: Discard the current line on interrupt.
2019-01-25 15:49:54 +01:00
Andreas Kling
c6fdde37e7
Liza8x10: Minor glyph tweaks.
2019-01-25 15:43:19 +01:00
Andreas Kling
92c14ba887
Terminal: Support VKILL and VERASE. Also ignore null characters.
2019-01-25 15:34:21 +01:00
Andreas Kling
d059e684a2
Keyboard: Shift+backspace should generate backspace character.
2019-01-25 15:34:02 +01:00
Andreas Kling
8fa7d96f50
SharedGraphics: Import another 8x10 fixed-width font I made.
...
It's not perfect yet but it's quite nice to look at so I'll make this the
system default for now. :^)
2019-01-25 15:33:47 +01:00
Andreas Kling
6cc1a9d90a
sh: Support basic backspacing on the command line.
...
It's weird that I didn't do this sooner. I don't know how many tims
I've had to retype a misspelled command. :^)
2019-01-25 15:11:56 +01:00
Andreas Kling
dfdca9d2a7
Kernel: Implement lazy FPU state restore.
2019-01-25 07:52:44 +01:00
Andreas Kling
2279f5eaa6
SharedGraphics: Fix broken clipping in draw_bitmap().
2019-01-25 06:37:56 +01:00
Andreas Kling
5adaeeaa3b
Terminal: Support setting the window title using Xterm escape sequences.
...
Use this in the /bin/sh prompt to keep the window title in sync with the
shell's working directory. :^)
2019-01-25 05:52:16 +01:00
Andreas Kling
5f14e22a31
WindowServer: Make dragging window frames look kinda cool.
2019-01-25 05:19:45 +01:00
Andreas Kling
d39f585f35
Kernel: Fix Syscall.h build when out of context.
2019-01-25 05:19:29 +01:00
Andreas Kling
0db72786cf
Snazz up the windows with some title bar gradients. :^)
2019-01-25 05:02:32 +01:00
Andreas Kling
c6b7b92625
WindowServer: Put the desktop background color in a member.
2019-01-25 03:48:50 +01:00
Andreas Kling
623847cf6d
Terminal: Tweak dark blue color.
2019-01-25 03:24:52 +01:00
Andreas Kling
a915dd7b27
WindowServer: Retain window backing stores while blitting them.
2019-01-25 03:07:55 +01:00
Andreas Kling
8a3af99416
SharedGraphics: Optimize Painter::draw_bitmap().
...
Manually peel as much as possible out of the loop for a ~100% speedup.
2019-01-25 02:39:45 +01:00
Andreas Kling
267a903dd0
Terminal: Redraw entire line if any of its characters are dirty.
...
This means we only have to do one fill_rect() per line and the whole process
ends up being ~10% faster than before.
Also added a read_tsc() syscall to give userspace access to the TSC.
2019-01-25 02:09:29 +01:00
Andreas Kling
11b73c38d8
Kernel: Fix incorrect EFAULTs when syscall would write into COW pages.
2019-01-25 01:39:15 +01:00
Andreas Kling
a4a106a430
Terminal: Use a more reasonable data structure for the emulation buffer.
2019-01-25 01:27:02 +01:00
Andreas Kling
e28de4ad5e
Kernel: Dump registers and code on ring0 page fault.
2019-01-25 00:32:50 +01:00
Andreas Kling
b896d4b237
PTY: Disallow infinite writing to slaves.
...
This way we don't buffer ungodly amounts of output in the kernel when doing
e.g "cat /dev/random" on a PTY.
2019-01-25 00:13:54 +01:00
Andreas Kling
d7d78670c9
Kernel: Add some logging for backing store get/release syscalls.
2019-01-25 00:13:37 +01:00
Andreas Kling
86eae0f8df
Let userland retain the window backing store while drawing into it.
...
To start painting, call:
gui$get_window_backing_store()
Then finish up with:
gui$release_window_backing_store()
Process will retain the underlying GraphicsBitmap behind the scenes.
This fixes racing between the WindowServer and GUI clients.
This patch also adds a WSWindowLocker that is exactly what it sounds like.
2019-01-24 23:44:19 +01:00
Andreas Kling
ccf3fc4618
TTY: MasterPTY's are always writable when open.
...
This should probably have some limitations eventually, but for now let's just
say we always accept data for shoveling over to SlavePTY.
2019-01-24 21:23:46 +01:00
Andreas Kling
2159d6bf76
Kernel: Fix bug in process termination on missing signal handler.
2019-01-24 21:22:13 +01:00
Andreas Kling
ff4d6afb60
Terminal: Turn ctrl+character into the appropriate ^character.
2019-01-24 20:43:45 +01:00
Andreas Kling
aa24547e12
Kernel: Finally stop exposing Region members to the public.
2019-01-24 18:09:46 +01:00
Andreas Kling
e683f611f1
LibC: Fix broken isprint(). I had misunderstood what's considered printable.
2019-01-24 17:22:19 +01:00
Andreas Kling
faaa0dbf1d
Terminal: Various improvements to terminal emulation.
2019-01-23 19:59:17 +01:00
Andreas Kling
8d36c8f0d8
LibC: Tweak execvp() and execve() prototypes.
2019-01-23 17:09:00 +01:00
Andreas Kling
1483af406f
LibC: fputs() shouldn't add a trailing newline, only puts().
2019-01-23 16:24:39 +01:00
Andreas Kling
1ee8597ce4
Ext2FS: Include meta blocks in an inode's i_blocks count.
2019-01-23 15:43:29 +01:00
Andreas Kling
9ae20a153e
Terminal: Add support for some more escape sequences.
2019-01-23 08:55:59 +01:00
Andreas Kling
c7ded89f05
LibC: Support backwards copy in memmove().
2019-01-23 08:31:23 +01:00
Andreas Kling
84c4110a50
Keyboard: Support the escape key.
2019-01-23 08:30:48 +01:00
Andreas Kling
7a7fc37ca1
SharedGraphics: Draw an error glyph instead of crashing due to missing glyphs.
2019-01-23 08:07:58 +01:00
Andreas Kling
af06d5edc1
Kernel: Implement a limited version of POSIX poll().
2019-01-23 08:03:31 +01:00
Andreas Kling
b33e367f33
Terminal: Fix crash when scrolling contents while cursor is on first row.
2019-01-23 07:45:23 +01:00
Andreas Kling
cfa197f821
LibC: Let malloc(0) return nullptr.
2019-01-23 07:32:16 +01:00
Andreas Kling
0ebaa35aa1
Kernel: Let the process argv arrays be null-terminated.
...
Seems like this is expected. I don't know why I thought it wasn't.
2019-01-23 07:29:10 +01:00
Andreas Kling
2bedabbd6c
Stub out poll() syscall and LibC wrapper.
2019-01-23 07:28:25 +01:00
Andreas Kling
8bb18fdc56
Kernel: Get rid of Unix namespace.
...
This is no longer needed as the Kernel can stand on its own legs now
and there won't be any conflict with host system data types.
2019-01-23 06:57:00 +01:00
Andreas Kling
69a3aecf6b
LibC: Add vsnprintf(), snprintf(), execvp() and abs().
2019-01-23 06:35:34 +01:00
Andreas Kling
db35d59994
VFS: Move Ext2FSInode::m_lock up to Inode so all inodes can have locking.
2019-01-23 05:42:23 +01:00
Andreas Kling
730c14e647
VFS: Rename FS::id() to fsid() for consistency.
2019-01-23 05:39:11 +01:00
Andreas Kling
a1b4f719ba
VFS: unlink() should fail when called on a directory.
2019-01-23 05:35:42 +01:00
Andreas Kling
754037874c
Move VFS sources into Kernel/.
2019-01-23 05:14:00 +01:00