Commit graph

31932 commits

Author SHA1 Message Date
faxe1008
7d6058415e Taskbar: Add context menu to remove quicklaunch items
This change adds a context menu for each app button to remove items
from the quicklaunch section of the Taskbar.
2021-12-28 00:57:48 -08:00
faxe1008
c74afdde26 Taskbar: Add dropping of AppFiles to QuickLaunch
This change adds the capability to drop AppFiles to the quick launch
section of the Taskbar. All logic was moved to a new
QuickLaunchWidget.
2021-12-28 00:57:48 -08:00
Liav A
7e8beadd57 Kernel/Net: Move Realtek network adapters code to a separate directory 2021-12-28 00:56:47 -08:00
Liav A
7991a92388 Kernel/Net: Move NE2000 network adapter code to a separate directory 2021-12-28 00:56:47 -08:00
Liav A
059a47afb6 Kernel: Run clang-format on E1000NetworkAdapter.cpp 2021-12-28 00:56:47 -08:00
Liav A
39d40afa93 Kernel/Net: Move Intel network adapters code to a separate directory 2021-12-28 00:56:47 -08:00
Brian Gianforcaro
8b99fb26d9 Kernel: Use type alias for Kmalloc SubHeap and SlabBlock list types
We've moved to this pattern for the majority of usages of IntrusiveList
in the Kernel, might as well be consistent. :^)
2021-12-28 09:17:06 +01:00
Andreas Kling
474e3ffc85 Meta: Add Sam Atkins's GitHub Sponsors to funding options :^) 2021-12-28 08:08:39 +01:00
Andreas Kling
a7f2c40119 Meta: Link to Linus's YouTube channel from our README :^)
Replace parts of the README written by myself in the first person with
a section linking to our YouTube channels.
2021-12-28 08:06:17 +01:00
Lady Gegga
b2ad40efaa Base: Adjust 1F374 in font Katica Regular 10
https://www.unicode.org/charts/PDF/U1F300.pdf
2021-12-27 20:48:43 -08:00
Lady Gegga
8115530045 Base: Add Misc. Symbols and Pictographs to font Katica Regular 10
1F302, 1F308, 1F30A, 1F320, 1F322, 1F327, 1F328, 1F329, 1F32A, 1F331,
1F333, 1F334, 1F335, 1F337, 1F344, 1F373, 1F378, 1F394, 1F39C, 1F52B
1F39D, 1F3CF, 1F3D1, 1F3D2, 1F3D3, 1F3ED, 1F3F0, 1F3F1, 1F3F2, 1F3F3,
1F3F4, 1F3F9, 1F40B, 1F40C, 1F40D, 1F441, 1F443, 1F454, 1F459, 1F460,
1F464, 1F465, 1F47E, 1F494, 1F495, 1F497, 1F4A1, 1F4A2, 1F4AC, 1F4BB,
1F4BC, 1F4BD, 1F4BF, 1F4BC, 1F4C0, 1F4C3, 1F4C4, 1F4C5, 1F4C6, 1F4CD,
1F4CE, 1F4CF, 1F4D0, 1F4E8, 1F4E9, 1F4EF, 1F4F1, 1F4F2, 1F4F7, 1F512,
1F513, 1F527, 1F528
https://www.unicode.org/charts/PDF/U1F300.pdf
2021-12-27 20:48:43 -08:00
Lady Gegga
948e06c5ad Base: Add Greek Extended characters to font Katica Regular 10
1F78-1F7B, 1F10, 1FC6, 1F11
https://www.unicode.org/charts/PDF/U1F00.pdf
2021-12-27 18:06:28 -08:00
Lady Gegga
9fb0a35f2b Base: Add Latin Extended Additional chars to font Katica Regular 10
1EB8, 1EB9, 1ECC, 1ECD, 1E0A-1E0F, 1EE4, 1EE5
https://www.unicode.org/charts/PDF/U1E00.pdf
2021-12-27 18:06:28 -08:00
Lady Gegga
3f4fc2c7fb Base: Add Cyrillic characters to font Katica Regular 10
0456-0458, 04E6-04E9, 04AE, 04AF, 04A2, 04A3, 04D8, 04D9, 049A, 049B,
0492, 0493, 04BA, 04BB, 045E
https://www.unicode.org/charts/PDF/U0400.pdf
2021-12-27 18:06:28 -08:00
Lady Gegga
ec0b5e5947 Base: Add Greek and Coptic characters to font Katica Regular 10
03CC, 03CD https://www.unicode.org/charts/PDF/U0370.pdf
2021-12-27 18:06:28 -08:00
Lady Gegga
f115047b76 Base: Add Spacing Modifier Letters to font Katica Regular 10
02BB-02BD https://www.unicode.org/charts/PDF/U02B0.pdf
2021-12-27 18:06:28 -08:00
Lady Gegga
8193a89625 Base: Add Latin Extended-B characters to font Katica Regular 10
018F, 01E2, 01E3, 0218-021B, 021E, 021F, 01E6, 01E7
https://www.unicode.org/charts/PDF/U0180.pdf
2021-12-27 18:06:28 -08:00
Rummskartoffel
561b67a1ad Help: Fix crash when trying to load libunicodedata.so 2021-12-28 01:31:46 +01:00
Julian Offenhäuser
5bc7a18a04 FileManager: Add "Create Archive" action
This option will appear when you select one or more files or
directories. It will then ask the user to enter a name for the new
archive (or use the current directories' name if left empty) and
create it under that name in the currently opened directory.

Note that only .zip files are currently supported.
2021-12-28 01:14:52 +01:00
Andreas Kling
5d55a42ded LibCore: Fix race conditions in TestLibCoreStream
It was possible for the "local_socket_read" and "local_socket_write"
tests to fail because we had exited the EventLoop before
BackgroundAction got around to invoking the completion callback.

The crash happened when trying to deferred_invoke() on the background
thread, calling Core::EventLoop::current() after said EventLoop had
returned from exec().

Fix this by not passing a completion callback, since we didn't need
one in the first place.
2021-12-28 01:02:35 +01:00
FrHun
bdd2dba77b Base: Add 32x32 Settings icon
Replace the scaled up 16px Settings icon with a new 32px version.
2021-12-28 00:42:45 +01:00
Javier Alvarez
4b47daaadc Ports: Make lua buildable on x86_64
Our lua Makefile patch contained hardcoded binaries from the i686
toolchain. Use the CC, AR, and RANLIB variables from .port_include.sh
instead to make it architecture independent.
2021-12-28 00:24:32 +01:00
Conor Byrne
7c6fc79c23 Documentation: Recommend using Xcode's command line tools on macOS 2021-12-27 23:26:25 +01:00
Conor Byrne
cc1b2b95f7 HackStudio: Ask to create a non-existent directory when making a project
Previously, if the parent directory didn't exist when making a project,
it would say that the creation directory was 'invalid' which isn't
necessarily true.

This patch prompts the user to ask if they would like to create the
parent directory when creating a project, instead of treating it as an
'invalid' directory.
2021-12-27 23:20:54 +01:00
Sam Atkins
5d0851cb0e LibWeb: Use start_of_input_stream_twin() for is_valid_escape_sequence()
This means we can get rid of the hacks where we were peeking a code
point instead of getting the next one so that we could peek_twin()
later. Now, we follow the spec more closely. :^)
2021-12-27 22:56:08 +01:00
Sam Atkins
269a24d4ca LibWeb: Pass correct values to would_start_an_identifier()
Same as with would_start_a_number(), we were skipping a code point.
2021-12-27 22:56:08 +01:00
Sam Atkins
bb82ee5530 LibWeb: Pass correct values to would_start_a_number()
This fixes the crash that Luke found using Domato:
```css
. foo {
    mso-border-alt: solid  .-1pt;
}
```

The spec distinguishes between "If the next 3 code points would
start..." and "If the input stream starts with..." but we were treating
them the same way, skipping the first code point in the process.
2021-12-27 22:56:08 +01:00
Sam Atkins
981badb45f LibWeb: Add CSS::Tokenizer::start_of_input_stream_[twin|triplet]()
These correspond to "If the input stream starts with..." in the spec,
which up until now we were not handling correctly, which led to some fun
bugs.

As noted, reconsuming the input code point in order to read its value is
hacky, but works. Keeping track of the current code point in Tokenizer
would be nicer, when I'm feeling brave enough to mess with it!
2021-12-27 22:56:08 +01:00
Sam Atkins
8600d89407 LibCore+Services: Make TCPServer propagate errors 2021-12-27 22:00:01 +01:00
Sam Atkins
143f820c68 TelnetServer: Port to LibMain
This is only a very basic change, since the fallible function calls are
all inside the `on_ready_to_accept` callback.
2021-12-27 22:00:01 +01:00
Sam Atkins
98c8eca70c EchoServer: Port to LibMain 2021-12-27 22:00:01 +01:00
Sam Atkins
289cf8d7ef LibCore: Add ErrorOr wrappers to socket syscalls
These are all pretty simple so I thought I would add them all in one go:

- socket()
- bind()
- listen()
- accept()
- accept4()
- connect()
- shutdown()
- send()
- sendmsg()
- sendto()
- recv()
- recvmsg()
- recvfrom()
- getsockopt()
- setsockopt()
- getsockname()
- getpeername()
- socketpair()
2021-12-27 22:00:01 +01:00
Sam Atkins
1fba221b46 LibJS: Implement console.time/timeLog/timeEnd() methods 2021-12-27 21:44:07 +01:00
Sam Atkins
2f3e24d71e LibWeb: Add rudimentary styling to <details> and <summary> 2021-12-27 21:44:07 +01:00
Sam Atkins
d702678d16 LibJS+WebContent+Browser+js: Implement console.group() methods
This implements:
- console.group()
- console.groupCollapsed()
- console.groupEnd()

In the Browser, we use `<details>` for the groups, which is not actually
implemented yet, so groups are always open.

In the REPL, groups are non-interactive, but still indent any output.
This looks weird since the console prompt and return values remain on
the far left, but this matches what Node does so it's probably fine. :^)
I expect `console.group()` is not used much outside of browsers.
2021-12-27 21:44:07 +01:00
Sam Atkins
ff5e07d718 LibJS+WebContent+js: Bring console.trace() to spec
The spec very kindly defines `Printer` as accepting
"Implementation-specific representations of printable things such as a
stack trace or group." for the `args`. We make use of that here by
passing the `Trace` itself to `Printer`, instead of having to produce a
representation of the stack trace in advance and then pass that to
`Printer`. That both avoids the hassle of tracking whether the data has
been html-encoded or not, and means clients don't have to implement the
whole `trace()` algorithm, but only the code needed to output the trace.
2021-12-27 21:44:07 +01:00
Sam Atkins
ce694490f3 LibJS+WebContent+js: Bring console.assert() to spec 2021-12-27 21:44:07 +01:00
Sam Atkins
9b78e287b0 LibJS+WebContent+js: Bring console.clear() to spec
This is identical to before, since we don't have "group stacks" yet, but
clear() now uses ThrowCompletionOr.
2021-12-27 21:44:07 +01:00
Sam Atkins
834ced82d4 LibJS+WebContent+js: Bring console.count[Reset]() to spec
The `CountReset` log level is displayed as a warning, since the message
is always to warn that the counter doesn't exist. This is also in line
with the table at https://console.spec.whatwg.org/#loglevel-severity
2021-12-27 21:44:07 +01:00
Sam Atkins
260836135a LibJS+WebContent+js: Reimplement console.log() and friends to spec
This implements the Logger and Printer abstract operations defined in
the console spec, and stubs out the Formatter AO. These are then used
for the "output a categorized log message" functions.
2021-12-27 21:44:07 +01:00
Sam Atkins
fd7163b125 WindowServer: Stop trying to close windows that are already destroyed 2021-12-27 21:27:16 +01:00
Sam Atkins
a330a070d4 WindowServer: Use is_internal() instead of checking if the client exists 2021-12-27 21:27:16 +01:00
Linus Groh
1298c27ca9 LibWeb: Implement CanvasRenderingContext2D.isContextLost()
Note that we don't implement the "context lost steps" yet, so this will
always return the initial value (false).
2021-12-27 16:43:23 +01:00
Linus Groh
2576af5db1 LibWeb: Implement CanvasRenderingContext2D.reset() 2021-12-27 16:43:23 +01:00
Linus Groh
3e0e965f24 LibWeb: Implement CanvasRenderingContext2D.restore() 2021-12-27 16:43:23 +01:00
Linus Groh
7d435b5ada LibWeb: Implement CanvasRenderingContext2D.save() 2021-12-27 16:43:23 +01:00
Linus Groh
6d50ff71de LibWeb: Encapsulate canvas drawing state in a struct
This will allow us to easily add copies of the relevant canvas drawing
state to a stack, and likewise replace the current drawing  state with
an entry from that stack.
2021-12-27 16:43:23 +01:00
Linus Groh
b32893eb54 LibWeb: Let canvas {fill,stroke}Style default to black, not transparent
I don't know if the original author simply missed this or thought the
default color of Gfx::Color is black, but this meant that drawing on a
canvas without explicitly setting a fillStyle or strokeStyle first would
be drawn in transparent color and therefore be invisible.

In the spec this is indicated by a small comment in the IDL definition:

    attribute ... strokeStyle; // (default black)
    attribute ... fillStyle; // (default black)

I'm starting to question whether Gfx::Color actually *should* have a
default constructor.
2021-12-27 16:43:23 +01:00
Linus Groh
6faaee2bc8 LibWeb: Fix copy/paste typo in CanvasRenderingContext2D::stroke_style()
This returned the fill style, not the stroke style!
2021-12-27 16:43:23 +01:00
Jesse Buhagiar
ca093f442c LibSoftGPU: Mark wrap_clamp as [[maybe_unused]]
This was breaking the fuzzer build becaues the function is not used
if the `CLAMP_DEPRECATED_BEHAVIOR` constexpr is not `true` during
compile time.
2021-12-27 15:08:19 +02:00