Andreas Kling
746144f783
WindowServer: Add missing handling of AddMenuSeparator client request.
2019-03-16 01:09:27 +01:00
Andreas Kling
2b6cf37d20
IRCClient: Add some more toolbar actions. Starting to look nice.
2019-03-16 00:21:11 +01:00
Andreas Kling
3a3aa74b2e
IRCClient: Add a toolbar with some actions.
2019-03-15 23:24:40 +01:00
Andreas Kling
b54ab06595
GTableView: Add a way to turn off alternating row colors.
2019-03-15 21:41:27 +01:00
Andreas Kling
491aa112ab
IRClient: Add a member list to channel views.
2019-03-15 18:25:51 +01:00
Andreas Kling
08c15be0ca
IRCClient: Add ability to send query messages.
...
You can't open a query yet, but if someone starts one with you, you can
respond at least.
2019-03-15 18:02:38 +01:00
Andreas Kling
7e3673f710
GTextEditor: Disable the ruler in single-line mode.
...
Also make it possible to hide the ruler in multi-line mode, if you should
want to do that. :^)
2019-03-15 17:54:05 +01:00
Andreas Kling
1fc283ed7d
IRCClient+LibGUI: Add an input box so we can send messages to channels.
...
Implement this using a GTextEditor with a special single-line mode.
This new mode needs some polishing, but it's already very useful.
2019-03-15 17:37:13 +01:00
Andreas Kling
ad08165a25
LibGUI: Hit testing should skip invisible widgets.
2019-03-15 16:45:27 +01:00
Andreas Kling
a3d5ba8f23
LibGUI: Don't autofill the background of GStackWidget.
2019-03-15 16:44:51 +01:00
Andreas Kling
c1f2f5a153
LibGUI: Add a mode where GTableModel automatically activates on selection.
2019-03-15 16:25:30 +01:00
Andreas Kling
84f5312dc2
LibGUI: Disable GBoxLayout debug spam.
2019-03-15 16:23:12 +01:00
Andreas Kling
1089cd1378
IRCClient: Start using GStackWidget for the subwindows.
2019-03-15 16:12:51 +01:00
Andreas Kling
497300c492
LibGUI: Add a GStackWidget for many widgets sharing a single location.
...
Call set_active_widget(GWidget*) to put a new widget on top.
2019-03-15 16:12:06 +01:00
Andreas Kling
ab92252ee6
IRCClient: Hide all the table view headers.
2019-03-15 14:57:35 +01:00
Andreas Kling
a5d538b389
GTableView: Add a way to hide the column headers.
...
There are many situations where you would want a table view without headers.
2019-03-15 14:50:36 +01:00
Andreas Kling
a23dddc56f
IRCClient: Use a model for the window list.
2019-03-15 14:01:04 +01:00
Andreas Kling
eba5fd3f46
IRCClient: Rename IRCSubWindow => IRCClientWindow.
2019-03-15 13:20:46 +01:00
Andreas Kling
f004db19d0
IRCClient: Put the unhandled server messages nicely into the server log.
2019-03-15 13:16:29 +01:00
Andreas Kling
850c7504a2
IRCClient: Hacking on IRCClient bringup.
2019-03-15 13:07:04 +01:00
Andreas Kling
aa19735c5a
IRCClient: Start working on a simple graphical IRC client.
...
This will be a nice way to exercise both LibGUI and the TCP/IP support. :^)
2019-03-15 12:14:23 +01:00
Andreas Kling
f87dec1cbf
AK: Add CircularQueue::at().
2019-03-15 12:13:51 +01:00
Andreas Kling
5dfdcf796d
TCP: Correct checksum for packets with odd number of bytes.
2019-03-14 19:57:54 +01:00
Andreas Kling
4919b926f4
About: Oops, fill the window with background color.
2019-03-14 19:24:08 +01:00
Andreas Kling
49f273c4ca
WindowServer: Fix crash when initiating resize from a window edge.
2019-03-14 18:49:12 +01:00
Andreas Kling
b7ad35d040
Terminal: Enough compat work for Lynx to actually load web pages.
2019-03-14 18:33:21 +01:00
Andreas Kling
ee0f00c644
Terminal: Use TERM=xterm by default, and implement some more escapes.
2019-03-14 17:39:50 +01:00
Andreas Kling
1565dc3ab3
Terminal: Add some logging for the 'r' final.
...
I haven't implemented scrolling regions yet, but this will at least give
me some indication that they're being used.
2019-03-14 16:25:19 +01:00
Andreas Kling
f9569db1e5
TCP: Collect the payload if present in a packet with FIN set.
2019-03-14 15:28:23 +01:00
Andreas Kling
25e521f510
TCP: Start working on auto-closing connections when we get FIN.
2019-03-14 15:23:32 +01:00
Andreas Kling
4629272135
Userland: Turn the tc test util into a simple dumb HTTP client.
2019-03-14 15:19:20 +01:00
Andreas Kling
2c3cf22bc9
LibC: A whole bunch of compat work towards porting Lynx.
2019-03-14 15:18:15 +01:00
Andreas Kling
48590a0e51
LibC: Oops, rename getgrname() -> getgrnam().
2019-03-14 15:16:11 +01:00
Andreas Kling
69ffaa366d
Kernel: Handle unaligned ELF segments gracefully in the executable loader.
2019-03-14 14:51:43 +01:00
Andreas Kling
d712d353ac
Kernel: Remove leftover debug spam when returning from mkdir() syscall.
2019-03-14 14:11:35 +01:00
Andreas Kling
68f3771e4f
LibC: Minor socket-related compat fixes.
2019-03-14 13:03:32 +01:00
Andreas Kling
edb986c276
IPv4: Factor out UDP parts of IPv4Socket into a UDPSocket class.
2019-03-14 12:43:18 +01:00
Andreas Kling
274b500bac
IPv4: Move more stuff from IPv4Socket to TCPSocket.
2019-03-14 12:28:30 +01:00
Andreas Kling
d2176eddfc
Kernel: Factor out TCP parts of IPv4Socket into a TCPSocket class.
2019-03-14 12:20:38 +01:00
Andreas Kling
8014473918
TCP: Update our side's ack number based on the other side's seq number.
2019-03-14 11:45:22 +01:00
Andreas Kling
54e7df0586
Kernel: Add SocketHandle helper class that wraps locked sockets.
...
This allows us to have a comfy IPv4Socket::from_tcp_port() API that returns
a socket that's locked and safe to access. No need to worry about locking
at the client site.
2019-03-14 09:19:24 +01:00
Andreas Kling
3d5296a901
IPv4: Last burst of TCP hacking for today.
...
Connecting to a test server and exchanging data back and forth works.
2019-03-14 01:44:42 +01:00
Andreas Kling
be46f1bb1f
IPv4: More work on the TCP implementation.
...
Reading from the peer now kinda works. Something still going wrong with
sending packets but it's getting closer.
2019-03-14 01:00:10 +01:00
Andreas Kling
66d55f8e0c
IPv4: More work on the TCP implementation.
...
I can now establish a connection to my little test server on the host.
2019-03-14 00:20:44 +01:00
Andreas Kling
032d9d7065
IPv4: More hacking on bringing up TCP support.
...
This was a bit more complicated than I expected, but it's moving forward.
2019-03-13 23:14:30 +01:00
Andreas Kling
7aba68d51c
Userland+LibC: Add a new little "tc" program for testing TCP.
...
Also added send() and recv() to LibC in support of this. They are just
wrappers around sendto() and recvfrom().
2019-03-13 17:33:40 +01:00
Andreas Kling
c588653f76
IPv4: Begin fleshing out TCP support.
2019-03-13 17:17:07 +01:00
Andreas Kling
ef5d0a397c
IPv4: Do the TCP-to-socket mapping in the same way as UDP.
...
We don't actually have TCP support yet, but we'll get there soon. :^)
2019-03-13 16:43:42 +01:00
Andreas Kling
3ad9561b80
IPv4: Use the UDP-to-socket map to handle incoming UDP packets.
2019-03-13 16:23:22 +01:00
Andreas Kling
209a16bb7f
IPv4: Dynamically allocate the UDP source port if needed.
2019-03-13 16:05:56 +01:00