Andreas Kling
aa03a07e61
Taskbar+LibGUI: More work on bringup.
2019-04-03 21:04:16 +02:00
Andreas Kling
a22774ee3f
Taskbar: Start working on a taskbar app.
...
I originally thought I would do this inside WindowServer, but let's try to
make it as a standalone app that communicates with WindowServer instead.
That will allow us to use LibGUI. :^)
2019-04-03 19:38:44 +02:00
Andreas Kling
318db1e48e
WindowServer: Broadcast screen rect changes to all clients.
...
GUI clients can now obtain the screen rect via GDesktop::rect().
2019-04-03 17:22:14 +02:00
Andreas Kling
c02c9880b6
AK: Add Eternal<T> and use it in various places.
...
This is useful for static locals that never need to be destroyed:
Thing& Thing::the()
{
static Eternal<Thing> the;
return the;
}
The object will be allocated in data segment memory and will never have
its destructor invoked.
2019-04-03 16:52:25 +02:00
Andreas Kling
528054d192
GWindow: Don't ignore update(), it should repaint the whole window.
...
This was causing some apps to have an empty window on startup since the
call to update() in show() was effectively a no-op.
2019-04-03 15:54:16 +02:00
Andreas Kling
dde224fe44
FontEditor: Break out classes into separate files.
2019-04-03 15:23:13 +02:00
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