Andreas Kling
b9738fa8ac
Kernel: Move VM-related files into Kernel/VM/.
...
Also break MemoryManager.{cpp,h} into one file per class.
2019-04-03 15:13:07 +02:00
Andreas Kling
39fd81174e
Kernel: Tidy up kmalloc.cpp a tiny bit.
2019-04-03 14:41:40 +02:00
Andreas Kling
5b296718d8
GraphicsBitmap: Use MappedFile.
2019-04-03 14:32:45 +02:00
Andreas Kling
c0009e3173
PNGLoader: Use MappedFile.
2019-04-03 14:15:35 +02:00
Andreas Kling
3dc3754cde
Font: Clean up AK::MappedFile and use it for mapping font files.
2019-04-03 13:51:49 +02:00
Andreas Kling
ab6bd3872b
AK: Remove unused TemporaryFile class.
2019-04-03 13:20:08 +02:00
Andreas Kling
ce5d21ea19
Kernel: Remove unused Queue.h.
2019-04-03 13:19:45 +02:00
Andreas Kling
58c4d41c5f
Kernel: Remove Limits.h
2019-04-03 13:18:42 +02:00
Andreas Kling
a095a90b51
Kernel: Remove ancient nprocess and nblocked globals.
...
These were not in sync with reality, and not used anywhere anyway.
2019-04-03 13:05:20 +02:00
Andreas Kling
ac46e45f6e
Kernel: Remove unneeded kassert.h.
2019-04-03 12:51:10 +02:00
Andreas Kling
429bb091e7
Kernel: Remove now-unused _start.cpp
2019-04-03 12:40:09 +02:00
Andreas Kling
ab43658c55
Kernel: Move devices into Kernel/Devices/.
2019-04-03 12:36:40 +02:00
Andreas Kling
072ea7eece
Kernel: Move ELF-related files into Kernel/ELF/.
2019-04-03 12:30:04 +02:00
Andreas Kling
9fca94269e
Kernel: Move TTY-related files into Kernel/TTY/.
2019-04-03 12:28:45 +02:00
Andreas Kling
f9864940eb
Kernel: Move FS-related files into Kernel/FileSystem/
2019-04-03 12:25:24 +02:00
Andreas Kling
f6d0e1052b
Kernel: Make LoopbackAdapter eternally allocated.
2019-04-03 12:15:42 +02:00
Andreas Kling
beb9c970c9
AK: Remove useless ktime.h
2019-04-03 12:09:27 +02:00
Andreas Kling
60f236b285
AK: Clean up some of the confusion that is AK/kmalloc.{cpp,h}
2019-04-03 12:07:41 +02:00
Andreas Kling
d11b5407a3
Kernel: Get rid of the GPL elf.h and import exec_elf.h from OpenBSD.
2019-04-03 11:30:56 +02:00
Andreas Kling
401d3662c6
GInputBox: Make the input text box a bit taller.
2019-04-02 20:48:37 +02:00
Andreas Kling
2580d4b911
IRCClient: Crash if server name resolution fails.
...
This is just so that I can catch it immediately. It obviously needs a bit of
work to feel right.
2019-04-02 20:42:59 +02:00
Andreas Kling
cc20eef7ef
IRCClient: Ask the user which IRC server to connect to on startup.
2019-04-02 20:40:45 +02:00
Andreas Kling
76ce68ac48
GSocket: Add a connect() overload that takes a hostname instead of an IP.
2019-04-02 20:40:10 +02:00
Andreas Kling
ff93d3f362
LookupServer: Only interpret A records as 32-bit IPv4 addresses.
...
This fixes a bug where CNAME records would be interpreted as if they were
IP addresses, causing much confusion.
2019-04-02 20:39:33 +02:00
Andreas Kling
17e02e7450
Move NetworkOrdered.h to AK/ since it's used in both kernel and userspace.
2019-04-02 20:04:54 +02:00
Andreas Kling
649c81a714
Kernel: Move networking related files into Kernel/Net/.
2019-04-02 19:54:38 +02:00
Andreas Kling
718bea73b3
Kernel: Add a LoopbackAdapter for talking to yourself via 127.0.0.1.
...
Choosing adapter for transmit is done by adapter_for_route_to(IPv4Address).
This is just hard-coded logic right now but can be expanded to support a
proper routing table.
Also start moving kernel networking code into Kernel/Net/.
2019-04-02 15:46:44 +02:00
Andreas Kling
f8a1d2746e
FileManager: Rename DirectoryTableView => DirectoryView.
2019-04-02 14:43:56 +02:00
Andreas Kling
b797458962
GTreeView: Support navigating the tree with the up/down keys.
2019-04-02 03:18:26 +02:00
Andreas Kling
6673284b06
LibGUI: Switch to a resizing cursor when hovering or using a GSplitter.
...
Also expose the various standard cursors on WSWindowManager so they can
be reused by the override mechanism.
2019-04-02 02:34:09 +02:00
Andreas Kling
94c68dc55a
Kernel: Spawn the Launcher by default.
2019-04-01 22:04:09 +02:00
Andreas Kling
c9b0d87927
LibGUI: Fix broken doubleclick detection due to uninitialized GElapsedTimer.
2019-04-01 22:03:32 +02:00
Andreas Kling
ee4d7c18c8
Kernel: Use a multiboot header instead of a convoluted two-part bootloader.
...
The old bootloader was hilariously complicated, requiring a floppy disk with
the kernel on it, and a hard drive with the file system. This patch removes
the floppy disk from the equation and replaces it with a multiboot header.
This means the kernel can now be booted with qemu-system-i386 -kernel kernel
2019-04-01 21:43:07 +02:00
Andreas Kling
d5a9f4596b
Kernel: Add a blunt big process lock.
...
We can't have multiple threads in the same process running in the kernel
at the same time, so let's have a per-process lock that threads have to
acquire on syscall entry/exit (and yield while blocked.)
2019-04-01 20:04:29 +02:00
Andreas Kling
54ea35703a
WindowServer: Remove redundant client_id's from WSAPIClientRequest classes.
2019-04-01 19:18:17 +02:00
Andreas Kling
0cad4bdc90
WindowServer: Make various function arguments const.
2019-04-01 19:14:57 +02:00
Andreas Kling
dcf6726487
WindowServer: Add support for per-window override cursors.
...
Use this to implement automatic switching to an I-beam cursor when hovering
over a GTextEditor. :^)
2019-03-31 23:52:02 +02:00
Andreas Kling
42c95959a8
WindowServer: Show a special "move" cursor when dragging windows around.
2019-03-31 22:42:13 +02:00
Andreas Kling
af09f994ba
WindowServer: Remove the old cursor character bitmaps.
2019-03-31 22:38:58 +02:00
Andreas Kling
c992534f73
WindowServer: Show directional cursors when resizing windows.
2019-03-31 22:27:37 +02:00
Andreas Kling
90b2723e7a
AK: Tweak CALLABLE_WHEN macro in Retained.
2019-03-31 22:11:13 +02:00
Andreas Kling
2334ffcbf8
WindowServer: Add a WSCursor class (a bitmap and a hotspot.)
...
Also import a bunch of cursors I drew. Only the default ("arrow") cursor is
ever used so far.
2019-03-31 22:09:10 +02:00
Andreas Kling
25f28a54a1
Terminal+LibGUI: Make the terminal cursor blink.
...
Added a GTimer class to help with this. It's just a simple GObject subclass
that sets up an event loop timer and invokes a callback on timeout.
2019-03-30 21:40:57 +01:00
Andreas Kling
245c4bd7c8
Kernel: Add a bit of debug output in do_exec() to learn about thread counts.
2019-03-30 21:14:40 +01:00
Andreas Kling
6d9fa1026b
LibGUI: Fix bad initial layout of GScrollableWidget's scrollbars.
...
If it's the first time we're laying these out, we can't rely on the width()
or height() to be set, so instead use preferred_size().
2019-03-30 20:42:41 +01:00
Andreas Kling
eec0a64444
IRCClient: Fix wrong label in "Join channel" window.
2019-03-30 20:35:23 +01:00
Andreas Kling
9ac5909394
LibGUI: Highlight the GSplitter when hovering over it.
2019-03-30 14:04:53 +01:00
Andreas Kling
74786f2d5a
IRCClient: Use GSplitter in the window layouts.
...
This really brings the UI to life in a pleasant way. It's a bit annoying
that you can't initiate a resize by clicking on the shading of a splitter
resizer that actually belongs to the neighboring GFrame, I'm not sure how
to fix that yet but I'll think of something.
2019-03-30 13:57:34 +01:00
Andreas Kling
9538c06a45
LibGUI: Add a simple GSplitter container widget.
...
This allows you to put multiple widgets in a container and makes the space
in between them draggable to resize the two adjacent widgets.
2019-03-30 13:53:30 +01:00
Andreas Kling
f242d6e559
FileManager: Tweak look of thumbnailing progress bar.
...
Since it's inside a status bar, it looks a bit better when using a panel
shape with sunken shadow.
2019-03-30 13:12:59 +01:00