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
Andreas Kling
de57628a46
GTreeView: Notify the GScrollableWidget about content size changes.
...
This makes the tree view scrollable at last.
2019-03-30 04:58:31 +01:00
Andreas Kling
6ab55801e2
GFileSystemModel: Don't reload icons every time they are requested.
...
This was really slugging up the interactive resizing. :^)
2019-03-30 04:20:28 +01:00
Andreas Kling
73f3e05ebb
Stopwatch: Print the result in decimal instead of hexadecimal.
2019-03-30 04:20:08 +01:00
Andreas Kling
4506e3a085
GTreeView: Remove test model I was using during bringup.
2019-03-30 03:49:39 +01:00
Andreas Kling
a92710ce3f
GTreeView: Handle the item expand/collapse toggles separately.
2019-03-30 03:44:08 +01:00
Andreas Kling
a535c7453f
GTreeView: On model selection change, open the selected index.
2019-03-30 03:30:50 +01:00
Andreas Kling
2c6a597d77
FileManager: Make the tree view follow the directory view navigations.
2019-03-30 03:27:25 +01:00
Andreas Kling
f10e0d0546
FileManager: Make the directory view follow the tree view selection.
2019-03-30 02:22:38 +01:00
Andreas Kling
be42382a3a
Base: Add an icon for a slightly open-looking folder.
2019-03-30 02:22:16 +01:00
Andreas Kling
c3bc0eeb86
GFileSystemModel: Add a special icon for the selected folder.
...
I don't know if this will always make sense but it does make sense within
the only current client (FileManager) so let's go with it for now.
2019-03-30 02:04:03 +01:00
Andreas Kling
025a50d9cb
GTreeView: Tweak line tree back and forth a bit.
2019-03-30 01:42:16 +01:00
Andreas Kling
1963391ca6
GTreeView: Add basic selection support.
2019-03-29 20:36:15 +01:00
Andreas Kling
967eec1e52
GTreeView: Add expand/collapse buttons to items with children.
2019-03-29 20:18:15 +01:00