summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-11-27Minesweeper: TRY() all the things in serenity_main() :^)Pedro Pereira
2021-11-27Hearts: TRY() all the things in serenity_main() :^)Pedro Pereira
2021-11-27GameOfLife: TRY() all the things in serenity_main() :^)Pedro Pereira
2021-11-27FlappyBug: TRY() all the things in serenity_main() :^)Pedro Pereira
2021-11-27Chess: TRY() all the things in serenity_main() :^)Pedro Pereira
2021-11-27Breakout: TRY() all the things in serenity_main() :^)Pedro Pereira
2021-11-272048: TRY() all the things in serenity_main() :^)Pedro Pereira
2021-11-27Base: Add Lydian and NKo characters to font Katica Regular 10Lady Gegga
10920–1093F, 07C0–07FF
2021-11-27Terminal: Modernize terminal settings as a standalone applicationkleines Filmröllchen
The settings for Terminal are extracted into their own application, TerminalSettings, which is reachable over the normal Settings menu as well as the same place in the Terminal menu. The font settings are moved into these settings as well, which are now split up into the "Terminal" and "View" tabs. The font settings themselves receive an option to override the selected font with the system default on the user side. The live update behavior of all of the terminal settings is retained. The layout of the new TerminalSettings is based around the other Settings applications, but pixel-perfectness is missing in some places. It's a bit fiddly and I'd like to have some better GUI::Label auto-size behavior, but oh well :^)
2021-11-27Base: Set a default value for terminal scrollback sizekleines Filmröllchen
This setting was previously defaulted in the terminal setting code, which will be removed in the next step.
2021-11-27LibGUI: Add a cancel button callback to settings window tabskleines Filmröllchen
Some settings tabs, like the ones on the upcoming terminal settings, need to know when the cancel button is pressed to clean up things like temporary live updates. Therefore, the SettingsWindow::Tab now features a cancel_settings callback which does not need to be implemented.
2021-11-27Settings: Fix launch of settings dialogBrian Gianforcaro
There was a bug report on discord where someone mentioned that launching the keyboard settings always crashed. When looking at the backtrace it became clear we were calling down the `AppFile::executable()` path on uninitialized memory. We can fix this by using the "official" API for obtaining data from the GUI ModelIndex, instead of casting random memory to the object type we expect it to be. :^) Validated this fixes the issue for me locally.
2021-11-27bt: Port to LibMain :^)Kenneth Myhra
2021-11-27LibCore: Add syscall wrapper for gethostname()Kenneth Myhra
2021-11-27asctl: Port to LibMain :^)Kenneth Myhra
2021-11-27aplay: Port to LibMainKenneth Myhra
2021-11-27allocate: Port to LibMain :^)Kenneth Myhra
2021-11-27PixelPaint: Keep a RefPtr to offset_text_box in EditGuideDialogMarcus Nilsson
Keep a RefPtr to offset_text_box in EditGuideDialog instead of using a local pointer. Previously the lambda in ok_button.on_click() would outlive the local variable causing a crash.
2021-11-26Tests: Fix TestLibCoreArgsParser with add_positional_argument API changeBrian Gianforcaro
Since we no longer populate a Vector<String> the lifetime of the strings in all of these tests is now messed up, as the Vector<StringView> now points to free'd memory. We attempt to fix this for the unit tests, by saving the results in a RAII type that should live as long as the test wants to validate some output of the ArgParser.
2021-11-26UserspaceEmulator: Fix after add_positional_argument API change :^)Brian Gianforcaro
Get UE compiling again after the Vector<String> API was changed to Vector<StringView>.
2021-11-27LibJS: Throw InternalErrors instead of Errors on CallStackSizeExceededIdan Horowitz
These seem more appropriate.
2021-11-27cat: Remove accidentally-committed unused macroAndreas Kling
2021-11-26Run: Port to LibMain :^)Andreas Kling
2021-11-26cp: Port to LibMain :^)Andreas Kling
2021-11-26Userland: Use Core::ArgsParser's Vector<StringView> API everywhereAndreas Kling
...and remove the Vector<String> variant since there are no remaining users of this API.
2021-11-26LibCore: Add Vector<StringView> variant of add_positional_argument()Andreas Kling
2021-11-26cat: Use TRY() and LibCore syscall wrappers a lot more :^)Andreas Kling
2021-11-26Kernel: Implement variable rate audio support for AC97 devicesJelle Raaijmakers
Previously we `VERIFY()`ed that the device supports variable-rate audio (VRA). Now, we query the VRA bit and if VRA is not supported, we do not enable double-rate audio and disallow setting any sample rate except the fixed 48kHz rate as defined by the AC'97 specification. This should allow the driver to function on a wider array of hardware. Note that in the AC'97 specification, DRA without VRA is allowed when supported: this effectively doubles the sample rate to 96kHZ. For now, we ignore that possibility and let it default to 48kHZ.
2021-11-26Settings: Make sure settings are listed in alphabetical orderSam Atkins
DirectoryIterator, and so `Desktop::AppFile::for_each()`, doesn't guarantee anything about the order, so we manually sort afterwards. Which means using a manual version of NonnullRefPtrVector, since that doesn't support `quick_sort()`.
2021-11-26Browser: Allow custom search engine URLs that don't start http[s]://Sam Atkins
2021-11-26BrowserSettings: Add some icons for it :^)Sam Atkins
2021-11-26Browser+Base: Delete provided Browser.ini fileSam Atkins
Having files in Base's user `.config` folder means that every time the Serenity image is built, all user settings in that file are thrown away. So, let's not do that! :^) Modified the default value for the homepage url to match what was in Browser.ini, so there is no visible change.
2021-11-26BrowserSettings: Implement restoring default valuesSam Atkins
2021-11-26BrowserSettings: Add preferred-color-scheme settingSam Atkins
2021-11-26BrowserSettings: Add setting for search engineSam Atkins
2021-11-26Browser: Move search engine definitions to a json fileSam Atkins
This both makes them configurable, and means that we can read them from other applications, such as BrowserSettings. :^)
2021-11-26Browser+BrowserSettings: Persist the "show bookmarks bar" settingSam Atkins
Previously this setting was only temporary, but we now save/load it from the config file.
2021-11-26BrowserSettings: Create a BrowserSettings application :^)Sam Atkins
Browser has a bunch of settings, but most are non-trivial to add here. So far, these are implemented: - Homepage URL - Whether to close download windows when they complete The others will be added in subsequent commits.
2021-11-26Base: Add some Greek characters to KaticaRegular10Maciej
U+0391-03C9
2021-11-26DisplaySettings: Update wallpaper config path only on successKarol Kosek
The Window Server is ignoring incorrect files since 235f39e449, so let's not update the config when that happens and an error message instead!
2021-11-26DisplaySettings: Always save the background color to the configKarol Kosek
Previously, you could notice that the background color isn't being updated when you picked a small bitmap image with the 'center' mode.
2021-11-26WindowServer: Clear wallpaper if the requested path is emptyKarol Kosek
235f39e449 secretly added an if check that ignores all the files that couldn't be loaded into bitmaps. Unfortunately, we send an empty path as a way to unset the wallpaper, which meant that we couldn't go back to the default background color anymore.
2021-11-26Kernel: Ensure KeyEvent::key sent to Userspace respects keyboard layoutmacarc
Before, only KeyEvent::code_point took the user's keyboard layout into consideration, while KeyEvent::key was hardcoded QWERTY. This affected, among other things, Vim Emulation. Now, KeyEvent::key respects the user's keyboard layout, so will be the same as KeyEvent::code_point for visible (alphanumeric + symbol) keys. Co-Authored-By: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>
2021-11-26CMake: Also install the source files of userland programsItamar
Previously, we only copied the source files of libraries to `/usr/src/serenity`. We now also install the source files of userland programs.
2021-11-26CMake: Simplify serenity_install_sources by inferring installation pathItamar
The serenity_install_sources function now infers the path under `/usr/src/serenity` in which to install the source files according to the relative path of the source files in the repository. For example `Userland/Libraries/LibGUI/Widget.h` gets installed at `/usr/src/serenity/Userland/Libraries/LibGUI/Widget.h`. This fixes cases where the source files of libraries are not under `Userland/Libraries` (for example LibShell & LibLanguageServer).
2021-11-26HackStudio: Port to LibMain :^)Federico Guerinoni
2021-11-25echo: Port to LibMain :^)Kenneth Myhra
2021-11-25basename: Port to LibMainKenneth Myhra
2021-11-25copy: Port to LibMain :^)Kenneth Myhra
2021-11-25cat: Port to LibMain :^)Kenneth Myhra