Commit graph

38977 commits

Author SHA1 Message Date
Liav A
d1c9089fcd Ports: Add ACPICA tools port 2022-05-27 08:52:35 +01:00
Karol Kosek
3667d7e93c Userland: Depend some applications on WebContent if it's being used
Deduced this mostly by looking at unveil()s.
2022-05-26 21:54:58 +01:00
Karol Kosek
a41dfc416f WebContent: Depend on ImageDecoder, RequestServer and WebSocket 2022-05-26 21:54:58 +01:00
Karol Kosek
0534a68c6c Welcome: Depend on Help 2022-05-26 21:54:58 +01:00
Karol Kosek
d8862853bb Browser: Depend on BrowserSettings
The app refused to run in the Required+Browser system configuration,
because unveil was angry that BrowserSettings wasn't being installed.
2022-05-26 21:54:58 +01:00
Karol Kosek
3dfa215174 CharacterMap: Mark this component as 'recommended', not 'required'
Despite being a small and useful program, it doesn't feel being
essential enough to be included in every build configuration.
2022-05-26 21:54:58 +01:00
huttongrabiel
2cfbb9a0e8 LibGUI: Implement case inversion in Vim emulation
When in visual mode with text selected, on Key_Tilde press, uppercase
characters convert to lowercase and lowercase ones to uppercase.
2022-05-26 21:51:23 +01:00
huttongrabiel
8ffa860bc3 AK: Add invert_case() and invert_case(StringView)
In the given String, invert_case() swaps lowercase characters with
uppercase ones and vice versa.
2022-05-26 21:51:23 +01:00
Maciej
b1709c368f Base: Don't launch LookupServer in generate-manpages mode
This is not needed now.
2022-05-26 21:49:52 +01:00
Maciej
7fba41321e netstat: Stop needing LookupServer for parsing arguments
Previously the netstat utility crashed when LookupServer wasn't running
because it tried to unveil nonexistent /tmp/portal/lookup socket. This
commit fixes that.
2022-05-26 21:49:52 +01:00
Maciej
238bed2f24 Base: Add man page for network configuration 2022-05-26 21:47:27 +01:00
Maciej
ddd4547e13 NetworkServer: Add a new NetworkServer service
This service is responsible for loading network configuration from a
/etc/Network.ini config file. It sets up static IP address + mask or
starts DHCPClient depending on configuration.
2022-05-26 21:47:27 +01:00
Maciej
e14d4482a1 DHCPClient: Don't discover interfaces other than given by default
Now, the caller needs to give interface names in command-line arguments.
The DHCPClient will perform DHCP discovery only on these adapters. The
service now immediately closes when no interfaces were given.

We don't check if interface has already IP address assigned; we just
reset it to zero so that DHCP resolution will not fail.
2022-05-26 21:47:27 +01:00
Paweł Łukasik
01c7158ffe MasterWord: Check guesses against the word list
Previously guesses were not checked which allowed guesses
like 'aaaaa' to be entered.

Currently there's an option to set if a guess should be checked
against the dictionary and rejected if it doesn't exist there.

Additionally settings from Game menu have been moved to its own
entry - Settings.
2022-05-26 21:44:58 +01:00
brapru
1297f81ddf route: Add the flags column 2022-05-26 16:33:10 +02:00
brapru
7a4e41f8f8 Kernel: Add support for route flags
Previously the routing table did not store the route flags. This
adds basic support and exposes them in the /proc directory so that a
userspace caller can query the route and identify the type of each
route.
2022-05-26 16:33:10 +02:00
Ariel Don
210c3f24cd Base: Write man page for utimensat(3) and futimens(3) 2022-05-26 15:34:55 +02:00
Ariel Don
c77cdd8cad Base: Write man page for touch(1) 2022-05-26 15:34:55 +02:00
Xexxa
1b622c9921 Ports: AvailablePorts.md: Add link to ports.serenityos.net 2022-05-26 10:26:48 +01:00
kleines Filmröllchen
62c1ce4073 LibDSP: Fix keyboard glitch in Classic
This is quite elusive.
2022-05-26 10:24:43 +01:00
kleines Filmröllchen
aea8a040b3 Piano: Use LibDSP::Keyboard for all keyboard-playing logic
The only major functional change is that the Track now needs to know
whether it's active or not, in order to listen to the keyboard (or not).

There are some bugs exposed/created by this, mainly:
* KeysWidget sometimes shows phantom notes. Those do not actually exist
  as far as debugging has revealed and do not play in the synth.
* The keyboard can lock up Piano when rapidly pressing keys. This
  appears to be a HashMap bug; I invested significant time in bugfixing
  but got nowhere.
2022-05-26 10:24:43 +01:00
kleines Filmröllchen
a861d2b728 Piano: Make TrackManager::next_track_index const
That's very much an informational API.
2022-05-26 10:24:43 +01:00
kleines Filmröllchen
7e04560af4 Piano: Use a real transport in the TrackManager
This is technically only a stepping stone but needed to happen at some
point anyways. Now, there's no more integer time stored in Piano's
legacy datastructures directly.
2022-05-26 10:24:43 +01:00
kleines Filmröllchen
37b340a698 LibDSP: Introduce the Keyboard
This is a class for handling user MIDI input, which is combined by the
Track with roll note data if applicable.
2022-05-26 10:24:43 +01:00
huttongrabiel
a54b681149 LibGUI: Allow to lowercase conversion in Vim emulation
If Key_U is pressed while in visual mode, the currently selected text
will be converted to lowercase.
2022-05-26 00:33:01 +01:00
huttongrabiel
e3bef71d05 LibGUI: Allow to uppercase conversion in Vim emulation
If Shift+Key_U is pressed while in visual mode, the currently selected
text will be converted to uppercase.
2022-05-26 00:33:01 +01:00
huttongrabiel
45c5f68d8a LibGUI: Add casefold_selection function to choose case conversion
Allows the passing of a Casing enum, Lowercase or Uppercase, and
converts the selected text accordingly. If Lowercase is passed as the
parameter, it converts the selected text to lowercase. If Uppercase is
passed as the parameter, it converts the selected text to uppercase.
2022-05-26 00:33:01 +01:00
MacDue
3b0785a636 LibGUI: Invert button icons with low contrast ratios
On some dark themes, it becomes impossible to dark button icons
against their dark button backgrounds. This change tries to
mitigate that by inverting the icon color if the contrast ratio
(against the button background) is less the 4.5 (the recommended
minimum for text).

This is only done for icons that are a solid color (e.g. all back),
where the desired icon would likely be the same inverted anyway.

Fixes a lot of cases of #13978
2022-05-26 00:07:24 +01:00
MacDue
73b05364e8 LibGfx: Add Color::contrast_ratio() 2022-05-26 00:07:24 +01:00
MacDue
8e441d402b LibGfx: Add Bitmap::solid_color()
This function returns an Optional<Color> and is given an
alpha_threshold. If all pixels above that alpha threshold are the
same color, it returns the color, otherwise it returns an empty
optional.
2022-05-26 00:07:24 +01:00
MacDue
48d3db3c3d LibGfx: Add Bitmap::invert()
Helper function to invert a bitmap in-place
2022-05-26 00:07:24 +01:00
EWouters
59598ded15 Documentation: Add ninja command to example
This is needed for the next command to work.
2022-05-25 23:50:57 +01:00
Liav A
102ac09ad7 WindowServer: Stop spurious debug spam after flushing the framebuffer
This became apparent when using the VirtIO graphics device, because the
HardwareScreenBackend object needs to allow flushing of the framebuffer
constantly, and due to incorrect if-else flow, even a non-error response
from the ioctl was leading to a debug spam.
2022-05-25 23:33:31 +01:00
kleines Filmröllchen
6668077965 Base: Document the LibDSP structure in a simple class diagram
This uses UML conventions but just contains the necessary info to get
started with LibDSP development.
2022-05-25 23:27:22 +01:00
kleines Filmröllchen
900349dbe1 Base: Update the audio subsystem documentation
We need to mention the new queue system as well as the userland sample
format.
2022-05-25 23:27:22 +01:00
gouchi
74226a6cb3 Ports: Add RetroArch 2022-05-25 23:19:25 +01:00
Ali Mohammad Pur
78dc77f7e4 LibLine: Add support for user-controlled masking 2022-05-25 23:17:15 +01:00
Ali Mohammad Pur
c257d27f0b LibLine: Turn bracketed paste mode off in Editor::restore()
We turn it on in initialize(), so turn it off in restore().
Not all CLI applications can handle this mode correctly, and there's no
reason to leave it on.
2022-05-25 23:17:15 +01:00
EWouters
860c4763c3 Meta: Use Ubuntu 22.04 images for static analysis
Fixes 2f1029e while `ubuntu-latest` is not `ubuntu-22.04`.
2022-05-25 23:15:08 +01:00
MacDue
0c74f30819 DisplaySettings: Link to cursor themes from "Themes" tab
This removes a few clicks to access the mouse settings and puts
all theming actions in one place.
2022-05-25 23:14:22 +01:00
MacDue
7c8541b914 Userland: Use GUI::Process::spawn_or_show_error() for spawn() from a GUI 2022-05-25 23:14:22 +01:00
MacDue
2f2671f2d3 LibGUI: Add GUI::Process::spawn_or_show_error()
This is a wrapper around Core::Process::spawn() for GUI applications,
that shows an error if the call to spawn() failed.
2022-05-25 23:14:22 +01:00
MacDue
3fc0350caf LibCore: Return ErrorOr<pid_t> and support arguments in Process::spawn
This makes the wrapper more like the rest in LibCore, and also
removes the annoying limitation of not supporting arguments.

There are three overloads one for String, char const *, and StringView
argument lists. As long as there are <= 10 arguments the argv list
will be allocated inline, otherwise on the heap.
2022-05-25 23:14:22 +01:00
MacDue
0295d79339 LibCore: Add posix_spawn() wrapper to Core::System 2022-05-25 23:14:22 +01:00
Tim Schumacher
5a24accfa7 Ports: Update SDL2 to 2.0.22 2022-05-25 23:04:52 +01:00
Tim Schumacher
cb6a406190 Ports: Return SDL2 to upstream 2022-05-25 23:04:52 +01:00
EWouters
81a2f09a80 Ports: Return nesalizer to upstream
This makes https://github.com/SerenityPorts/nesalizer obsolete.

The patch that hardcoded the SDL2 location is removed. The the patches
to the `Makefile` are quashed. A new install function is added.
2022-05-25 22:55:59 +01:00
Tim Schumacher
317ca37dc6 Ports: Replace the manual dosbox-staging config.sub patch 2022-05-25 22:54:04 +01:00
Tim Schumacher
bbd54a5a25 Ports: Replace the gnuapl config.sub patch with our download 2022-05-25 22:54:04 +01:00
Tim Schumacher
99cdafa5bc Ports: Replace the x264 config.sub patch with our download 2022-05-25 22:54:04 +01:00