Commit graph

1538 commits

Author SHA1 Message Date
Andreas Kling 9858be636f Kernel: Fix up the ICMP implementation to generate correct Echo replies.
Serenity now responds to ping. :^)
2019-03-12 11:44:38 +01:00
Andreas Kling 75e0ddd46a Kernel: More work on ICMP support.
We can now kinda sorta respond to ICMP::EchoRequest although there's
still something not entirely right with the packets.
2019-03-12 04:40:13 +01:00
Andreas Kling 5bd9844dd6 Kernel: Start adding IPv4 support, starting with ICMP echo messages.
This doesn't work correctly yet, but it's getting nice enough to commit.
2019-03-12 04:11:20 +01:00
Andreas Kling d5dbb602b8 Kernel: Tidy up networking code with some named constants. 2019-03-12 01:30:49 +01:00
Andreas Kling 90f60d2f65 Kernel: Cache MAC<->IP mappings (from ARP responses) seen on the wire. 2019-03-12 00:56:33 +01:00
Andreas Kling 05c1a79454 Kernel: Minor style cleanup in NetworkTask. 2019-03-12 00:01:07 +01:00
Andreas Kling 318b01e055 Kernel: Bring up enough networking code that we can respond to ARP requests.
This is all pretty rickety but we can now respond to "arping" from the host
while running inside QEMU. Very cool. :^)
2019-03-11 23:21:38 +01:00
Andreas Kling 10dcd3a47f GTextEditor: Make sure the scroll corner helper widget is filled in. 2019-03-11 12:52:07 +01:00
Andreas Kling 35098cbde1 Kernel: Add a NetworkTask and a received network packet queue.
It will be easier to deal with incoming packets in a separate task.
2019-03-11 12:43:45 +01:00
Andreas Kling 47b096feb4 Kernel: More work on bringing up E1000 support. 2019-03-11 11:11:29 +01:00
Andreas Kling a36eaeb18c Kernel: Remove accidentally committed debugging code. 2019-03-11 01:57:34 +01:00
Andreas Kling 1678ac69ef Kernel: More work on Ethernet support. 2019-03-10 23:40:09 +01:00
Andreas Kling 97664fad60 Kernel: A bunch of hacking towards initial Ethernet support. 2019-03-10 20:59:23 +01:00
Andreas Kling 4641ee49b5 Kernel: Add a simple MACAddress class. 2019-03-10 19:15:22 +01:00
Andreas Kling 405413c354 Kernel: Start adding support for E1000 network adapters. 2019-03-10 15:25:33 +01:00
Andreas Kling 0c806bfa25 WindowServer: Include switcher windows in the window iteration. 2019-03-10 13:30:43 +01:00
Andreas Kling 5d69bf06d2 LibGUI: Don't fill widgets with background color by defualt. 2019-03-10 13:16:36 +01:00
Andreas Kling 6836e21d1c ProcessManager: Tidy up the memory stats and align everything nicely. 2019-03-10 12:34:44 +01:00
Andreas Kling 37388b311f ProcessManager: Show some basic system memory stats below the process table.
This really improves the feeling of "system overview" :^)
2019-03-10 12:13:22 +01:00
Andreas Kling 8017c1e17c GTextEditor: Let the Tab key insert up to 4 spaces. 2019-03-10 11:08:36 +01:00
Andreas Kling 64237c5028 WindowServer: Show the username of the WindowServer owner in the menu. 2019-03-10 03:16:27 +01:00
Andreas Kling 8175d75432 LibC: Implement getlogin(). 2019-03-10 03:15:36 +01:00
Andreas Kling a149ad9b44 WindowServer: Window iteration should see the highlight window "in front". 2019-03-10 02:33:43 +01:00
Andreas Kling 420ef4da8a WindowServer: Clear any highlighted window when dismissing the switcher. 2019-03-10 02:19:55 +01:00
Andreas Kling 48e4b3e751 LibGUI: Preserve selection when resorting a GSortingProxyTableModel. 2019-03-10 02:13:59 +01:00
Andreas Kling 0b32ab12f1 ProcessManager: Make the toolbar actions work again.
We can't grab at the ProcessTableModel directly anymore since we have a
sorting proxy model in the middle now.
2019-03-10 02:03:36 +01:00
Andreas Kling 2336d43abc WindowServer: Tweak CPU usage history color. 2019-03-10 01:22:36 +01:00
Andreas Kling 94df0c1ba6 WindowServer: Fix bug where window content could bleed through menus.
We have to iterate using for_each_visible_window_from_back_to_front()
if we want every window in the correct order.
2019-03-10 01:08:21 +01:00
Andreas Kling ed61fdbc32 Base: Improved FileManager (folder) icon. 2019-03-10 00:58:47 +01:00
Andreas Kling 6c70629a49 LibGUI: Make buttons a little bit sharper. 2019-03-10 00:58:27 +01:00
Andreas Kling 702adb13c1 TextEditor: Remove the selection from the status bar. 2019-03-09 22:04:54 +01:00
Andreas Kling b4a099d212 GTextEditor: Allow jumping lines by hitting Left/Right at start/end of line. 2019-03-09 22:02:35 +01:00
Andreas Kling 76094128e7 LibGUI: Fix small painting glitch in GScrollBar buttons. 2019-03-09 21:51:36 +01:00
Andreas Kling 272a41d02d WindowServer: Skip composing windows where entire dirty rect is covered.
If another window is currently in front of us and is fully opaque,
we can just skip to the next window. This avoids a whole lot of painting
with overlapping windows. :^)
2019-03-09 21:38:28 +01:00
Andreas Kling 963e95cb1a GTableView: Minor painting cleanup. 2019-03-09 21:38:13 +01:00
Andreas Kling 0a7137617d GTextEditor: Simplify painting of the ruler. 2019-03-09 21:30:16 +01:00
Andreas Kling ffe4522316 SharedGraphics: Allow passing a Font to text drawing functions.
This way we don't have to juggle around with calls to Painter::set_font()
which simplifies a bunch of places.
2019-03-09 21:24:12 +01:00
Andreas Kling b8f999cbef About+LibGUI: Use a GBoxLayout for the About app. 2019-03-09 21:09:29 +01:00
Andreas Kling eac3a6ad52 GEventLoop: Make the server fd/pid global, and only connect to server once. 2019-03-09 17:34:09 +01:00
Andreas Kling b1c272a507 WindowServer: Initiating a window drag/resize should also make frontmost. 2019-03-09 17:10:53 +01:00
Andreas Kling 684c52941d WindowServer: Always clip window updates to the window's outer rect. 2019-03-09 17:03:08 +01:00
Andreas Kling e009be5973 LibGUI: Use PainterStateSaver in GStyle::paint_button(). 2019-03-09 16:56:26 +01:00
Andreas Kling 88f6ce152f SharedGraphics: Add PainterStateSaver RAII helper and Point::operator-().
Two little things to help tidy up a bit in WSWindowManager.
2019-03-09 16:54:41 +01:00
Andreas Kling 3c2139b824 GTextEditor: Use Painter save/restore to simplify. 2019-03-09 16:48:43 +01:00
Andreas Kling f7097d21f6 SharedGraphics: Give painter a state stack and save()/restore() operations.
This will make some painting code a lot less confusing since there's no
need to manually undo translations, clips, etc.
2019-03-09 16:48:02 +01:00
Andreas Kling 971dd46aec Userland: Use AK::quick_sort() in /bin/top 2019-03-09 16:20:46 +01:00
Andreas Kling 0d5e6593b2 AK: Add a basic QuickSort template implementation.
It was depressing not being able to capture anything when passing a lambda
to qsort_r() so let's just have our own QuickSort. I was gonna have to do
this eventually anyway. :^)
2019-03-09 16:20:12 +01:00
Andreas Kling e14dd06b8c FileManager: Hook up a GSortingProxyTableModel so we get sorted files. :^)
The next step here is coming up with a nice way to always put directories
ahead of files.
2019-03-09 14:52:25 +01:00
Andreas Kling 7d2c962836 LibGUI: Minor tidying. 2019-03-09 14:39:24 +01:00
Andreas Kling 46caa2663b LibGUI: Use a separate data role for the table model sorting order.
This allows data to be displayed nicely while sorting happens based on some
underlying raw data. :^)
2019-03-09 14:24:34 +01:00