Commit graph

38353 commits

Author SHA1 Message Date
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
Tim Schumacher
1371d1d952 Ports: Replace the joe config.sub patch with our download 2022-05-25 22:54:04 +01:00
Tim Schumacher
7ceccb7b82 Ports: Replace the gsl config.sub patch with our download 2022-05-25 22:54:04 +01:00
Tim Schumacher
aa18adc43f Ports: Replace the jq config.sub patch with our download 2022-05-25 22:54:04 +01:00
Tim Schumacher
2d3724303a Ports: Replace the manual glu config.sub patch with our download 2022-05-25 22:54:04 +01:00
Tim Schumacher
40b9318695 Ports: Use the official release tarball for glu 2022-05-25 22:54:04 +01:00
Tim Schumacher
22b862e9f0 Ports: Replace the gettext config.sub patch with our download 2022-05-25 22:54:04 +01:00
Tim Schumacher
ffe541e4ef Ports: Replace the libiconv config.sub patch with our download 2022-05-25 22:54:04 +01:00
Tim Schumacher
f31f25b918 Ports: Use our built-in config.sub download for libuuid 2022-05-25 22:54:04 +01:00
Tim Schumacher
2c886fa93f Ports: Use the official release tarball for libuuid
These already come preconfigured
2022-05-25 22:54:04 +01:00
Tim Schumacher
f81e47eea8 Ports: Allow selecting multiple config_{sub,guess}_paths
Some ports may have more than one `config.sub` that is in use (vendored
dependencies, etc.). Instead of fiddling about with space-delimited
strings, let's just make that setting into an array right away.
2022-05-25 22:54:04 +01:00
Tim Schumacher
ff90647958 Ports: Fix a typo in get_new_config_guess
While we're at it, we might as well replace the download arguments in
`get_new_config_{sub,guess}` with the variable we defined earlier.
2022-05-25 22:54:04 +01:00
DexesTTP
2ab8d474c6 Lagom: Fix leaks in the IDL Wrapper generator
By using RefPtrs to handle interfaces, the IDL parser could store cyclic
references to interfaces that import each other. One main example is the
"EventTarget.idl" and the "AbortSignal.idl" files, which both reference
each other. This caused huge amounts of memory not to be freed on exit.

To fix this, the parsed IDL interfaces are now stored in a HashTable of
NonnullOwnPtr<Interface>, which serves as the sole reference for every
parsed interface. All other usages of the Interface are changed to use
references instead of RefPtrs, or occasionally as raw pointers where
references don't fit inside the data structures.

This new HashTable is static, and as such will automatically be freed
prior to exiting the generator. This ensures that the code generator
properly cleans up after itself.

With this change, The IDL code generators can properly run on Lagom when
compiled with the -DENABLE_ADDRESS_SANITIZER=ON flag, and gets compiled
properly on the CI :^)
2022-05-25 22:25:09 +01:00
Karol Kosek
67f1ac5de7 ThemeEditor: Use 'open' icon instead of ellipsis on path picker button
The ellipsis seemed a little unclear for me.
2022-05-25 13:42:53 +02:00
Karol Kosek
2d6edd5898 ThemeEditor: Show unsaved changes prompt also in the quit action
While the app displayed the prompt on the close button press, the quit
action from the menu didn't do so.
2022-05-25 13:42:53 +02:00
MacDue
4656198127 Meta: Add -S to Jakt compiler invocation in compile_jakt
This prevents the Jakt compiler from attempting to compile the
generated C++ source itself.
2022-05-25 09:48:28 +02:00
Linus Groh
9400b76d79 LibJS: Remove assertions replaced with structured headers
This is an editorial change in the Temporal spec.

See: 74fd5e8
2022-05-25 00:25:23 +01:00
Linus Groh
c3f1d8f5ba LibJS: Correct section IDs of Temporal .prototype property clauses
This is an editorial change in the Temporal spec.

See: e4eb181
2022-05-25 00:25:23 +01:00
Linus Groh
ae1fdf299d LibJS: Use the rounding abstract operations from Intl.NumberFormat V3
This is an editorial change in the Temporal spec.

See: 75279e5

Co-Authored-By: Idan Horowitz <idan.horowitz@gmail.com>
2022-05-25 00:25:23 +01:00
Linus Groh
93a20b3bfb LibJS: Use default argument of CalendarDateFromFields
This is an editorial change in the Temporal spec.

See: 7a4a518
2022-05-25 00:25:23 +01:00
Linus Groh
cf1ea18b7f LibJS: Align DifferenceTemporalPlainTime with other Difference* AOs
This is an editorial change in the Temporal spec.

See: 70f739d
2022-05-25 00:25:23 +01:00
Linus Groh
89d4094709 LibJS: Mark concrete method calls of Environment Records with ?/!
This is an editorial change in the ECMA-262 spec.

See: 7ae3ecf
2022-05-25 00:25:23 +01:00
Nathan Wallace
cdc5ed2fb5 Meta: Shellcheck ignore for our expr use (SC2307) 2022-05-24 06:30:57 -04:00
Nathan Wallace
0c0a760aad Meta+Documentation: Bump required QEMU version
This commit bumps the required QEMU version to 6.2 and updates the
version checking logic in Meta/run.sh to support checking against
major and minor version numbers instead of checking against the major
version only
2022-05-24 06:30:57 -04:00
Nathan Wallace
2f1029e7c4 Meta+CI: Upgrade to ubuntu-22.04
This commit upgrades Github Actions workers to ubuntu-22.04

As part of that change, we (currently) no longer need the backports
nor toolchain-r/test PPAs, because ubuntu-22.04 include
recent-enough version of QEMU and gcc
2022-05-24 06:30:57 -04:00