summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-05-15LibVT: Move out the Line class from Terminal to its own classAndreas Kling
2020-05-15LibCore: Fix timer expiration processingSergey Bugaev
The previous code did not account for the case when there are timers present, but none are enabled, and used a zero polling timeout. Fixes https://github.com/SerenityOS/serenity/issues/2222
2020-05-15ProfileViewer: Fix opening the kernel imageSergey Bugaev
The kernel image is now at /boot/Kernel (not /boot/kernel), so adjust the paths accordingly.
2020-05-15Shell: Correct program stop behaviourAnotherTest
Prior to this, we would only wait for program exit; the shell should stop waiting once the program has been stopped. Fixes #2230
2020-05-15LibJS: Add side-effect-free version of Value::to_string()Andreas Kling
There are now two API's on Value: - Value::to_string(Interpreter&) -- may throw. - Value::to_string_without_side_effects() -- will never throw. These are some pretty big sweeping changes, so it's possible that I did some part the wrong way. We'll work it out as we go. :^) Fixes #2123.
2020-05-15AK: StringBuilder with 0 initial capacity shouldn't build null StringAndreas Kling
With 0 initial capacity, we don't allocate an underlying ByteBuffer for the StringBuilder, which would then lead to a null String() being returned from to_string(). This patch makes sure we always build a valid String.
2020-05-15Docs: Update required clang-format version to 10 in CONTRIBUTING.mdLinus Groh
2020-05-15Shell: Print correct errno when execvp() failsSergey Bugaev
Amusingly enough, this was caused by yet another bug.
2020-05-15LibC: Fix execvp() errnoSergey Bugaev
Of course, using dbg() in the middle will change errno (most likely, reset it to zero).
2020-05-15Kernel: Disallow opening socket filesSergey Bugaev
You can still open files that have sockets attached to them from inside the kernel via VFS::open() (and in fact, that is what LocalSocket itslef uses), but trying to do that from userspace using open() will now fail with ENXIO.
2020-05-15Base: Allow NotificationServer to access the ClipboardSergey Bugaev
Otherwise it fails to even start.
2020-05-15Clipboard: Remove accidentally commited fileSergey Bugaev
2020-05-15Build: Ask GCC to always emit colorful diagnosticsSergey Bugaev
2020-05-15Build: Allow using CMake 3.16Sergey Bugaev
Because apparently that's what a lot of people have, and they report it works fine.
2020-05-15Clipboard: Add missing copyright headerAndreas Kling
2020-05-15js: Throw a regular SyntaxError for errors from the parserLinus Groh
2020-05-15LibJS: Let parser keep track of errorsLinus Groh
Rather than printing them to stderr directly the parser now keeps a Vector<Error>, which allows the "owner" of the parser to consume them individually after parsing. The Error struct has a message, line number, column number and a to_string() helper function to format this information into a meaningful error message. The Function() constructor will now include an error message when throwing a SyntaxError.
2020-05-15LibJS: Remove syntax errors from lexerLinus Groh
Giving the lexer the ability to generate errors adds unnecessary complexity - also it only calls its syntax_error() function in one place anyway ("unterminated string literal"). But since the lexer *also* emits tokens like Eof or UnterminatedStringLiteral, it should be up to the consumer of these tokens to decide what to do. Also remove the option to not print errors to stderr as that's not relevant anymore.
2020-05-15LibCore: Make IODevice::can_read_line() constAnotherTest
This also makes LibHTTP's Job::can_read_line() const, as IODevice was keeping that from being const. Fixes #2219
2020-05-15Meta: Updated BuildInstructions.md for the cmake updateDexesTTP
List of changes: - The cmake command has been moved away from the main build instructions since the BuildIt script executes it automatically - The ninja install has been clarified to take the BuildIt script into account and explain that the folder needs to be cleaned before executing cmake - The ports instructions have been updated to use the make commands - "brew install bash" has been added to the macOS prerequisites as per #2132 - The build instructions headers have been indented to group the prerequisites together - The build instructions code snippets have been standardized into code blocks - Fixed a typo
2020-05-15Meta: Updated CodingStyle.md clang-format requirement from 8 to 10DexesTTP
Fixes #2213
2020-05-15LibGUI: Fix build (LibGUI depends on Clipboard IPC classes)Andreas Kling
2020-05-15ps: Widen the username column slightlyAndreas Kling
2020-05-14Clipboard: Move the system clipboard to a dedicated service process :^)Andreas Kling
This commit moves the clipboard from WindowServer into a new Clipboard service program. Clipboard runs as the unprivileged "clipboard" user and with a much tighter pledge than WindowServer. To keep things working as before, all GUI::Application users now make a connection to Clipboard after making the connection to WindowServer. It could be interesting to connect to Clipboard on demand, but right now that would necessitate expanding every GUI app's pledge to include "unix" and also unveiling the clipboard portal, which I prefer not to.
2020-05-14AK: Make FileSystemPath::extension() return what's after the last '.'Andreas Kling
2020-05-14open: Create a Core::EventLoop before using Desktop::LauncherAndreas Kling
We can't talk to IPC servers without having an event loop.
2020-05-14Build: Switch to CMake :^)Sergey Bugaev
Closes https://github.com/SerenityOS/serenity/issues/2080
2020-05-14PaintBrush: Added 'Move active layer up/down' to the MenuPierre
This allowes the active layer to be moved up or down.
2020-05-14PaintBrush: Add 'Remove active layer' to the MenuPierre
This allows the active Layer to be removed through the Menu or by using the shortcut Ctrl+D.
2020-05-14LibUnwind: Create UnwindBase.h to capture the EH ABI in codeAndrew Kaster
The header is essentially just a commented + annotated version of both the Itanium Exception Handling ABI Level I, and the 386-specific SystemV ABI for the same. Wrapping one's head around the spec is half the work :^)
2020-05-14LibWeb: Support the :root pseudo classLinus Groh
2020-05-14LibWeb: Make CSS pseudo classes case-insensitiveLinus Groh
2020-05-13PaintBrush: Start the app with an "empty" single layer image :^)Andreas Kling
2020-05-13PaintBrush: Add "Delete layer" action to move tool context menuAndreas Kling
2020-05-13PaintBrush: Tweak initial main window sizeAndreas Kling
2020-05-13PaintBrush: Add move tool context menu with "move to back/front"Andreas Kling
Tools can now have an in-image context menu which you get when right- clicking inside the image editing area. Our first use of this is to provide the ability to move layers to the back/front. :^)
2020-05-13PaintBrush: Tool::on_contextmenu() => on_tool_button_context_menu()Andreas Kling
2020-05-13PaintBrush: Activate tool properly when right-clicking tool buttonAndreas Kling
If we don't go via the action, the tool button becomes checked which can bypass the exclusivity mechanism. That should probably also be fixed but it's far outside the scope of where I am right now. :^)
2020-05-13PaintBrush: Switch the active layer when clicking one with move toolAndreas Kling
This feels very intuitive and nice, although maybe we need some way to override this behavior for the scenario where you're intending to move something currently behind something else.
2020-05-13PaintBrush: Draw an outline around the image boundariesAndreas Kling
2020-05-13PaintBrush: Add keyboard shortcuts for selecting different layersAndreas Kling
2020-05-13LibGUI: Add AbstractTableView::move_selection(int steps)Andreas Kling
This allows embedders to step the selection up/down and also simplifies AbstractTableView by sharing code between Key_Up and Key_Down. :^)
2020-05-13PaintBrush: Add "Create new layer..." actionAndreas Kling
This action pops up a dialog asking for a name + dimensions. If OK is clicked, you get a new layer with those specifications. :^)
2020-05-13PaintBrush: Clip layer contents outside the image rect when compositingAndreas Kling
2020-05-13LibGUI: Add GUI::MessageBox::show_error() convenience functionAndreas Kling
This is just a wrapper around show() that puts up a standard-looking error message.
2020-05-13PaintBrush: Don't paint over the nice GUI::Frame around ImageEditorAndreas Kling
2020-05-13PaintBrush: Add a "Tool" menu and put all the tools in itAndreas Kling
2020-05-13LibWeb: Support "transparent" CSS color valueLinus Groh
2020-05-13LibWeb: Make parsing of most CSS values case-insensitiveLinus Groh
These are all valid: width: AUTO; height: 10PX; color: LiMeGrEeN;
2020-05-13LibWeb: Make CSS property parsing case-insensitiveLinus Groh
These are all valid: background-COLOR: red; Background-Color: red; BACKGROUND-COLOR: red; BaCkGrOuNd-CoLoR: red;