summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-05-26Kernel: Add support for route flagsbrapru
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-26Base: Write man page for utimensat(3) and futimens(3)Ariel Don
2022-05-26Base: Write man page for touch(1)Ariel Don
2022-05-26Ports: AvailablePorts.md: Add link to ports.serenityos.netXexxa
2022-05-26LibDSP: Fix keyboard glitch in Classickleines Filmröllchen
This is quite elusive.
2022-05-26Piano: Use LibDSP::Keyboard for all keyboard-playing logickleines Filmröllchen
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-26Piano: Make TrackManager::next_track_index constkleines Filmröllchen
That's very much an informational API.
2022-05-26Piano: Use a real transport in the TrackManagerkleines Filmröllchen
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-26LibDSP: Introduce the Keyboardkleines Filmröllchen
This is a class for handling user MIDI input, which is combined by the Track with roll note data if applicable.
2022-05-26LibGUI: Allow to lowercase conversion in Vim emulationhuttongrabiel
If Key_U is pressed while in visual mode, the currently selected text will be converted to lowercase.
2022-05-26LibGUI: Allow to uppercase conversion in Vim emulationhuttongrabiel
If Shift+Key_U is pressed while in visual mode, the currently selected text will be converted to uppercase.
2022-05-26LibGUI: Add casefold_selection function to choose case conversionhuttongrabiel
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-26LibGUI: Invert button icons with low contrast ratiosMacDue
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-26LibGfx: Add Color::contrast_ratio()MacDue
2022-05-26LibGfx: Add Bitmap::solid_color()MacDue
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-26LibGfx: Add Bitmap::invert()MacDue
Helper function to invert a bitmap in-place
2022-05-25Documentation: Add `ninja` command to exampleEWouters
This is needed for the next command to work.
2022-05-25WindowServer: Stop spurious debug spam after flushing the framebufferLiav A
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-25Base: Document the LibDSP structure in a simple class diagramkleines Filmröllchen
This uses UML conventions but just contains the necessary info to get started with LibDSP development.
2022-05-25Base: Update the audio subsystem documentationkleines Filmröllchen
We need to mention the new queue system as well as the userland sample format.
2022-05-25Ports: Add RetroArchgouchi
2022-05-25LibLine: Add support for user-controlled maskingAli Mohammad Pur
2022-05-25LibLine: Turn bracketed paste mode off in Editor::restore()Ali Mohammad Pur
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-25Meta: Use Ubuntu 22.04 images for static analysisEWouters
Fixes 2f1029e while `ubuntu-latest` is not `ubuntu-22.04`.
2022-05-25DisplaySettings: Link to cursor themes from "Themes" tabMacDue
This removes a few clicks to access the mouse settings and puts all theming actions in one place.
2022-05-25Userland: Use GUI::Process::spawn_or_show_error() for spawn() from a GUIMacDue
2022-05-25LibGUI: Add GUI::Process::spawn_or_show_error()MacDue
This is a wrapper around Core::Process::spawn() for GUI applications, that shows an error if the call to spawn() failed.
2022-05-25LibCore: Return ErrorOr<pid_t> and support arguments in Process::spawnMacDue
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-25LibCore: Add posix_spawn() wrapper to Core::SystemMacDue
2022-05-25Ports: Update SDL2 to 2.0.22Tim Schumacher
2022-05-25Ports: Return SDL2 to upstreamTim Schumacher
2022-05-25Ports: Return `nesalizer` to upstreamEWouters
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-25Ports: Replace the manual `dosbox-staging` `config.sub` patchTim Schumacher
2022-05-25Ports: Replace the `gnuapl` `config.sub` patch with our downloadTim Schumacher
2022-05-25Ports: Replace the `x264` `config.sub` patch with our downloadTim Schumacher
2022-05-25Ports: Replace the `joe` `config.sub` patch with our downloadTim Schumacher
2022-05-25Ports: Replace the `gsl` `config.sub` patch with our downloadTim Schumacher
2022-05-25Ports: Replace the `jq` `config.sub` patch with our downloadTim Schumacher
2022-05-25Ports: Replace the manual `glu` `config.sub` patch with our downloadTim Schumacher
2022-05-25Ports: Use the official release tarball for `glu`Tim Schumacher
2022-05-25Ports: Replace the `gettext` `config.sub` patch with our downloadTim Schumacher
2022-05-25Ports: Replace the `libiconv` `config.sub` patch with our downloadTim Schumacher
2022-05-25Ports: Use our built-in `config.sub` download for `libuuid`Tim Schumacher
2022-05-25Ports: Use the official release tarball for `libuuid`Tim Schumacher
These already come preconfigured
2022-05-25Ports: Allow selecting multiple `config_{sub,guess}_path`sTim Schumacher
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-25Ports: Fix a typo in `get_new_config_guess`Tim Schumacher
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-25Lagom: Fix leaks in the IDL Wrapper generatorDexesTTP
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-25ThemeEditor: Use 'open' icon instead of ellipsis on path picker buttonKarol Kosek
The ellipsis seemed a little unclear for me.
2022-05-25ThemeEditor: Show unsaved changes prompt also in the quit actionKarol Kosek
While the app displayed the prompt on the close button press, the quit action from the menu didn't do so.
2022-05-25Meta: Add -S to Jakt compiler invocation in compile_jaktMacDue
This prevents the Jakt compiler from attempting to compile the generated C++ source itself.