summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2022-05-29Everywhere: Fix a bunch of typosLinus Groh
2022-05-29WindowServer: Call screen_resolution_changed after window screens clearmontiagne
When the user executes chres to change to a new resolution, the WindowManager removes for each window its intersections with the screens (window.screens()) and recalculates its rect. Finally, a Window::set_rect call sets the window's new rectangle. The set_rect call also triggers a call to Compositor::invalidate_occlusions which fills for each window the intersections with the screens again in window.screens(). In case chres switches to an already present resolution the set_rect call exits prematurely as it checks if the window's rect really changed. This means that nobody calls invalidate_occlusions resulting in a rendering issue for each window. Moving the call to Compositor::screen_resolution_changed after the clearing of window.screens() and recalc of the window rect for each window resolves the rendering issue as screen_resolution_changed calls invalidate_occlusions.
2022-05-28Browser+LibWeb+WebContent: Add ability to inspect session storageRafał Babiarz
2022-05-28NetworkServer: Support setting default gatewayMaciej
This commit adds an IPv4Gateway to Network.ini. If that option is set to value other than 0.0.0.0, the NetworkServer adds a default route (e.g. with address 0.0.0.0/0) with the specified destination.
2022-05-28Applets/ResourceGraph: Open network monitor when clicking network graphMacDue
(Previously, it would open the performance monitor tab)
2022-05-27Utilities: Add edid-dump program to dump EDID from Display connectorsLiav A
2022-05-26Userland: Depend some applications on WebContent if it's being usedKarol Kosek
Deduced this mostly by looking at unveil()s.
2022-05-26WebContent: Depend on ImageDecoder, RequestServer and WebSocketKarol Kosek
2022-05-26Welcome: Depend on HelpKarol Kosek
2022-05-26Browser: Depend on BrowserSettingsKarol Kosek
The app refused to run in the Required+Browser system configuration, because unveil was angry that BrowserSettings wasn't being installed.
2022-05-26CharacterMap: Mark this component as 'recommended', not 'required'Karol Kosek
Despite being a small and useful program, it doesn't feel being essential enough to be included in every build configuration.
2022-05-26LibGUI: Implement case inversion in Vim emulationhuttongrabiel
When in visual mode with text selected, on Key_Tilde press, uppercase characters convert to lowercase and lowercase ones to uppercase.
2022-05-26netstat: Stop needing LookupServer for parsing argumentsMaciej
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-26NetworkServer: Add a new NetworkServer serviceMaciej
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-26DHCPClient: Don't discover interfaces other than given by defaultMaciej
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-26MasterWord: Check guesses against the word listPaweł Łukasik
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-26route: Add the flags columnbrapru
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-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-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-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-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-25LibJS: Remove assertions replaced with structured headersLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/74fd5e8
2022-05-25LibJS: Correct section IDs of Temporal .prototype property clausesLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/e4eb181
2022-05-25LibJS: Use the rounding abstract operations from Intl.NumberFormat V3Linus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/75279e5 Co-Authored-By: Idan Horowitz <idan.horowitz@gmail.com>
2022-05-25LibJS: Use default argument of CalendarDateFromFieldsLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/7a4a518
2022-05-25LibJS: Align DifferenceTemporalPlainTime with other Difference* AOsLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/70f739d
2022-05-25LibJS: Mark concrete method calls of Environment Records with ?/!Linus Groh
This is an editorial change in the ECMA-262 spec. See: https://github.com/tc39/ecma262/commit/7ae3ecf
2022-05-24Spreadsheet: Make save functions take a Core::File instead of a filenameKarol Kosek
This allows us to use FileSystemAccessClient functions.
2022-05-24Spreadsheet: Open files using FileSystemAccessClient::try_open_file()Karol Kosek
2022-05-24Spreadsheet: Remove unused Workbook::load() functionKarol Kosek
2022-05-24Spreadsheet: Use TRY() on file load and saveKarol Kosek
2022-05-23Meta+Userland: Add jakt as an optional Lagom ToolAndrew Kaster
We can now use ENABLE_JAKT to pull jakt as a host tool and use it to pre-process .jakt files into .cpp files for use in serenity applications