summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-12-27Playground: Pre-populate the text editor with some GMLLinus Groh
The text editor is now populated with some very basic GML after startup: @GUI::Widget { layout: @GUI::VerticalBoxLayout { } // Now add some widgets! } Less typing, less intimidating! :^)
2020-12-27Base: Add Playground.afLinus Groh
2020-12-27LibCore: Add Object::remove_all_children()Linus Groh
2020-12-27Kernel: Allow sys$rename() to rename symlinksAndreas Kling
Previously, this syscall would try to rename the target of the link, not the link itself.
2020-12-27Base: Flip shortcut emblem icons horizontallyAndreas Kling
Make the little arrows point towards the large icon instead of away from it. This feels like an obviously better visual clue that they're pointers *to* something.
2020-12-27Terminal: Tweak settings window layout slightlyAndreas Kling
Make it a little taller so we can see the focus rect around the radio buttons when they are focused.
2020-12-27Base: Add some default desktop iconsAndreas Kling
I just picked three apps at random: Browser, TextEditor and Help. This should make it a bit more visible that we have a working desktop.
2020-12-27FileManager: Layout the desktop icons from top-to-bottom :^)Andreas Kling
This looks way nicer than left-to-right!
2020-12-27LibGUI: Support top-to-bottom flow in IconViewAndreas Kling
Sometimes you might want your icons to flow from top-to-bottom instead of from left-to-right. :^)
2020-12-27LibGUI: Move some large IconView internal helpers to the .cpp fileAndreas Kling
Stuff that's only used internally by the class is nice to keep out of the header when possible.
2020-12-27Kernel: Tag more methods and types as [[nodiscard]]Brian Gianforcaro
Tag methods at where not obvserving the return value is an obvious error with [[nodiscard]] to catch potential future bugs.
2020-12-27AK: Add NO_DISCARD macro to allow clang-format friendly class annotationsBrian Gianforcaro
clang-format seems to barf on these attributes, to make it easier to use these attributes and have clang-format not mangle the following code we can hide them behind a macro so clang-format doesn't have to handle it.
2020-12-27Documentation: Update macOS build instructions cask invocation (#4561)Nathan Lanza
brew deprecated `brew cask` and requires `brew install --cask` instead
2020-12-27Kernel: Take into account the time keeper's frequency (if no HPET)Tom
The PIT is now also running at a rate of ~250 ticks/second, so rather than assuming there are 1000 ticks/second we need to query the timer being used for the actual frequency. Fixes #4508
2020-12-27Kernel: Remove the per-process icon_id and sys$set_process_icon()Andreas Kling
This was a goofy kernel API where you could assign an icon_id (int) to a process which referred to a global shbuf with a 16x16 icon bitmap inside it. Instead of this, programs that want to display a process icon now retrieve it from the process executable instead.
2020-12-27LibGUI: Use FileIconProvider in RunningProcessesModelAndreas Kling
This was the last remaining client of the per-process icon_id.
2020-12-27SystemMonitor: Fetch process icons from their executableAndreas Kling
Instead of using the extremely hackish icon_id field in /proc/all, we now retrieve process icons from their executable by using GUI::FileIconProvider.
2020-12-27Kernel: Expose process executable paths in /proc/allAndreas Kling
2020-12-27Kernel: Lock target process when generating core dumpAndreas Kling
Dumping core can happen at the end of a profiling run, and in that case we have to protect the target process and take the lock while iterating over its region map. Fixes #4509.
2020-12-27paste: Don't read past clipboard data buffer sizeLinus Groh
ByteBuffer is not null-terminated (anymore), this is another one of those bugs. Also use the new format functions while we're here. Fixes #4558.
2020-12-26Kernel: Remove subheap from list before removing memoryTom
When the ExpandableHeap calls the remove_memory function, the subheap is assumed to be removed and freed entirely. remove_memory may drop the underlying memory at any time, but it also may cause further allocation requests. Not removing it from the list before calling remove_memory could cause a memory allocation in that subheap while remove_memory is executing. which then causes issues once the underlying memory is actually freed.
2020-12-26DevTools: Add a simple GML Playground application :^)Andreas Kling
This app allows you to edit GML and see the results live. Pretty cool!
2020-12-26CMake: Generate SONAME attribute for shared objectsItamar
Previosuly, generation of the SONAME attribute was disabled. This caused libraries to have relative paths in DT_NEEDED attributes (e.g "Libraries/libcore.so" instead of just "libcore.so"), which caused build errors when the working directory during build was not $SERENITY_ROOT/Build. This caused the build of ports that use libraries other than libc.so to fail (e.g the nesalizer port). Closes #4457
2020-12-26Kernel: Allow 'elevating' unveil permissions if implicitly inherited from '/'AnotherTest
This can happen when an unveil follows another with a path that is a sub-path of the other one: ```c++ unveil("/home/anon/.config/whoa.ini", "rw"); unveil("/home/anon", "r"); // this would fail, as "/home/anon" inherits // the permissions of "/", which is None. ```
2020-12-26LibTLS: Fix TLS breakage after ByteBuffer => Span conversionAndreas Kling
Oops, I accidentally shadowed the outer scope's "decrypted" ByteBuffer which caused us to throw away the buffer too early. Fixes #4533.
2020-12-26LibGUI: Make the LinkLabel widget keyboard-friendlyAndreas Kling
Make it tab-focusable and activate it with the return key. :^)
2020-12-26MenuApplets: Username: init app early, pledge early, do not unveil /tmpBrendan Coles
2020-12-26SystemServer: Set HOME for servicesSergey Bugaev
Fixes https://github.com/SerenityOS/serenity/issues/4484
2020-12-26SystemServer: Port to Core::AccountSergey Bugaev
We now have a handy Core::Account class that we can use instead of iterating over the passwd database ourselves.
2020-12-26LibGUI: Set LinkLabel tooltip if text can't fit the widgetAndreas Kling
We were setting a tooltip when the text overflowed the *window* width, make this more general by basing it on the *widget* width.
2020-12-26LibGUI: Tweak GUI::Label API a bit and add did_change_text() virtualAndreas Kling
2020-12-26LibGUI: Minor tweaks to the GUI::LinkLabelAndreas Kling
Remove some unnecessary includes and make the constructor private.
2020-12-26LibGUI: Rename Link => LinkLabelAndreas Kling
2020-12-26Profiler: Show the name & PID of process being profiledAndreas Kling
Also tweak the GUI a little bit to look nicer.
2020-12-26AK: Fix busted Trie testAnotherTest
This wasn't testing anything ^^'
2020-12-26AK: Make AK::IsSame<T, U>::value a constexpr boolAnotherTest
It being an enum value was preventing it from being used without `!!` in requires clauses (bool also makes more sense anyway).
2020-12-26Kernel: Implement unveil() as a prefix-treeAnotherTest
Fixes #4530.
2020-12-26AK: Add a prefix tree implementationAnotherTest
`AK::Trie` can be keyed by any given hashable type, and can store any metadata (including nothing at all). Also adds a test.
2020-12-26Meta: Make lint-shell-scripts.sh happyAnotherTest
`${FAILURES}` -> `"${FAILURES}"`
2020-12-26Profiler: Show a GUI message box with the error when profiling failsAndreas Kling
This came up in @jonathandturner's video walking through the system and playing with things: https://www.youtube.com/watch?v=TtV86uL5oD4 At one point, he tried profiling his Terminal app, and since the Terminal was completely idle while profiling, no samples were captured and there was no profile to show. Make sure we propagate any error when loading the profile, and show it in a GUI message box instead of stderr. :^)
2020-12-26Everywhere: void arguments to C functionsLenny Maiorani
Problem: - C functions with no arguments require a single `void` in the argument list. Solution: - Put the `void` in the argument list of functions in C header files.
2020-12-26LibC: Enable compiler warnings for scanf and strftime format stringsSahan Fernando
2020-12-26Everywhere: Add -Wformat=2 to buildSahan Fernando
2020-12-26LibC: Fix some incorrect printf usagesSahan Fernando
2020-12-26LibC: Enable compiler warnings for printf format stringsSahan Fernando
2020-12-26Kernel: Reset the process dumpable flag on successful non-setid execAndreas Kling
Once we've committed to a new memory layout and non-setid credentials, we can reset the dumpable flag.
2020-12-26TextEditor+HexEditor: Tweak dirty document warning messagesAndreas Kling
2020-12-26LaunchServer: Remove icons from LaunchServer::HandlerLinus Groh
2020-12-26LibDesktop: Remove icons from Desktop::Launcher::DetailsLinus Groh
2020-12-26FileManager: Fix missing launch action iconsLinus Groh
I missed this when updating everything to use GUI::FileIconProvider rather than loading icons from .af files, it broke as a result as none of them have icon info anymore. :^)