Commit graph

38354 commits

Author SHA1 Message Date
Jesse Buhagiar cd8939f4a0 Kernel/USB: Make USBInterface endpoints accessible
These weren't accessible by an accessor, so let's fix that :^)
2022-06-02 13:14:29 +02:00
Jesse Buhagiar 361737650f Kernel/USB: Make USBConfiguration interfaces accessible
These weren't accessible by an accessor, so let's fix that :^)
2022-06-02 13:14:29 +02:00
MacDue f98dad94fb PixelPaint: Enable antialiased option for outline ellipsis 2022-06-01 19:33:45 +02:00
MacDue 8c2a5bbc15 LibGfx: Implement antialiased outline ellipsis
This is a first pass at antialiased outline ellipses, currently
this is done by painting two filled AA ellipses, and then
subtracting the inner ellipse from the outer.

This produces a good result, but unfortunately requires allocating
a temporary bitmap in the painter. I did try a simpler method
using the existing line painting functions, and drawing the
ellipse as many line segments, but that produced very poor results.

I think with some work it should be possible to remove the extra
allocation, and I've left a big FIXME for this, but I could not
get this working well.
2022-06-01 19:33:45 +02:00
MacDue 8ac5f625e9 LibGfx: Rename draw_ellipse/circle to fill_ellipse/circle
This makes these functions more consistent with the non-aa painter.
2022-06-01 19:33:45 +02:00
Grigoris Pavlakis f578247cdf Ports: Fix tuxracer port to use sdl12-compat instead of SDL2 2022-06-01 19:32:31 +02:00
Tim Schumacher d10071ce42 Ports: Add a port of SDL_mixer 2022-06-01 19:32:31 +02:00
Tim Schumacher b929b91e4f Ports: Add a port of libmikmod 2022-06-01 19:32:31 +02:00
Olivier De Cannière 5a3321b899 Taskbar+Desktop: Add super+D keyboard shortcut
This shortcut has the same effect as pressing the "Show Desktop" button
in the taskbar. This shortcut already exists in Windows.
2022-06-01 19:31:34 +02:00
Olivier De Cannière 12682f0bcc Taskbar: Add toggle_show_desktop()
This function is added to separate the desktop toggling functionality
from the "Show Desktop" button in the taskbar and to enable calling this
behaviour via a keyboard shortcut in a later commit.
2022-06-01 19:31:34 +02:00
Olivier De Cannière 6c202ee4a9 LibGUI: Fix typo in ConnectionToWindowManagerServer 2022-06-01 19:31:34 +02:00
networkException 524f4be5af LibGUI+WindowServer: Propagate action icon changes to buttons and menus
Previously when setting an action's icon we would only change the bitmap
stored by the action. This patch adds logic to propagate that change to
toolbar buttons as well as window menus.

This fixes an issue in SoundPlayer that would cause the play button not
to reflect the play state.
2022-06-01 12:33:06 +01:00
Tim Schumacher cc9afeab41 Ports: Use the official release tarball for the_silver_searcher 2022-06-01 11:02:34 +01:00
Tim Schumacher d5934f919e Ports: Use proper SDL2 include and library paths for sam 2022-06-01 11:02:34 +01:00
Tim Schumacher 34776752f8 Ports: Remove the nice stub from oksh 2022-06-01 11:02:34 +01:00
Tim Schumacher fd9125c288 Ports: Use the official release tarball for libyaml 2022-06-01 11:02:34 +01:00
Tim Schumacher 867e103f5d Ports: Remove outdated stubs from the fio patches
These have already been added to the system in the meantime.
2022-06-01 11:02:34 +01:00
Tim Schumacher 43285eec8f Ports: Restore the former c-ray HDR patch
This was accidentally corrupted during the Git conversion, as
`input/hdr.json` is listed in the `.gitignore` and was therefore missing
from the repository.
2022-06-01 11:02:34 +01:00
Tim Schumacher 8a5941e294 Ports: Force-add all files when entering dev
This keeps us from accidentally excluding files that are listed in the
`.gitignore` but that are included in the tarball anyways.
2022-06-01 11:02:34 +01:00
brapru 1dd22582da Kernel: Ignore interfaces without an IP address when updating ARP
For the same reason we ignore interfaces without an IP address when
choosing where to send a route, we should also ignore interfaces without
IP addresses when updating the ARP table on incoming packets from
local addresses.

On an interface with a null address, the mask checking would always
result in zero, which resulted in the system updating the ARP table on
almost every incoming packet from any address (private or public).

This patch fixes this behavior by only applying this check to interfaces
with valid addresses and now the ARP table won't get constantly
hammered.

Closes #13713
2022-05-31 10:22:46 +01:00
Xexxa a3a6ee9865 Base: Add emoji yowl (10CD23) 2022-05-31 10:19:47 +01:00
Xexxa 3951ddabec Base: Add Geometric Shapes Extended to font Katica Regular 12
1F785-1F78A https://www.unicode.org/charts/PDF/U1F780.pdf
2022-05-31 10:19:47 +01:00
Xexxa 203edaf257 Base: Add Misc. Symbols and Pictographs to font Katica Regular 12
1F517, 1F49F, 1F4AF, 1F4DB
https://www.unicode.org/charts/PDF/U1F300.pdf
2022-05-31 10:19:47 +01:00
Xexxa c8d108360f Base: Add General Punctuation to font Katica Regular 12
2010, 2012, 2013, 2015, 2016, 2017, 2030, 2031, 2042, 2051,
2055, 204E, 204F, 205C
https://www.unicode.org/charts/PDF/U2000.pdf
2022-05-31 10:19:47 +01:00
Xexxa 019e3479d3 Base: Add Mathematical Alphanumeric Symbols to font Katica Regular 10
1D49C, 1D49E, 1D49F, 1D4A2, 1D4A5, 1D4B0, 1D4B2, 1D4D0-1D4E9,
1D567, 1D568, 1D608-1D63B
https://www.unicode.org/charts/PDF/U1D400.pdf
2022-05-31 10:19:47 +01:00
Andrew Kaster e46a00f0c0 Meta: Add error message when running serenity.sh as root
It's not a good idea, and it causes countless issues for people who
do so and then try to run without root later.
2022-05-31 10:14:06 +01:00
Tim Schumacher 808855d763 DHCPClient: Don't reset the interface if its already configured
Resetting the interface just based on the fact that it already has an IP
assigned doesn't make much sense, considering that we frequently end up
here after having configured an interface via DHCP already.

Instead, just keep the part that prevents us from sending DHCP
discoveries to interfaces that shouldn't be using DHCP.

While we are at it, place some of the logging behind a debug flag, as
this function is apparently meant to be run frequently.

This partially reverts commit e14d4482a1.
2022-05-31 13:21:19 +04:30
SeekingBlues df8df947f6 Kernel: Do not include AK/Platform.h in mcontext headers
Including signal.h would cause several ports to fail on build,
because it would end up including AK/Platform.h through these
mcontext headers. This is problematic because AK/Platform.h defines
several macros with very common names, such as `NAKED` (breaks radare2),
and `NO_SANITIZE_ADDRESS` and `ALWAYS_INLINE` (breaks ruby).
2022-05-30 21:39:41 +02:00
networkException d034675032 Browser: Always show menu for additional bookmarks when one is hidden
This patch fixes the additional bookmarks menu button getting pushed all
they way to the right until a bookmark is out of bounds of the bar by
instead collapsing a bookmark into the menu as soon as it intersects
with the additional button.
2022-05-30 17:33:11 +01:00
Lucas CHOLLET a506ec08d8 Kernel: Expose cache size for Intel CPUs
The patch also prevents any try if the CPU's vendor isn't known and
improves the const-correctness of the AMD version.
2022-05-30 13:41:23 +01:00
Luke Wilde be36557198 Lagom/Fuzzers: Add CSS parser fuzzer 2022-05-30 00:17:11 +01:00
Luke Wilde 80a074b2e4 Lagom/Fuzzers: Add XML parser fuzzer 2022-05-30 00:16:17 +01:00
Luke Wilde adb5f7e485 LibXML+Tests: Consume > in the character data ending ]]> and test it
For example, with this input:
```xml
<C>]]>
```
After seeing `<C>`, the parser will start parsing the content of the
element. The content parser will then parse any character data it sees.

The character parser would see the first two `]]` and consume them.
Then, it would see the `>` and set the state machine to say we have
seen this, but it did _not_ consume it and would instead tell
GenericLexer that it should stop consuming characters. Therefore,
we only consumed 2 characters.

Then, it would see that we are in the state where we've seen the
full `]]>` and try to take off three characters from the end of the
consumed input when we only have 2 characters, causing an assertion
failure as we are asking to take off more characters than there really
is.
2022-05-30 00:16:17 +01:00
Geordie Hall 9a97ffe883 LibGUI: Add side mouse buttons as an alternate shortcut for back/forward
The up/down side mouse buttons will now also trigger the back/forward
common actions, as used by the Browser, File Manager etc.

This matches standard behaviour of most apps on other operating systems.
2022-05-30 00:13:27 +01:00
Geordie Hall 4efcf3cc8e LibGUI: Activate mouse shortcuts from within WindowServerConnection
We now check if a mouse_down event matches any action shortcuts,
and if so activate it accordingly, following the same consumption
rules to key_down events.
2022-05-30 00:13:27 +01:00
Geordie Hall 737c1c86dc LibGUI: Search for actions with a Shortcut instead of for KeyEvent
Instead of having widget/window/application create a shortcut from a
KeyEvent within their find methods, we'll just pass them a Shortcut
so that the "where to search" logic doesn't need to be duplicated
for different Shortcut types.

It also lets us handle invalid Shortcut rejection at a higher level,
with most things letting the caller be responsible for not searching
for actions with an invalid shortcut.
2022-05-30 00:13:27 +01:00
Geordie Hall a252c3e058 LibGUI: Allow Shortcuts to have a mouse button associated with them
A Shortcut can now be either have a keyboard key, or a mouse button,
along with any modifiers.

Decided to add an extra type field instead of subclassing, which means
callers will have to be a little careful before accessing a particular
input method's "key", but it keeps things simple for now.
2022-05-30 00:13:27 +01:00
Geordie Hall 8b9b836a0e LibGUI: Add a to_string helper for GUI::MouseButton
It's useful to be able to print mouse button names to the user in other
parts of the system.

Went with a hardcoded switch instead of an enumeration macro like
KeyCode since there were only a handful of cases, and it's unlikely that
many more will ever be added (but can always change it then)
2022-05-30 00:13:27 +01:00
DexesTTP 5b56f3ed5b Lagom: Compile headless-browser on Lagom :^) 2022-05-29 23:00:04 +01:00
DexesTTP 63e841c3ad Lagom: Build LibWeb on Lagom 2022-05-29 23:00:04 +01:00
DexesTTP b388aa7876 Lagom: Disable the unused-private-field warning on Lagom's clang builds
With the compilation of LibWeb, there's now quite a few cases where this
warning gets triggered. Rather than trying to fix them all right away,
we simply disable the warning for now.

This workaround was proposed by Andrew Kaster and BertalanD who promised
to open an issue about it!
2022-05-29 23:00:04 +01:00
DexesTTP 915ac9edd6 Lagom: Compile LibWebSocket on Lagom 2022-05-29 23:00:04 +01:00
DexesTTP 3c8411eee4 Lagom: Compile all sources of LibGfx
The filters were missing from the compiled sources.
2022-05-29 23:00:04 +01:00
DexesTTP a2161d8eb7 Utilities: Add networking to headless-browser
With this, the headless browser can now connect to the web.

Thanks a lot to Ali and Sin-ack for their help with this!

Co-authored-by: Ali Mohammad Pur <mpfard@serenityos.org>
Co-authored-by: sin-ack <sin-ack@users.noreply.github.com>
2022-05-29 23:00:04 +01:00
DexesTTP f9d4c0ecbc Utilities: Add image decoding to headless-browser
With this, the headless browser can now decode images on its own!
2022-05-29 23:00:04 +01:00
DexesTTP 355e74cf65 Utilities: Add a simple headless-browser
This utility creates a 'screenshot' of the given page after a
few seconds of loading.
2022-05-29 23:00:04 +01:00
DexesTTP bf6c4835e6 LibWeb: Allow configuring the default error page path 2022-05-29 23:00:04 +01:00
DexesTTP 26bb95425d LibWeb: Allow configuring the default favicon path
This is useful when using LibWeb in environments that aren't Serenity
2022-05-29 23:00:04 +01:00
Karol Kosek c5a249a949 Base: Add Latin Extended-A to Katica Bold 12
0100-017E: https://www.unicode.org/charts/PDF/U0100.pdf
2022-05-29 21:06:15 +01:00
Karol Kosek fac283b20a Base: Update some glyphs with Cedillas and Carons in Katica Regular 12
This is to make the glyphs more consistent within the font family.

Modified: U+0136, U+013D, U+013E, U+0145, U+0146, U+0156, U+0157
2022-05-29 21:06:15 +01:00