summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-07Kernel: Add AtomicEdgeAction classTom
This class acts like a combined ref-count as well as a spin-lock (only when adding the first or removing the last reference), allowing to run a specific action atomically when adding the first or dropping the last reference.
2021-07-07Ports: Update Python to 3.9.6Linus Groh
Released on 2021-06-28. https://www.python.org/downloads/release/python-396/
2021-07-07Ports: Add a missing pipe character to AvailablePorts.mdAndreas Kling
2021-07-07Ports: Add r0 to AvailablePorts.mdAndreas Kling
2021-07-07WindowServer: Add WindowFrame::invalidate_menubar() and use itAndreas Kling
Clean up a FIXME about overly aggressive invalidation.
2021-07-07LibJS: Add thousands separators to nanoseconds multiplier valueLinus Groh
Increases readability. Thanks to @nico for noticing this!
2021-07-07LibGfx: BitmapFont: Handle '\r' and '\n' when calculating text widthLuK1337
Previously calculating multiline text width would return invalid value, this change makes it so that we are returning the longest line width. We are now also reusing same width() implementation for both UTF-8 and UTF-32 strings.
2021-07-07Userland: Add pledge to lessRalf Donau
2021-07-07Ports: Add minimalistic r0 hexadecimal editorpancake
2021-07-07js: Implement pretty-printing of Temporal.Instant objectsLinus Groh
2021-07-07LibJS: Implement Temporal.now.instant()Linus Groh
2021-07-07LibJS: Start implementing Temporal.InstantLinus Groh
Just like the initial Temporal.TimeZone commit, this patch adds the Instant object itself, its constructor and prototype (currently empty), and two required abstract operations.
2021-07-07LibJS: Add error message for invalid time zone in Temporal.TimeZone()Linus Groh
2021-07-07LibCrypto: Add operator>() to UnsignedBigInteger and SignedBigIntegerLinus Groh
Piggybacking on operator!=() and operator<().
2021-07-07FileManager: Fix Desktop rubber-banding getting clipped at the edgeAndreas Kling
The issue was that the desktop IconView has Gfx::FrameShape::NoFrame as its frame shape, but with a non-zero frame_thickness(). This caused us to not render a frame, but to include one in the selection boundary calculations. Fix this by setting the desktop icon view's frame thickness to 0. Fixes #8525.
2021-07-07LibGfx+LibGUI+WindowServer: Use move() on Core::AnonymousBuffer moreAndreas Kling
2021-07-07LibCore: Make Core::AnonymousBuffer moveableAndreas Kling
2021-07-07LibGUI: Fix some clang-tidy warnings in Window.cppAndreas Kling
2021-07-07LibGUI: Remove spammy debug message from ColumnsViewAndreas Kling
2021-07-07LibThreading: Use a condvar to signal the BackgroundAction threadAndreas Kling
Now that pthread_cond_t works correctly thanks to Sergey, we can use them to wake up the BackgroundAction worker thread instead of making a Unix pipe. :^)
2021-07-07Userland: Convert delay option to unsigned for shotAziz Berkay Yesilyurt
A negative delay option for shot was used to underflow when passed to sleep. Now, it returns an error for a negative delay value.
2021-07-07LibCore: Add unsigned option to ArgsParserAziz Berkay Yesilyurt
Unsigned options are used to return underflowed values for negative inputs. With this change, we can verify that unsigned options only accept unsigned inputs as arguments.
2021-07-07Documentation: Add less(1) man page, and link to it in othersPeter Elliott
2021-07-07Userland: Less: emulate cat when stdout is not a ttyPeter Elliott
This is the most logical behavior when less is used in a pipe.
2021-07-07Userland: Add pager option to man and use less by defaultPeter Elliott
2021-07-07Userland: Add more(1) emulation to less(1)Peter Elliott
This patch also removes the existing implementation of more, as it is now redundant.
2021-07-07Userland: Add minimal prompt support to lessPeter Elliott
GNU less has a pretty cool prompt format language. This patch adds support for the language and specifiers for filename, linenumber, and ending.
2021-07-07Userland: Add less, a better terminal pagerPeter Elliott
less is a re-implementation of gnu less, a terminal pager with backwards scrolling and alternate screen support.
2021-07-07test-pthread: Add a mutex testSergey Bugaev
2021-07-07LibC+LibPthread: Use FUTEX_PRIVATE_FLAG in more placesSergey Bugaev
Performance go brrrrr
2021-07-07GameOfLife: Properly switch between play and pause iconnetworkException
The play and pause icon were previously set on the toggle Action and not on the Button of the Action that is part of the Toolbar
2021-07-07Assistant: Compare two chars instead of StringViews of length 1Yuval Tasher
2021-07-07WindowServer: Allow windows to be pinnable (always on top)Andres Crucitti
This patch adds the concept of a window being "Pinnable" (always drawn on top of other windows). This can be toggled through a new checkable action in the top left corner's window menu.
2021-07-07Kernel: Custody::absolute_path() => try_create_absolute_path()Max Wipfli
This converts most users of Custody::absolute_path() to use the new try_create_absolute_path() API, and return ENOMEM if the KString allocation fails.
2021-07-07Kernel: Add formatter function for OwnPtr<KString>Max Wipfli
This adds a formatter function for OwnPtr<KString>. This is added mainly because lots of dbgln() statements generate Strings (such as absolute paths) which are only used for debugging. Instead of catching possible OOM situations at all the dbgln() callsites, this makes it possible to let the formatter code handle those situations by outputting "[out of memory]" if the OwnPtr is null.
2021-07-07Kernel: Add Custody::try_create_absolute_path()Max Wipfli
This adds a way to get a Custody's absolute path as KString, which enables it to fail gracefully on OOM.
2021-07-07Kernel: Add KLexicalPath::try_join and use itMax Wipfli
This adds KLexicalPath::try_join(). As this cannot be done without allocation, it uses KString and can fail. This patch also uses it at one place. All the other cases of String::formatted("{}/{}", ...) currently rely on the return value being a String, which means they cannot easily be converted to use the new API.
2021-07-07Kernel: Replace usage of LexicalPath with KLexicalPathMax Wipfli
This replaces all uses of LexicalPath in the Kernel with the functions from KLexicalPath. This also allows the Kernel to stop including AK::LexicalPath.
2021-07-07Kernel: Add KLexicalPathMax Wipfli
This adds KLexicalPath, which are a few static functions which aim to mostly emulate AK::LexicalPath. They are however constrained to work with absolute paths only, containing no '.' or '..' path segments and no consecutive slashes. This way, it is possible to avoid use StringView for the return values and thus avoid allocating new String objects. As explained above, the functions are currently very strict about the allowed input paths. This seems to not be a problem currently. Since the functions VERIFY this, potential bugs caused by this will become immediately obvious.
2021-07-07Tests: Build all tests on x86_64Gunnar Beutner
This builds some previously-disabled tests for x86_64.
2021-07-07LibGUI: Use east const style in InputBox.{cpp,h}networkException
2021-07-07Browser: Show an example url placeholder in the search engine InputBoxnetworkException
This makes it more clear what the format for a search engine url is :^)
2021-07-07LibGUI: Allow InputBox to show placeholdernetworkException
If passed as an argument, showing an InputBox now supports to set a placeholder text which will be shown in its TextBox.
2021-07-07LibGUI: Draw the placeholder of a TextEditor also when it is focusednetworkException
Previously focusing a TextEditor would cause the placeholder to disapper. This is unpractical editors that get focused automatically for example.
2021-07-07Kernel: Stop building ctype.cpp into the KernelMax Wipfli
Since AK no longer includes ctype.h, we don't have to build ctype.cpp in the Kernel anymore.
2021-07-07AK: Replace usages of ctype.h with CharacterTypes.hMax Wipfli
This replaces all remaining usages of ctype.h in AK with CharacterTypes.h.
2021-07-07PixelPaint: Make SprayTool only invalidate the modified area :^)Andreas Kling
2021-07-07PixelPaint: Make BrushTool only invalidate the modified area :^)Andreas Kling
2021-07-07LibGfx: Small improvements to fill_rect_with_checkerboard()Andreas Kling
- Clamp the checkerboard scanline prologue length to the total width of the (clipped) rect we're filling. - Use fast_u32_fill() for the prologue and epilogue as well.
2021-07-07PixelPaint: Make PenTool only invalidate the modified area :^)Andreas Kling