summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-28CharacterMap: Change the search widget to display results in a TableViewTimothy Flynn
Code points that have a bidirectional attribute of right-to-left (e.g. some Arabic and Hebrew code points) were causing the code point to render at the end of the search result, rather than the beginning. To keep the results consistent, split the search results into two columns: the first for the code point, the second for its name.
2022-01-28Revert "FileSystemAccessServer: Display times in the local time zone"Timothy Flynn
This reverts commit fa016a72fd8f0288de02f3aa8e7834b08b8f2238.
2022-01-28Revert "FileManager: Display times in the user's local time zone"Timothy Flynn
This reverts commit 080b054695f03df2f731d9a519432e3f196f48e6.
2022-01-28Revert "ls: Display times in the user's local time zone"Timothy Flynn
This reverts commit 0c13a3a8ff07a7dde8acc30ede885685c224ef64.
2022-01-28Revert "Userland: Invoke tzset in apps that care about time zones"Timothy Flynn
This reverts most of commit ede5c9548e55d8216dba21ed431b9e53d085a248. The one change not reverted is ClockWidget.h, so that the taskbar clock can continue to notice time zone changes.
2022-01-28LibMain: Invoke tzset in LibMain so all apps can have time zone infoTimothy Flynn
Rather than finding apps that benefit from time zone awareness one-by- one, and calling tzset in their serenity_main, let's do it in LibMain.
2022-01-28LibSoftGPU: Simplify clipping logicLenny Maiorani
The clipping logic is not DRY (Don't Repeat Yourself). The same logic is repeated in multiple parts of an `if-else` statement. This can be simplified to contain fewer branches and eliminate the redundant code.
2022-01-28FileSystemAccessServer: Display times in the user's local time zoneTimothy Flynn
2022-01-28FileManager: Display times in the user's local time zoneTimothy Flynn
2022-01-28ls: Display times in the user's local time zoneTimothy Flynn
ls is already using local time, but needs tzset() for that to actually work.
2022-01-28BrowserSettings: Use standard text placement for check box textTimothy Flynn
2022-01-28MailSettings: Use standard text placement for check box textTimothy Flynn
2022-01-28MouseSettings: Use standard text placement for check box textTimothy Flynn
2022-01-28HackStudio: Fix path to language-server IPC socketItamar
The path to the language server local socket was accidentally broken in 2e1bbcb.
2022-01-28Base: Add the Monokai terminal color schemekleines Filmröllchen
2022-01-28Meta: Check if gdu is part of GNU coreutilsMika Sundland
2022-01-28Base: Add "Base16" terminal color themesJoel Hansen
Port of the "Base16" light and dark themes by Chris Kempson.
2022-01-28Base: Add "Zenburn" terminal color themeJoel Hansen
Port of the "Zenburn-like" theme present in the "Foot" terminal emulator by Daniel Eklöf. Original by Jani Nurminen.
2022-01-28Base: Add "Dracula" terminal color themeJoel Hansen
Port of the "Dracula" theme by Zeno Rocha.
2022-01-28Base: Add "Gruvbox" terminal color themesJoel Hansen
Port of the "Gruvbox" light and dark themes by Pavel Pertsev.
2022-01-28Base: Add "Nord" terminal color themeJoel Hansen
Port of the "Nord" theme by Arctic Ice Studio and Sven Greb.
2022-01-27LibGUI: Alphabetize the available entries in CommandPaletteAndreas Kling
2022-01-27LibGUI: Show action icons in CommandPalette when available :^)Andreas Kling
2022-01-27LibGUI: Add a universally available "command palette" to GUI programsAndreas Kling
You can now press Ctrl+Shift+A in any LibGUI application and we'll give you a command palette dialog where you can search for context-relevant actions by name (via the keyboard.) The set of actions is currently the same one you'd access via keyboard shortcuts. In the future, we'll probably want to add APIs to allow richer integrations with this feature.
2022-01-27LibGUI: Make FilteringProxyModel::data() support multi-column dataAndreas Kling
While the rows are filtered, we can't just return data from column 0 every time, since that breaks underlying multi-column models. Instead, simply forward the incoming index.
2022-01-27LibGUI: Fix bogus return value on error in FilteringProxyModel::data()Andreas Kling
Return an empty GUI::Variant on indexing error.
2022-01-27LibGUI: Fix bogus root index column_count() in FilteringProxyModelAndreas Kling
The root index (ModelIndex()) should should have the same column count as the root index in the underlying model.
2022-01-27LibGUI: Don't skip non-skipable spans on ctrl+rightMathieu PATUREL
Just a couple of typos in `TextDocument::first_non_skippable_span_after`.
2022-01-27Ports: Explain some new patch script options and features in the READMEAli Mohammad Pur
This explains: - `package.sh dev [--no-depends]` - `use_fresh_config_sub` & `config_sub_path`
2022-01-27Ports: Make 'package.sh dev' a bit more friendly when importing patchesAli Mohammad Pur
When a git patch that doesn't apply is encountered, start a git am session and _then_ drop the user in it instead of expeting the user to start the session on their own. Also prompt for leftover files and delete them if the user does not want them.
2022-01-28AK: Simplify Variant's explicit overload detection mechanism a bitAli Mohammad Pur
This also allows us to remove the max-64-visitors restriction, and so removes that assertion.
2022-01-27LibJS: Implement Intl.RelativeTimeFormat.prototype.formatToPartsTimothy Flynn
2022-01-27LibJS: Implement Intl.RelativeTimeFormat.prototype.formatTimothy Flynn
2022-01-27LibJS: Add explicit constructors for PatternPartitionTimothy Flynn
This is to enable emplacing this struct in containers. GCC is fine with emplacing without this constructor, but Clang raises an error.
2022-01-27LibJS: Change RelativeTimeFormat::number_format to return a referenceTimothy Flynn
In the one place this will be used, we will know that the NumberFormat object is non-null. So return a reference, as the AO it is passed off to also expects a reference.
2022-01-27LibJS: Add missing spec link for InitializeRelativeTimeFormatTimothy Flynn
2022-01-27LibUnicode: Templatize our naive implementation of plurality selectionTimothy Flynn
As we didn't (and still don't) have Intl.PluralRules when we implemented Intl.NumberFormat, we use a locale-unaware basic implementation to pick a pattern based on a number's value. Templatize this method for now to work other other format-like structures (will be used for relative-time formatting).
2022-01-27LibUnicode: Parse and generate relative-time format patternsTimothy Flynn
Relative-time format patterns are of one of two forms: * Tensed - refer to the past or the future, e.g. "N years ago" or "in N years". * Numbered - refer to a specific numeric value, e.g. "in 1 year" becomes "next year" and "in 0 years" becomes "this year". In ECMA-402, tensed and numbered refer to the numeric formatting options of "always" and "auto", respectively.
2022-01-27LibUnicode: Create a nearly empty generator for relative-time formattingTimothy Flynn
This sets up the generator plumbing to create the relative-time data files. This data could probably be included in the date-time generator, but that generator is large enough that I'd rather put this tangentially related data in its own file.
2022-01-27LibUnicode: Remove extraneous semi-colons at end of generator functionsTimothy Flynn
2022-01-27LibSoftGPU: Reduce Clipper class interface to minimumLenny Maiorani
Much of the `Clipper` class can be made free functions and their scope limited. The purpose of this is to prepare the interface for a change to more compile-time dispatch.
2022-01-27LibSoftGPU: Use default construction to clear AlphaBlendFactorsLenny Maiorani
Clearing the `m_alpha_blend_factors` is performed manually and in separate steps. This is error prone for future developers. The behavior is to reset the entire `struct` to the same state as default initialization, so this simplifies it to do just that.
2022-01-27LibGL: Set rasterizer material state without copyingLenny Maiorani
Each of the material faces is copied member by member then the copied material state is passed by `const&` to another function, then destroyed. This is changed to simply passing the material state directly without copying.
2022-01-27LibGL: Set rasterizer light state without copyingLenny Maiorani
There is a loop over the lights in which each light state is copied member by member then the copied light state is passed by `const&` to another function, then destroyed. This is changed to simply passing the light state directly without copying.
2022-01-27LibJS: Respect per-locale minimum grouping digits when number formattingTimothy Flynn
2022-01-27LibUnicode: Generate per-locale minimum grouping digit valuesTimothy Flynn
Previously, we were breaking up digits into groups without regard for the locale's minimumGroupingDigits value in the CLDR. This value is 1 in most locales, but is 2 in locales such as pl-PL. What this means is that in those locales, the group separator should only be inserted if the thousands group has at least 2 digits. So 1000 is formatted as "1,000" in en-US, but "1000" in pl-PL. And 10000 is "10,000" in en-US and "10 000" in pl-PL.
2022-01-27LibJS: Prevent implicit pointer-to-bool conversion in Value constructorTimothy Flynn
For example, say you try to create a Value from an Array and forgot to include LibJS/Runtime/Array.h. This would cause the boolean constructor to be used instead of a compile error.
2022-01-27AK: Export the SameAs conceptTimothy Flynn
2022-01-27ping: Port to LibMainbrapru
2022-01-27Kernel: Don't mess with thread state in Process::do_exec()Andreas Kling
We were marking the execing thread as Runnable near the end of Process::do_exec(). This was necessary for exec in processes that had never been scheduled yet, which is a specific edge case that only applies to the very first userspace process (normally SystemServer). At this point, such threads are in the Invalid state. In the common case (normal userspace-initiated exec), making the current thread Runnable meant that we switched away from its current state: Running. As the thread is indeed running, that's a bogus change! This created a short time window in which the thread state was bogus, and any attempt to block the thread would panic the kernel (due to a bogus thread state in Thread::block() leading to VERIFY_NOT_REACHED().) Fix this by not touching the thread state in Process::do_exec() and instead make the first userspace thread Runnable directly after calling Process::exec() on it in try_create_userspace_process(). It's unfortunate that exec() can be called both on the current thread, and on a new thread that has never been scheduled. It would be good to not have the latter edge case, but fixing that will require larger architectural changes outside the scope of this fix.